diff options
| -rw-r--r-- | README | 12 | ||||
| -rw-r--r-- | doc/README.srio-boot-corenet | 99 | ||||
| -rw-r--r-- | doc/README.srio-pcie-boot-corenet | 112 | 
3 files changed, 118 insertions, 105 deletions
| @@ -3092,12 +3092,12 @@ to save the current settings.  	  These two #defines specify the address and size of the  	  environment area within the remote memory space. The  	  local device can get the environment from remote memory -	  space by SRIO or other links. +	  space by SRIO or PCIE links.  BE CAREFUL! For some special cases, the local device can not use  "saveenv" command. For example, the local device will get the -environment stored in a remote NOR flash by SRIO link, but it can -not erase, write this NOR flash by SRIO interface. +environment stored in a remote NOR flash by SRIO or PCIE link, +but it can not erase, write this NOR flash by SRIO or PCIE interface.  - CONFIG_ENV_IS_IN_NAND: @@ -3538,9 +3538,9 @@ within that device.  - CONFIG_SYS_QE_FMAN_FW_IN_REMOTE  	Specifies that QE/FMAN firmware is located in the remote (master)  	memory space.	CONFIG_SYS_FMAN_FW_ADDR is a virtual address which -	can be mapped from slave TLB->slave LAW->slave SRIO outbound window -	->master inbound window->master LAW->the ucode address in master's -	NOR flash. +	can be mapped from slave TLB->slave LAW->slave SRIO or PCIE outbound +	window->master inbound window->master LAW->the ucode address in +	master's memory space.  Building the Software:  ====================== diff --git a/doc/README.srio-boot-corenet b/doc/README.srio-boot-corenet deleted file mode 100644 index 6a13e9c8d..000000000 --- a/doc/README.srio-boot-corenet +++ /dev/null @@ -1,99 +0,0 @@ ------------------------------- -SRIO Boot on Corenet Platforms ------------------------------- - -For some PowerPC processors with SRIO interface, boot location can be configured -to SRIO by RCW. The processor booting from SRIO can do without flash for u-boot -image, ucode and ENV. All the images can be fetched from another processor's -memory space by SRIO link connected between them. - -This document describes the processes based on an example implemented on P4080DS -platforms and a RCW example with boot from SRIO configuration. - -Environment of the SRIO boot: -	a) Master and slave can be SOCs in one board or SOCs in separate boards. -	b) They are connected with SRIO links, whether 1x or 4x, and directly or -	   through switch system. -	c) Only Master has NorFlash for booting, and all the Master's and Slave's -	   U-Boot images, UCodes will be stored in this flash. -	d) Slave has its own EEPROM for RCW and PBI. -	e) Slave's RCW should configure the SerDes for SRIO boot port, set the boot -	   location to SRIO, and holdoff all the cores. - -	----------        -----------             ----------- -	|		  |       |         |             |         | -	|		  |       |         |             |         | -	| NorFlash|<----->| Master  |    SRIO     |  Slave  |<---->[EEPROM] -	|		  |       |         |<===========>|         | -	|		  |       |         |             |         | -	----------        -----------             ----------- - -The example based on P4080DS platform: -	Two P4080DS platforms can be used to implement the boot from SRIO. Their SRIO -	ports 1 will be connected directly and will be used for the boot from SRIO. - -	1. Slave's RCW example for boot from SRIO port 1 and all cores in holdoff. -		00000000: aa55 aa55 010e 0100 0c58 0000 0000 0000 -		00000010: 1818 1818 0000 8888 7440 4000 0000 2000 -		00000020: f440 0000 0100 0000 0000 0000 0000 0000 -		00000030: 0000 0000 0083 0000 0000 0000 0000 0000 -		00000040: 0000 0000 0000 0000 0813 8040 063c 778f - -	2. Sequence in Step by Step. -		a) Update RCW for slave with boot from SRIO port 1 configuration. -		b) Program slave's U-Boot image, UCode, and ENV parameters into master's -		   NorFlash. -		c) Set environment variable "bootmaster" to "SRIO1" and save environment -		   for master. -					setenv bootmaster SRIO1 -					saveenv -		d) Restart up master and it will boot up normally from its NorFlash. -		   Then, it will finish necessary configurations for slave's boot from -		   SRIO port 1. -		e) Master will set inbound SRIO windows covered slave's U-Boot image stored -		   in master's NorFlash. -		f) Master will set an inbound SRIO window covered slave's UCode and ENV -		   stored in master's NorFlash. -		g) Master will set outbound SRIO windows in order to configure slave's -		   registers for the core's releasing. -		h) Since all cores of slave in holdoff, slave should be powered on before all -		   the above master's steps, and wait to be released by master. In the -		   startup phase of the slave from SRIO, it will finish some necessary -		   configurations. -		i) Slave will set a specific TLB entry for the boot process. -		j) Slave will set a LAW entry with the TargetID SRIO port 1 for the boot. -		k) Slave will set a specific TLB entry in order to fetch UCode and ENV -		   from master. -		l) Slave will set a LAW entry with the TargetID SRIO port 1 for UCode and ENV. - -How to use this feature: -	To use this feature, you need to focus those points. - -	1. Slave's RCW with SRIO boot configurations, and all cores in holdoff -	   configurations. -	   Please refer to the examples given above. - -	2. U-Boot image's compilation. -		For master, U-Boot image should be generated normally. - -		For example, master U-Boot image used on P4080DS should be compiled with - -				make P4080DS_config. - -		For slave, U-Boot image should be generated specifically by - -				make xxxx_SRIOBOOT_SLAVE_config. - -		For example, slave U-Boot image used on P4080DS should be compiled with - -				make P4080DS_SRIOBOOT_SLAVE_config. - -	3. Necessary modifications based on a specific environment. -		For a specific environment, the addresses of the slave's U-Boot image, -		UCode, ENV stored in master's NorFlash, and any other configurations -		can be modified in the file: -					include/configs/corenet_ds.h. - -	4. Set and save the environment variable "bootmaster" with "SRIO1" or "SRIO2" -	   for master, and then restart it in order to perform the role as a master -	   for boot from SRIO. diff --git a/doc/README.srio-pcie-boot-corenet b/doc/README.srio-pcie-boot-corenet new file mode 100644 index 000000000..cd7e7ee9b --- /dev/null +++ b/doc/README.srio-pcie-boot-corenet @@ -0,0 +1,112 @@ +--------------------------------------- +SRIO and PCIE Boot on Corenet Platforms +--------------------------------------- + +For some PowerPC processors with SRIO or PCIE interface, boot location can be +configured to SRIO or PCIE by RCW. The processor booting from SRIO or PCIE can +do without flash for u-boot image, ucode and ENV. All the images can be fetched +from another processor's memory space by SRIO or PCIE link connected between +them. + +This document describes the processes based on an example implemented on P4080DS +platforms and a RCW example with boot from SRIO or PCIE configuration. + +Environment of the SRIO or PCIE boot: +	a) Master and slave can be SOCs in one board or SOCs in separate boards. +	b) They are connected with SRIO or PCIE links, whether 1x, 2x or 4x, and +	   directly or through switch system. +	c) Only Master has NorFlash for booting, and all the Master's and Slave's +	   U-Boot images, UCodes will be stored in this flash. +	d) Slave has its own EEPROM for RCW and PBI. +	e) Slave's RCW should configure the SerDes for SRIO or PCIE boot port, set +	   the boot location to SRIO or PCIE, and holdoff all the cores. + +	----------        -----------             ----------- +	|		  |       |         |             |         | +	|		  |       |         |             |         | +	| NorFlash|<----->| Master  |SRIO or PCIE |  Slave  |<---->[EEPROM] +	|		  |       |         |<===========>|         | +	|		  |       |         |             |         | +	----------        -----------             ----------- + +The example based on P4080DS platform: +	Two P4080DS platforms can be used to implement the boot from SRIO or PCIE. +	Their SRIO or PCIE ports 1 will be connected directly and will be used for +	the boot from SRIO or PCIE. + +	1. Slave's RCW example for boot from SRIO port 1 and all cores in holdoff. +		00000000: aa55 aa55 010e 0100 0c58 0000 0000 0000 +		00000010: 1818 1818 0000 8888 7440 4000 0000 2000 +		00000020: f440 0000 0100 0000 0000 0000 0000 0000 +		00000030: 0000 0000 0083 0000 0000 0000 0000 0000 +		00000040: 0000 0000 0000 0000 0813 8040 063c 778f + +	2. Slave's RCW example for boot from PCIE port 1 and all cores in holdoff. +		00000000: aa55 aa55 010e 0100 0c58 0000 0000 0000 +		00000010: 1818 1818 0000 8888 1440 4000 0000 2000 +		00000020: f040 0000 0100 0000 0020 0000 0000 0000 +		00000030: 0000 0000 0083 0000 0000 0000 0000 0000 +		00000040: 0000 0000 0000 0000 0813 8040 547e ffc9 + +	3. Sequence in Step by Step. +		a) Update RCW for slave with boot from SRIO or PCIE port 1 configuration. +		b) Program slave's U-Boot image, UCode, and ENV parameters into master's +		   NorFlash. +		c) Set environment variable "bootmaster" to "SRIO1" or "PCIE1" and save +		   environment for master. +					setenv bootmaster SRIO1 +				or +					setenv bootmaster PCIE1 +					saveenv +		d) Restart up master and it will boot up normally from its NorFlash. +		   Then, it will finish necessary configurations for slave's boot from +		   SRIO or PCIE port 1. +		e) Master will set inbound SRIO or PCIE windows covered slave's U-Boot +		   image stored in master's NorFlash. +		f) Master will set an inbound SRIO or PCIE window covered slave's UCode +		   and ENV stored in master's NorFlash. +		g) Master will set outbound SRIO or PCIE  windows in order to configure +		   slave's registers for the core's releasing. +		h) Since all cores of slave in holdoff, slave should be powered on before +		   all the above master's steps, and wait to be released by master. In the +		   startup phase of the slave from SRIO or PCIE, it will finish some +		   necessary configurations. +		i) Slave will set a specific TLB entry for the boot process. +		j) Slave will set a LAW entry with the TargetID SRIO or PCIE port 1 for +		   the boot. +		k) Slave will set a specific TLB entry in order to fetch UCode and ENV +		   from master. +		l) Slave will set a LAW entry with the TargetID SRIO or PCIE port 1 for +		   UCode and ENV. + +How to use this feature: +	To use this feature, you need to focus those points. + +	1. Slave's RCW with SRIO or PCIE boot configurations, and all cores in holdoff +	   configurations. +	   Please refer to the examples given above. + +	2. U-Boot image's compilation. +		For master, U-Boot image should be generated normally. + +		For example, master U-Boot image used on P4080DS should be compiled with + +				make P4080DS_config. + +		For slave, U-Boot image should be generated specifically by + +				make xxxx_SRIO_PCIE_BOOT_config. + +		For example, slave U-Boot image used on P4080DS should be compiled with + +				make P4080DS_SRIO_PCIE_BOOT_config. + +	3. Necessary modifications based on a specific environment. +		For a specific environment, the addresses of the slave's U-Boot image, +		UCode, ENV stored in master's NorFlash, and any other configurations +		can be modified in the file: +					include/configs/corenet_ds.h. + +	4. Set and save the environment variable "bootmaster" with "SRIO1", "SRIO2" +	   or "PCIE1", "PCIE2", "PCIE3" for master, and then restart it in order to +	   perform the role as a master for boot from SRIO or PCIE. |