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 revisionPrevious revision
2big_nas [2013/07/04 04:24] hanno2big_nas [2013/07/04 07: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 07:57 by hanno