Hello, I'm not sure if this is the proper way to submit a patch - please feel free to let me know what needs to be changed, if anything. Thanks,
Daniel Schuler =================== The current SBC-2410A board from Embest ships with 2MiB of NOR FLASH, for which CONFIG_AMD_LV160 has been defined in include/configs/sbc2410x.h Also, CONFIG_ENV_ADDR has been made more generic by making it depend on CONFIG_ENV_SIZE, so that only the latter needs to be changed to modify the size of the environment. In board/sbc2410x/flash.c, the appropriate #elif and case statements have been added to support this chip. Signed-off-by: Daniel Schuler <dbschu...@gmail.com> --- board/sbc2410x/flash.c | 6 ++++++ include/configs/sbc2410x.h | 20 +++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/board/sbc2410x/flash.c b/board/sbc2410x/flash.c index abb0935..81aa9e8 100644 --- a/board/sbc2410x/flash.c +++ b/board/sbc2410x/flash.c @@ -69,6 +69,9 @@ ulong flash_init (void) #elif defined(CONFIG_AMD_LV800) (AMD_MANUFACT & FLASH_VENDMASK) | (AMD_ID_LV800B & FLASH_TYPEMASK); +#elif defined(CONFIG_AMD_LV160) + (AMD_MANUFACT & FLASH_VENDMASK) | + (AMD_ID_LV160B & FLASH_TYPEMASK); #else #error "Unknown flash configured" #endif @@ -142,6 +145,9 @@ void flash_print_info (flash_info_t * info) case (AMD_ID_LV800B & FLASH_TYPEMASK): printf ("1x Amd29LV800BB (8Mbit)\n"); break; + case (AMD_ID_LV160B & FLASH_TYPEMASK): + printf ("1x Amd29LV160DB (16Mbit)\n"); + break; default: printf ("Unknown Chip Type\n"); goto Done; diff --git a/include/configs/sbc2410x.h b/include/configs/sbc2410x.h index d7a6ae4..4d6038d 100644 --- a/include/configs/sbc2410x.h +++ b/include/configs/sbc2410x.h @@ -139,7 +139,7 @@ #define CONFIG_SYS_LOAD_ADDR 0x33000000 /* default load address */ -/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */ +/* the PWM Timer 4 uses a counter of 15625 for 10 ms, so we need */ /* it to wrap 100 times (total 1562500) to get 1 sec. */ #define CONFIG_SYS_HZ 1562500 @@ -173,29 +173,35 @@ */ /* #define CONFIG_AMD_LV400 1 /\* uncomment this if you have a LV400 flash *\/ */ -#define CONFIG_AMD_LV800 1 /* uncomment this if you have a LV800 flash */ +/* #define CONFIG_AMD_LV800 1 /\* uncomment this if you have a LV800 flash *\/ */ + +#define CONFIG_AMD_LV160 1 /* uncomment this if you have a LV160 flash */ #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ +#ifdef CONFIG_AMD_LV160 +#define PHYS_FLASH_SIZE 0x00200000 /* 2MB */ +#define CONFIG_SYS_MAX_FLASH_SECT (35) /* max number of sectors on one chip */ +#endif + #ifdef CONFIG_AMD_LV800 #define PHYS_FLASH_SIZE 0x00100000 /* 1MB */ #define CONFIG_SYS_MAX_FLASH_SECT (19) /* max number of sectors on one chip */ -#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x0F0000) /* addr of environment */ #endif #ifdef CONFIG_AMD_LV400 #define PHYS_FLASH_SIZE 0x00080000 /* 512KB */ #define CONFIG_SYS_MAX_FLASH_SECT (11) /* max number of sectors on one chip */ -#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x070000) /* addr of environment */ #endif +#define CONFIG_ENV_IS_IN_FLASH 1 +#define CONFIG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */ +#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + PHYS_FLASH_SIZE - CONFIG_ENV_SIZE) /* starting addr of environment */ + /* timeout values are in ticks */ #define CONFIG_SYS_FLASH_ERASE_TOUT (5*CONFIG_SYS_HZ) /* Timeout for Flash Erase */ #define CONFIG_SYS_FLASH_WRITE_TOUT (5*CONFIG_SYS_HZ) /* Timeout for Flash Write */ -#define CONFIG_ENV_IS_IN_FLASH 1 -#define CONFIG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */ - /*----------------------------------------------------------------------- * NAND flash settings */ -- 1.5.6.3 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot