summaryrefslogtreecommitdiffstats
path: root/qemu/roms/u-boot/doc/README.ramboot-ppc85xx
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/u-boot/doc/README.ramboot-ppc85xx')
-rw-r--r--qemu/roms/u-boot/doc/README.ramboot-ppc85xx102
1 files changed, 0 insertions, 102 deletions
diff --git a/qemu/roms/u-boot/doc/README.ramboot-ppc85xx b/qemu/roms/u-boot/doc/README.ramboot-ppc85xx
deleted file mode 100644
index 5cc546a36..000000000
--- a/qemu/roms/u-boot/doc/README.ramboot-ppc85xx
+++ /dev/null
@@ -1,102 +0,0 @@
- RAMBOOT for MPC85xx Platforms
- ==============================
-
-RAMBOOT literally means boot from DDR. But since DDR is volatile memory some
-pre-mechanism is required to load the DDR with the bootloader binary.
-- In case of SD and SPI boot this is done by BootROM code inside the chip
- itself.
-- In case of NAND boot FCM supports loading initial 4K code from NAND flash
- which can initialize the DDR and get the complete bootloader copied to DDR.
-
-In addition to the above there could be some more methods to initialize the DDR
-and load it manually.
-Two of them are described below.There is also an explanation as to where these
-methods could be handy.
-1. Load the RAM based bootloader onto DDR via JTAG/BDI interface. And then
- execute the bootloader from DDR.
- This may be handy in the following cases:
- - In very early stage of platform bringup where other boot options are not
- functional because of various reasons.
- - In case the support to program the flashes on the board is not available.
-
-2. Load the RAM based bootloader onto DDR using already existing bootloader on
- the board.And then execute the bootloader from DDR.
- Some usecases where this may be used:
- - While developing some new feature of u-boot, for example USB driver or
- SPI driver.
- Suppose the board already has a working bootloader on it. And you would
- prefer to keep it intact, at the same time want to test your bootloader.
- In this case you can get your test bootloader binary into DDR via tftp
- for example. Then execute the test bootloader.
- - Suppose a platform already has a propreitery bootloader which does not
- support for example AMP boot. In this case also RAM boot loader can be
- utilized.
-
- So basically when the original bootloader is required to be kept intact
- RAM based bootloader can offer an updated bootloader on the system.
-
-Both the above Bootloaders are slight variants of SDcard or SPI Flash
-bootloader or for that matter even NAND bootloader.
-All of them define CONFIG_SYS_RAMBOOT.
-The main difference among all of them is the way the pre-environment is getting
-configured and who is doing that.
-- In case of SD card and SPI flash bootloader this is done by On Chip BootROM inside the Si itself.
-- In case of NAND boot SPL/TPL code does it with some support from Si itself.
-- In case of the pure RAM based bootloaders we have to do it by JTAG manually or already existing bootloader.
-
-How to use them:
-1. Using JTAG
- Boot up in core hold off mode or stop the core after reset using JTAG
- interface.
- Preconfigure DDR/L2SRAM through JTAG interface.
- - setup DDR controller registers.
- - setup DDR LAWs
- - setup DDR TLB
- Load the RAM based boot loader to the proper location in DDR/L2SRAM.
- set up IAR (Instruction counter properly)
- Enable the core to execute.
-
-2. Using already existing bootloader.
- get the rambased boot loader binary into DDR/L2SRAM via tftp.
- execute the RAM based bootloader.
- => tftp 11000000 u-boot-ram.bin
- => go 1107f000
-
-Please note that L2SRAM can also be used instead of DDR if the SOC has
-sufficient size of L2SRAM.
-
-Necessary Code changes Required:
-=====================================
-Please note that below mentioned changes are for 85xx platforms.
-They have been tested on P1020/P2020/P1010 RDB.
-
-The main difference between the above two methods from technical perspective is
-that in 1st case SOC is just out of reset so it is in default configuration.
-(CCSRBAR is at 0xff700000).
-In the 2nd case bootloader has already re-located CCSRBAR to 0xffe00000
-
-1. File name-> boards.cfg
- There can be added specific Make options for RAMBoot. We can keep different
- options for the two cases mentioned above.
- for example
- P1020RDB_JTAG_RAMBOOT and P1020RDB_GO_RAMBOOT.
-
-2. platform config file
- for example include/configs/P1_P2_RDB.h
-
- #ifdef CONFIG_RAMBOOT
- #define CONFIG_SDCARD
- #endif
-
- This will finally use the CONFIG_SYS_RAMBOOT.
-
-3. File name-> arch/powerpc/include/asm/config_mpc85xx.h
- In the section of the particular SOC, for example P1020,
-
- #if defined(CONFIG_GO)
- #define CONFIG_SYS_CCSRBAR_DEFAULT 0xffe00000
- #else
- #define CONFIG_SYS_CCSRBAR_DEFAULT 0xff700000
- #endif
-
-For JTAG RAMBOOT this is not required because CCSRBAR is at ff700000.