User Tools

Site Tools


2big_nas

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
2big_nas [2013/07/04 02:24]
hanno
2big_nas [2013/07/04 05:57] (current)
hanno
Line 513: Line 513:
 |DEVICE CS3|16M|0xFF000000|Boot device|0xA|dis| |DEVICE CS3|16M|0xFF000000|Boot device|0xA|dis|
  
 +Wish I found this earlier (kirkwood/​cpu.c):​ Linux expects the internal registers to be at 0xF1000000
  
-Bloody hell... +Internal registers base address is set in register offset 0x20080 (arch-kirkwood/​kirkwood.h): i.e0xF1020080 = 0xF1000000
-  * #​undef ​ INTER_REGS_BASE +
-  * #define INTER_REGS_BASE ​        ​0xd0000000 +
-  * #define NAND_FLASH_BASE ​        ​0xffff0000 +
-  * #define BOOTER_PAGE_NUM ​        2 +
-  * #define BOOTER_BASE ​            ​0x00020000 + PAGE_SIZE +
-  * #define BOOTER_END ​         (BOOTER_BASE + (BOOTER_PAGE_NUM * PAGE_SIZE)) +
-  * #define NAND_CMD_PORT ​      (0x1 << (NFLASH_DEV_WIDTH >> 4)) +
-  * #define NAND_ADDR_PORT ​     (0x2 << (NFLASH_DEV_WIDTH >> 4)) +
-  * #define NUM_BLOCKS ​             2048 +
-  * #define PAGES_PER_BLOCK ​        64 +
-  * #define PAGE_SIZE ​              ​2048 ​    /* Bytes */ +
-  * #define SPARE_SIZE ​             64 +
-  * #define CFG_NAND_PAGE_SIZE ​     (2048) ​         /* NAND chip page size          */ +
-  * #define CFG_NAND_BLOCK_SIZE ​    (128 << 10)     /* NAND chip block size         */ +
-  * #define CFG_NAND_PAGE_COUNT ​    ​(64) ​           /* NAND chip page count         */ +
-  * #define CFG_NAND_BAD_BLOCK_POS ​ (0)             /* Location of bad block marker */ +
-  * #define CFG_NAND_U_BOOT_OFFS ​   CFG_MONITOR_BASE ​       /* Offset to U-Boot image       */ +
-  * #define CFG_NAND_U_BOOT_SIZE ​   CFG_MONITOR_LEN /* Size of RAM U-Boot image     */ +
-  * #define CFG_NAND_U_BOOT_DST ​    ​CFG_MONITOR_IMAGE_DST ​  /* Load NUB to this addr        */ +
-  * #define CFG_NAND_U_BOOT_START ​  ​CFG_NAND_U_BOOT_DST /* Start NUB from this addr */+
  
-= Trying to find ENV in NAND = 
- 
-  I think it uses /* Use the new NAND code. */ in mv_kw.h 
-  And it also #undef CFG_ENV_IS_IN_FLASH which is interesting... 
-  Think only need ENV_SIZE and ENV_OFFSET when in NAND 
- 
-  #define CFG_ENV_OFFSET 0xA0000 (640 << 10) /* environment starts here  */ 
-  #define CFG_ENV_SECT_SIZE 0x20000 (128 << 10) /* environment take 1 block */ 
-  #define CFG_ENV_SIZE 0x20000 (CFG_ENV_SECT_SIZE) /​* environment take 1 block */  
-  #define CFG_NBOOT_BASE 0  
-  #define CFG_NBOOT_LEN 0x01000 (4 << 10) /* Reserved 4KB for boot strap */ 
-  #​define CFG_MONITOR_LEN 0xA0000 (640 << 10) /* Reserve 4 * 128KB + ENV = 640KB for Monitor */ 
-  #define CFG_MONITOR_BASE 0 
-  #define CFG_MONITOR_IMAGE_OFFSET 0 /* offset of the monitor from the u-boot image */ 
-  #define CFG_MONITOR_IMAGE_DST 0x60000?​(TEXT_BASE) /​* Load NUB to this addr */ 
-  #define CFG_ENV_ADDR ​   0xA0000 (CFG_ENV_OFFSET) 
- 
-./​tools/​doimage -T nand -D 0x06000000 -E 0x6070000 -P 2048 -R dramregs_533ddr3_2big_A.txt u-boot-nas2big-revB-2.0.7.bin u-boot-nas2big-revB-2.0.7-nand.kwb 
2big_nas.txt · Last modified: 2013/07/04 05:57 by hanno