Commit fc54c7fa0addfc0e33b703be0502395920d2926b
Committed by
Andy Fleming
1 parent
81fa73bab0
Exists in
master
and in
54 other branches
powerpc/corenet_ds: Update README and README.srio-pcie-boot-corenet
Added descriptions about boot from PCIE in the files README and doc/README.srio-pcie-boot-corenet, and changed the name of the doc/README.srio-boot-corenet to doc/README.srio-pcie-boot-corenet. Signed-off-by: Liu Gang <Gang.Liu@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
Showing 3 changed files with 118 additions and 105 deletions Side-by-side Diff
README
... | ... | @@ -3092,12 +3092,12 @@ |
3092 | 3092 | These two #defines specify the address and size of the |
3093 | 3093 | environment area within the remote memory space. The |
3094 | 3094 | local device can get the environment from remote memory |
3095 | - space by SRIO or other links. | |
3095 | + space by SRIO or PCIE links. | |
3096 | 3096 | |
3097 | 3097 | BE CAREFUL! For some special cases, the local device can not use |
3098 | 3098 | "saveenv" command. For example, the local device will get the |
3099 | -environment stored in a remote NOR flash by SRIO link, but it can | |
3100 | -not erase, write this NOR flash by SRIO interface. | |
3099 | +environment stored in a remote NOR flash by SRIO or PCIE link, | |
3100 | +but it can not erase, write this NOR flash by SRIO or PCIE interface. | |
3101 | 3101 | |
3102 | 3102 | - CONFIG_ENV_IS_IN_NAND: |
3103 | 3103 | |
... | ... | @@ -3538,9 +3538,9 @@ |
3538 | 3538 | - CONFIG_SYS_QE_FMAN_FW_IN_REMOTE |
3539 | 3539 | Specifies that QE/FMAN firmware is located in the remote (master) |
3540 | 3540 | memory space. CONFIG_SYS_FMAN_FW_ADDR is a virtual address which |
3541 | - can be mapped from slave TLB->slave LAW->slave SRIO outbound window | |
3542 | - ->master inbound window->master LAW->the ucode address in master's | |
3543 | - NOR flash. | |
3541 | + can be mapped from slave TLB->slave LAW->slave SRIO or PCIE outbound | |
3542 | + window->master inbound window->master LAW->the ucode address in | |
3543 | + master's memory space. | |
3544 | 3544 | |
3545 | 3545 | Building the Software: |
3546 | 3546 | ====================== |
doc/README.srio-boot-corenet
1 | ------------------------------- | |
2 | -SRIO Boot on Corenet Platforms | |
3 | ------------------------------- | |
4 | - | |
5 | -For some PowerPC processors with SRIO interface, boot location can be configured | |
6 | -to SRIO by RCW. The processor booting from SRIO can do without flash for u-boot | |
7 | -image, ucode and ENV. All the images can be fetched from another processor's | |
8 | -memory space by SRIO link connected between them. | |
9 | - | |
10 | -This document describes the processes based on an example implemented on P4080DS | |
11 | -platforms and a RCW example with boot from SRIO configuration. | |
12 | - | |
13 | -Environment of the SRIO boot: | |
14 | - a) Master and slave can be SOCs in one board or SOCs in separate boards. | |
15 | - b) They are connected with SRIO links, whether 1x or 4x, and directly or | |
16 | - through switch system. | |
17 | - c) Only Master has NorFlash for booting, and all the Master's and Slave's | |
18 | - U-Boot images, UCodes will be stored in this flash. | |
19 | - d) Slave has its own EEPROM for RCW and PBI. | |
20 | - e) Slave's RCW should configure the SerDes for SRIO boot port, set the boot | |
21 | - location to SRIO, and holdoff all the cores. | |
22 | - | |
23 | - ---------- ----------- ----------- | |
24 | - | | | | | | | |
25 | - | | | | | | | |
26 | - | NorFlash|<----->| Master | SRIO | Slave |<---->[EEPROM] | |
27 | - | | | |<===========>| | | |
28 | - | | | | | | | |
29 | - ---------- ----------- ----------- | |
30 | - | |
31 | -The example based on P4080DS platform: | |
32 | - Two P4080DS platforms can be used to implement the boot from SRIO. Their SRIO | |
33 | - ports 1 will be connected directly and will be used for the boot from SRIO. | |
34 | - | |
35 | - 1. Slave's RCW example for boot from SRIO port 1 and all cores in holdoff. | |
36 | - 00000000: aa55 aa55 010e 0100 0c58 0000 0000 0000 | |
37 | - 00000010: 1818 1818 0000 8888 7440 4000 0000 2000 | |
38 | - 00000020: f440 0000 0100 0000 0000 0000 0000 0000 | |
39 | - 00000030: 0000 0000 0083 0000 0000 0000 0000 0000 | |
40 | - 00000040: 0000 0000 0000 0000 0813 8040 063c 778f | |
41 | - | |
42 | - 2. Sequence in Step by Step. | |
43 | - a) Update RCW for slave with boot from SRIO port 1 configuration. | |
44 | - b) Program slave's U-Boot image, UCode, and ENV parameters into master's | |
45 | - NorFlash. | |
46 | - c) Set environment variable "bootmaster" to "SRIO1" and save environment | |
47 | - for master. | |
48 | - setenv bootmaster SRIO1 | |
49 | - saveenv | |
50 | - d) Restart up master and it will boot up normally from its NorFlash. | |
51 | - Then, it will finish necessary configurations for slave's boot from | |
52 | - SRIO port 1. | |
53 | - e) Master will set inbound SRIO windows covered slave's U-Boot image stored | |
54 | - in master's NorFlash. | |
55 | - f) Master will set an inbound SRIO window covered slave's UCode and ENV | |
56 | - stored in master's NorFlash. | |
57 | - g) Master will set outbound SRIO windows in order to configure slave's | |
58 | - registers for the core's releasing. | |
59 | - h) Since all cores of slave in holdoff, slave should be powered on before all | |
60 | - the above master's steps, and wait to be released by master. In the | |
61 | - startup phase of the slave from SRIO, it will finish some necessary | |
62 | - configurations. | |
63 | - i) Slave will set a specific TLB entry for the boot process. | |
64 | - j) Slave will set a LAW entry with the TargetID SRIO port 1 for the boot. | |
65 | - k) Slave will set a specific TLB entry in order to fetch UCode and ENV | |
66 | - from master. | |
67 | - l) Slave will set a LAW entry with the TargetID SRIO port 1 for UCode and ENV. | |
68 | - | |
69 | -How to use this feature: | |
70 | - To use this feature, you need to focus those points. | |
71 | - | |
72 | - 1. Slave's RCW with SRIO boot configurations, and all cores in holdoff | |
73 | - configurations. | |
74 | - Please refer to the examples given above. | |
75 | - | |
76 | - 2. U-Boot image's compilation. | |
77 | - For master, U-Boot image should be generated normally. | |
78 | - | |
79 | - For example, master U-Boot image used on P4080DS should be compiled with | |
80 | - | |
81 | - make P4080DS_config. | |
82 | - | |
83 | - For slave, U-Boot image should be generated specifically by | |
84 | - | |
85 | - make xxxx_SRIOBOOT_SLAVE_config. | |
86 | - | |
87 | - For example, slave U-Boot image used on P4080DS should be compiled with | |
88 | - | |
89 | - make P4080DS_SRIOBOOT_SLAVE_config. | |
90 | - | |
91 | - 3. Necessary modifications based on a specific environment. | |
92 | - For a specific environment, the addresses of the slave's U-Boot image, | |
93 | - UCode, ENV stored in master's NorFlash, and any other configurations | |
94 | - can be modified in the file: | |
95 | - include/configs/corenet_ds.h. | |
96 | - | |
97 | - 4. Set and save the environment variable "bootmaster" with "SRIO1" or "SRIO2" | |
98 | - for master, and then restart it in order to perform the role as a master | |
99 | - for boot from SRIO. |
doc/README.srio-pcie-boot-corenet
1 | +--------------------------------------- | |
2 | +SRIO and PCIE Boot on Corenet Platforms | |
3 | +--------------------------------------- | |
4 | + | |
5 | +For some PowerPC processors with SRIO or PCIE interface, boot location can be | |
6 | +configured to SRIO or PCIE by RCW. The processor booting from SRIO or PCIE can | |
7 | +do without flash for u-boot image, ucode and ENV. All the images can be fetched | |
8 | +from another processor's memory space by SRIO or PCIE link connected between | |
9 | +them. | |
10 | + | |
11 | +This document describes the processes based on an example implemented on P4080DS | |
12 | +platforms and a RCW example with boot from SRIO or PCIE configuration. | |
13 | + | |
14 | +Environment of the SRIO or PCIE boot: | |
15 | + a) Master and slave can be SOCs in one board or SOCs in separate boards. | |
16 | + b) They are connected with SRIO or PCIE links, whether 1x, 2x or 4x, and | |
17 | + directly or through switch system. | |
18 | + c) Only Master has NorFlash for booting, and all the Master's and Slave's | |
19 | + U-Boot images, UCodes will be stored in this flash. | |
20 | + d) Slave has its own EEPROM for RCW and PBI. | |
21 | + e) Slave's RCW should configure the SerDes for SRIO or PCIE boot port, set | |
22 | + the boot location to SRIO or PCIE, and holdoff all the cores. | |
23 | + | |
24 | + ---------- ----------- ----------- | |
25 | + | | | | | | | |
26 | + | | | | | | | |
27 | + | NorFlash|<----->| Master |SRIO or PCIE | Slave |<---->[EEPROM] | |
28 | + | | | |<===========>| | | |
29 | + | | | | | | | |
30 | + ---------- ----------- ----------- | |
31 | + | |
32 | +The example based on P4080DS platform: | |
33 | + Two P4080DS platforms can be used to implement the boot from SRIO or PCIE. | |
34 | + Their SRIO or PCIE ports 1 will be connected directly and will be used for | |
35 | + the boot from SRIO or PCIE. | |
36 | + | |
37 | + 1. Slave's RCW example for boot from SRIO port 1 and all cores in holdoff. | |
38 | + 00000000: aa55 aa55 010e 0100 0c58 0000 0000 0000 | |
39 | + 00000010: 1818 1818 0000 8888 7440 4000 0000 2000 | |
40 | + 00000020: f440 0000 0100 0000 0000 0000 0000 0000 | |
41 | + 00000030: 0000 0000 0083 0000 0000 0000 0000 0000 | |
42 | + 00000040: 0000 0000 0000 0000 0813 8040 063c 778f | |
43 | + | |
44 | + 2. Slave's RCW example for boot from PCIE port 1 and all cores in holdoff. | |
45 | + 00000000: aa55 aa55 010e 0100 0c58 0000 0000 0000 | |
46 | + 00000010: 1818 1818 0000 8888 1440 4000 0000 2000 | |
47 | + 00000020: f040 0000 0100 0000 0020 0000 0000 0000 | |
48 | + 00000030: 0000 0000 0083 0000 0000 0000 0000 0000 | |
49 | + 00000040: 0000 0000 0000 0000 0813 8040 547e ffc9 | |
50 | + | |
51 | + 3. Sequence in Step by Step. | |
52 | + a) Update RCW for slave with boot from SRIO or PCIE port 1 configuration. | |
53 | + b) Program slave's U-Boot image, UCode, and ENV parameters into master's | |
54 | + NorFlash. | |
55 | + c) Set environment variable "bootmaster" to "SRIO1" or "PCIE1" and save | |
56 | + environment for master. | |
57 | + setenv bootmaster SRIO1 | |
58 | + or | |
59 | + setenv bootmaster PCIE1 | |
60 | + saveenv | |
61 | + d) Restart up master and it will boot up normally from its NorFlash. | |
62 | + Then, it will finish necessary configurations for slave's boot from | |
63 | + SRIO or PCIE port 1. | |
64 | + e) Master will set inbound SRIO or PCIE windows covered slave's U-Boot | |
65 | + image stored in master's NorFlash. | |
66 | + f) Master will set an inbound SRIO or PCIE window covered slave's UCode | |
67 | + and ENV stored in master's NorFlash. | |
68 | + g) Master will set outbound SRIO or PCIE windows in order to configure | |
69 | + slave's registers for the core's releasing. | |
70 | + h) Since all cores of slave in holdoff, slave should be powered on before | |
71 | + all the above master's steps, and wait to be released by master. In the | |
72 | + startup phase of the slave from SRIO or PCIE, it will finish some | |
73 | + necessary configurations. | |
74 | + i) Slave will set a specific TLB entry for the boot process. | |
75 | + j) Slave will set a LAW entry with the TargetID SRIO or PCIE port 1 for | |
76 | + the boot. | |
77 | + k) Slave will set a specific TLB entry in order to fetch UCode and ENV | |
78 | + from master. | |
79 | + l) Slave will set a LAW entry with the TargetID SRIO or PCIE port 1 for | |
80 | + UCode and ENV. | |
81 | + | |
82 | +How to use this feature: | |
83 | + To use this feature, you need to focus those points. | |
84 | + | |
85 | + 1. Slave's RCW with SRIO or PCIE boot configurations, and all cores in holdoff | |
86 | + configurations. | |
87 | + Please refer to the examples given above. | |
88 | + | |
89 | + 2. U-Boot image's compilation. | |
90 | + For master, U-Boot image should be generated normally. | |
91 | + | |
92 | + For example, master U-Boot image used on P4080DS should be compiled with | |
93 | + | |
94 | + make P4080DS_config. | |
95 | + | |
96 | + For slave, U-Boot image should be generated specifically by | |
97 | + | |
98 | + make xxxx_SRIO_PCIE_BOOT_config. | |
99 | + | |
100 | + For example, slave U-Boot image used on P4080DS should be compiled with | |
101 | + | |
102 | + make P4080DS_SRIO_PCIE_BOOT_config. | |
103 | + | |
104 | + 3. Necessary modifications based on a specific environment. | |
105 | + For a specific environment, the addresses of the slave's U-Boot image, | |
106 | + UCode, ENV stored in master's NorFlash, and any other configurations | |
107 | + can be modified in the file: | |
108 | + include/configs/corenet_ds.h. | |
109 | + | |
110 | + 4. Set and save the environment variable "bootmaster" with "SRIO1", "SRIO2" | |
111 | + or "PCIE1", "PCIE2", "PCIE3" for master, and then restart it in order to | |
112 | + perform the role as a master for boot from SRIO or PCIE. |