Update some descriptions due to the implementation changes:
For master:
Get rid of the SRIOBOOT_MASTER build target, and to support
for serving as a SRIO boot master via environment variable.
For slave:
1. When compile the slave image for boot from SRIO, no longer
need to specify which SRIO port it will boot from.
2. All slave's cores should be in hold off.
Signed-off-by: Liu Gang <[email protected]>
---
Changes in v2:
- No.
doc/README.srio-boot-corenet | 70 ++++++++++++++++++++----------------------
1 files changed, 33 insertions(+), 37 deletions(-)
diff --git a/doc/README.srio-boot-corenet b/doc/README.srio-boot-corenet
index 56b094c..6a13e9c 100644
--- a/doc/README.srio-boot-corenet
+++ b/doc/README.srio-boot-corenet
@@ -18,7 +18,7 @@ Environment of the SRIO boot:
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 if needed.
+ location to SRIO, and holdoff all the cores.
---------- ----------- -----------
| | | | | |
@@ -30,63 +30,55 @@ Environment of the SRIO boot:
The example based on P4080DS platform:
Two P4080DS platforms can be used to implement the boot from SRIO.
Their SRIO
- ports 0 will be connected directly and will be used for the boot from
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 0 and core 0 not in
holdoff.
- 00000000: aa55 aa55 010e 0100 0c58 0000 0000 0000
- 00000010: 1818 1818 0000 8888 7440 4000 0000 2000
- 00000020: f400 0000 0100 0000 0000 0000 0000 0000
- 00000030: 0000 0000 0083 0000 0000 0000 0000 0000
- 00000040: 0000 0000 0000 0000 0813 8040 698b 93fe
-
- 2. Slave's RCW example for boot from SRIO port 0 and all cores in
holdoff.
+ 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
- 3. Sequence in Step by Step.
- a) Update RCW for slave with boot from SRIO port 0
configuration.
+ 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) Start up master and it will boot up normally from its
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 0.
- d) Master will set inbound SRIO windows covered slave's U-Boot
image stored
+ SRIO port 1.
+ e) Master will set inbound SRIO windows covered slave's U-Boot
image stored
in master's NorFlash.
- e) Master will set an inbound SRIO window covered slave's UCode
stored in
- master's NorFlash.
- f) Master will set an inbound SRIO window covered slave's ENV
stored in
- master's NorFlash.
- g) If need to release slave's core, master will set outbound
SRIO windows
- in order to configure slave's registers for the core's
releasing.
- h) If 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.
If not all
- cores in holdoff, that means core 0 will start up normally,
slave should
- be powered on after all the above master's steps. In the
startup phase
- of the slave from SRIO, it will finish some necessary
configurations.
+ 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 0 for
the boot.
+ 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 0 for
UCode and ENV.
+ 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 three points.
+ To use this feature, you need to focus those points.
1. Slave's RCW with SRIO boot configurations, and all cores in holdoff
- configurations if needed.
+ configurations.
Please refer to the examples given above.
2. U-Boot image's compilation.
- For master, U-Boot image should be generated specifically by
-
- make xxxx_SRIOBOOT_MASTER_config.
+ For master, U-Boot image should be generated normally.
For example, master U-Boot image used on P4080DS should be
compiled with
- make P4080DS_SRIOBOOT_MASTER_config.
+ make P4080DS_config.
For slave, U-Boot image should be generated specifically by
@@ -97,7 +89,11 @@ How to use this feature:
make P4080DS_SRIOBOOT_SLAVE_config.
3. Necessary modifications based on a specific environment.
- For a specific environment, the SRIO port for boot, 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:
+ 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.
--
1.7.1
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot