diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/roms/u-boot/doc/README.davinci.nand_spl | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/roms/u-boot/doc/README.davinci.nand_spl')
-rw-r--r-- | qemu/roms/u-boot/doc/README.davinci.nand_spl | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/qemu/roms/u-boot/doc/README.davinci.nand_spl b/qemu/roms/u-boot/doc/README.davinci.nand_spl deleted file mode 100644 index f46721a00..000000000 --- a/qemu/roms/u-boot/doc/README.davinci.nand_spl +++ /dev/null @@ -1,141 +0,0 @@ -With this approach, we don't need the UBL any more on DaVinci boards. -A "make boardname" will compile a u-boot.ubl, with UBL Header, which is -needed for the RBL to find the "UBL", which actually is a UBL-compatible -header, nand spl code and u-boot code. - - -As the RBL uses another read function as the "standard" u-boot, -we need a command, which switches between this two read/write -functions, so we can write the UBL header and the spl -code in a format, which the RBL can read. This is realize -(at the moment in board specific code) in the u-boot command -nandrbl - -nandrbl without arguments returns actual mode (rbl or uboot). -with nandrbl mode (mode = "rbl" or "uboot") you can switch -between the two NAND read/write modes. - - -To set up mkimage you need a config file for mkimage, example: -board/ait/cam_enc_4xx/ublimage.cfg - -For information about the configuration please see: -doc/README.ublimage - -Example for the cam_enc_4xx board: -On the cam_enc_4xx board we have a NAND flash with blocksize = 0x20000 and -pagesize = 0x800, so the u-boot.ubl image (which you get with: -"make cam_enc_4xx") looks like this: - -00000000 00 ed ac a1 20 00 00 00 06 00 00 00 05 00 00 00 |.... ...........| -00000010 00 00 00 00 20 00 00 00 ff ff ff ff ff ff ff ff |.... ...........| -00000020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| -* -00000800 14 00 00 ea 14 f0 9f e5 10 f0 9f e5 0c f0 9f e5 |................| -00000810 08 f0 9f e5 04 f0 9f e5 00 f0 9f e5 04 f0 1f e5 |................| -00000820 00 01 00 00 78 56 34 12 78 56 34 12 78 56 34 12 |....xV4.xV4.xV4.| -[...] -* -00001fe0 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff |................| -00001ff0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| -* -00003800 14 00 00 ea 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 |................| -00003810 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 |................| -00003820 80 01 08 81 e0 01 08 81 40 02 08 81 a0 02 08 81 |........@.......| - -In the first "page" of the image, we have the UBL Header, needed for -the RBL to find the spl code. - -The spl code starts in the second "page" of the image, with a size -defined by: - -#define CONFIG_SYS_NROF_PAGES_NAND_SPL 6 - -After the spl code, there comes the "real" u-boot code -@ (6 + 1) * pagesize = 0x3800 - ------------------------------------------------------------------------- -Setting up spl code: - -/* - * RBL searches from Block n (n = 1..24) - * so we can define, how many UBL Headers - * we write before the real spl code - */ -#define CONFIG_SYS_NROF_UBL_HEADER 5 -#define CONFIG_SYS_NROF_PAGES_NAND_SPL 6 - -#define CONFIG_SYS_NAND_U_BOOT_OFFS ((CONFIG_SYS_NROF_UBL_HEADER * \ - CONFIG_SYS_NAND_BLOCK_SIZE) + \ - (CONFIG_SYS_NROF_PAGES_NAND_SPL) * \ - CONFIG_SYS_NAND_PAGE_SIZE) ------------------------------------------------------------------------- - -Burning into NAND: - -step 1: -The RBL searches from Block n ( n = 1..24) on page 0 for valid UBL -Headers, so you have to burn the UBL header page from the u-boot.ubl -image to the blocks, you want to have the UBL header. -!! Don;t forget to switch to rbl nand read/write functions with - "nandrbl rbl" - -step 2: -You need to setup in the ublimage.cfg, where the RBL can find the spl -code, and how big it is. - -!! RBL always starts reading from page 0 !! - -For the AIT board, we have: -PAGES 6 -START_BLOCK 5 - -So we need to copy the spl code to block 5 page 0 -!! Don;t forget to switch to rbl nand read/write functions with - "nandrbl rbl" - -step 3: -You need to copy the u-boot image to the block/page -where the spl code reads it (CONFIG_SYS_NAND_U_BOOT_OFFS) -!! Don;t forget to switch to rbl nand read/write functions with - "nandrbl uboot", which is default. - -On the cam_enc_4xx board it is: -#define CONFIG_SYS_NAND_U_BOOT_OFFS (0xc0000) - --> this results in following NAND usage on the cam_enc_4xx board: - -addr - -20000 possible UBL Header -40000 possible UBL Header -60000 possible UBL Header -80000 possilbe UBL Header -a0000 spl code -c0000 u-boot code - -The above steps are executeed through the following environment vars: -(using 80000 as address for the UBL header) - -pagesz=800 -uboot=/tftpboot/cam_enc_4xx/u-boot.ubl -load=tftp 80000000 ${uboot} -writeheader nandrbl rbl;nand erase 80000 ${pagesz};nand write 80000000 80000 ${pagesz};nandrbl uboot -writenand_spl nandrbl rbl;nand erase a0000 3000;nand write 80000800 a0000 3000;nandrbl uboot -writeuboot nandrbl uboot;nand erase c0000 5d000;nand write 80003800 c0000 5d000 -update=run load writeheader writenand_spl writeuboot - -If you do a "run load update" u-boot, spl + ubl header -are magically updated ;-) - -Note: -- There seem to be a bug in the RBL code (at least on my HW), - In the UBL block, I can set the page to values != 0, so it - is possible to burn step 1 and step 2 in one step into the - flash, but the RBL ignores the page settings, so I have to - burn the UBL Header to a page 0 and the spl code to - a page 0 ... :-( -- If we make the nand read/write functions in the RBL equal to - the functions in u-boot (as I have no RBL code, it is only - possible in u-boot), we could burn the complete image in - one step ... that would be nice ... |