arm, da85x: update for the ipam390 board

- switch to correct ecc layout used by the RBL
  enable CONFIG_NAND_6BYTES_OOB_FREE_10BYTES_ECC
- update default environment
- change A2CR to correct value for UART boot mode
- adapt cs3cfg timings for nand
- change LED bootmode signalization

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@ti.com>
This commit is contained in:
Heiko Schocher 2013-09-06 05:21:24 +02:00 committed by Tom Rini
parent 2fff63c2a5
commit 660a2e650d
3 changed files with 32 additions and 34 deletions

View File

@ -109,7 +109,7 @@ CLK2XSRC = 0x00000000
;NANDFCR = 0x00000000 ;NANDFCR = 0x00000000
[EMIF25ASYNC] [EMIF25ASYNC]
A1CR = 0x00000000 A1CR = 0x00000000
A2CR = 0x3FFFFFFE A2CR = 0x04202110
A3CR = 0x00000000 A3CR = 0x00000000
A4CR = 0x00000000 A4CR = 0x00000000
NANDFCR = 0x00000012 NANDFCR = 0x00000012

View File

@ -264,7 +264,7 @@ void show_boot_progress(int status)
static int green; static int green;
if (red == 0) if (red == 0)
red = init_led(CONFIG_IPAM390_GPIO_LED_RED, "red", LED_OFF); red = init_led(CONFIG_IPAM390_GPIO_LED_RED, "red", LED_ON);
if (red != CONFIG_IPAM390_GPIO_LED_RED) if (red != CONFIG_IPAM390_GPIO_LED_RED)
return; return;
if (green == 0) if (green == 0)
@ -277,10 +277,10 @@ void show_boot_progress(int status)
case BOOTSTAGE_ID_RUN_OS: case BOOTSTAGE_ID_RUN_OS:
/* /*
* set normal state * set normal state
* LED Red : off * LED Red : on
* LED green: off * LED green: off
*/ */
gpio_set_value(red, LED_OFF); gpio_set_value(red, LED_ON);
gpio_set_value(green, LED_OFF); gpio_set_value(green, LED_OFF);
break; break;
case BOOTSTAGE_ID_MAIN_LOOP: case BOOTSTAGE_ID_MAIN_LOOP:
@ -326,23 +326,12 @@ int spl_start_uboot(void)
if (!bootmode) if (!bootmode)
if (ret == 0) if (ret == 0)
bootmode = 1; bootmode = 1;
if (bootmode) { /*
/* * LED red : on
* Booting U-Boot * LED green: off
* LED Red : on */
* LED green: off init_led(CONFIG_IPAM390_GPIO_LED_RED, "red", LED_ON);
*/ init_led(CONFIG_IPAM390_GPIO_LED_GREEN, "green", LED_OFF);
init_led(CONFIG_IPAM390_GPIO_LED_RED, "red", LED_ON);
init_led(CONFIG_IPAM390_GPIO_LED_GREEN, "green", LED_OFF);
} else {
/*
* Booting Linux
* LED Red : off
* LED green: off
*/
init_led(CONFIG_IPAM390_GPIO_LED_RED, "red", LED_OFF);
init_led(CONFIG_IPAM390_GPIO_LED_GREEN, "green", LED_OFF);
}
return bootmode; return bootmode;
} }
#endif #endif

View File

@ -122,13 +122,13 @@
(3 << DV_DDR_SDCR_IBANK_SHIFT) | \ (3 << DV_DDR_SDCR_IBANK_SHIFT) | \
(2 << DV_DDR_SDCR_PAGESIZE_SHIFT)) (2 << DV_DDR_SDCR_PAGESIZE_SHIFT))
#define CONFIG_SYS_DA850_CS3CFG (DAVINCI_ABCR_WSETUP(2) | \ #define CONFIG_SYS_DA850_CS3CFG (DAVINCI_ABCR_WSETUP(1) | \
DAVINCI_ABCR_WSTROBE(2) | \ DAVINCI_ABCR_WSTROBE(2) | \
DAVINCI_ABCR_WHOLD(1) | \ DAVINCI_ABCR_WHOLD(0) | \
DAVINCI_ABCR_RSETUP(1) | \ DAVINCI_ABCR_RSETUP(1) | \
DAVINCI_ABCR_RSTROBE(4) | \ DAVINCI_ABCR_RSTROBE(2) | \
DAVINCI_ABCR_RHOLD(0) | \ DAVINCI_ABCR_RHOLD(1) | \
DAVINCI_ABCR_TA(1) | \ DAVINCI_ABCR_TA(0) | \
DAVINCI_ABCR_ASIZE_8BIT) DAVINCI_ABCR_ASIZE_8BIT)
@ -161,6 +161,7 @@
#undef CONFIG_SYS_NAND_HW_ECC #undef CONFIG_SYS_NAND_HW_ECC
#define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND devices */ #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND devices */
#define CONFIG_SYS_NAND_HW_ECC_OOBFIRST #define CONFIG_SYS_NAND_HW_ECC_OOBFIRST
#define CONFIG_NAND_6BYTES_OOB_FREE_10BYTES_ECC
#define CONFIG_SYS_NAND_5_ADDR_CYCLE #define CONFIG_SYS_NAND_5_ADDR_CYCLE
#define CONFIG_SYS_NAND_PAGE_SIZE (2 << 10) #define CONFIG_SYS_NAND_PAGE_SIZE (2 << 10)
#define CONFIG_SYS_NAND_BLOCK_SIZE (128 << 10) #define CONFIG_SYS_NAND_BLOCK_SIZE (128 << 10)
@ -173,11 +174,10 @@
CONFIG_SYS_MALLOC_LEN - \ CONFIG_SYS_MALLOC_LEN - \
GENERATED_GBL_DATA_SIZE) GENERATED_GBL_DATA_SIZE)
#define CONFIG_SYS_NAND_ECCPOS { \ #define CONFIG_SYS_NAND_ECCPOS { \
24, 25, 26, 27, 28, \ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, \
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, \ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, \
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, \ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, \
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, \ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63}
59, 60, 61, 62, 63 }
#define CONFIG_SYS_NAND_PAGE_COUNT 64 #define CONFIG_SYS_NAND_PAGE_COUNT 64
#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0 #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0
#define CONFIG_SYS_NAND_ECCSIZE 512 #define CONFIG_SYS_NAND_ECCSIZE 512
@ -230,15 +230,24 @@
#define CONFIG_CMDLINE_TAG #define CONFIG_CMDLINE_TAG
#define CONFIG_REVISION_TAG #define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS #define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_BOOTARGS \ #define CONFIG_BOOTDELAY 2
"mem=128M console=ttyS0,115200n8 root=/dev/mtdblock0p4 rw noinitrd ip=dhcp"
#define CONFIG_BOOTDELAY 3
#define CONFIG_EXTRA_ENV_SETTINGS \ #define CONFIG_EXTRA_ENV_SETTINGS \
"defbootargs=setenv bootargs mem=128M console=ttyS0,115200n8 " \
"root=/dev/mtdblock5 rw noinitrd " \
"rootfstype=jffs2 noinitrd\0" \
"hwconfig=dsp:wake=yes\0" \ "hwconfig=dsp:wake=yes\0" \
"bootcmd=nboot kernel;run defbootargs addmtd;bootm 0xc0700000\0" \
"bootfile=uImage\0" \
"addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \ "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \
"mtddevname=uboot-env\0" \
"mtddevnum=0\0" \
"mtdids=" MTDIDS_DEFAULT "\0" \ "mtdids=" MTDIDS_DEFAULT "\0" \
"mtdparts=" MTDPARTS_DEFAULT "\0" \ "mtdparts=" MTDPARTS_DEFAULT "\0" \
"u-boot=/tftpboot/ipam390/u-boot.ais\0" \
"upd_uboot=tftp c0000000 ${u-boot};nand erase.part u-boot;" \
"nand write c0000000 20000 ${filesize}\0" \
"setbootparms=nand read c0100000 200000 400000;" \ "setbootparms=nand read c0100000 200000 400000;" \
"run defbootargs addmtd;" \
"spl export atags c0100000;" \ "spl export atags c0100000;" \
"nand erase.part bootparms;" \ "nand erase.part bootparms;" \
"nand write c0000100 180000 20000\0" \ "nand write c0000100 180000 20000\0" \