Commit 27019e4a949fc3be2e895ac20839c4d4d119f902

Authored by Bo Shen
Committed by Andreas Bießmann
1 parent 0b0b4f5981

arm: atmel: sama5d3: add nand spl boot support

Add NAND SPL boot support with hardware PMECC.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>

Showing 4 changed files with 18 additions and 0 deletions Side-by-side Diff

arch/arm/cpu/at91-common/spl.c
... ... @@ -52,6 +52,8 @@
52 52 {
53 53 #ifdef CONFIG_SYS_USE_MMC
54 54 return BOOT_DEVICE_MMC1;
  55 +#elif CONFIG_SYS_USE_NANDFLASH
  56 + return BOOT_DEVICE_NAND;
55 57 #elif CONFIG_SYS_USE_SERIALFLASH
56 58 return BOOT_DEVICE_SPI;
57 59 #endif
arch/arm/include/asm/arch-at91/spl.h
... ... @@ -14,6 +14,8 @@
14 14 BOOT_DEVICE_MMC1,
15 15 BOOT_DEVICE_MMC2,
16 16 BOOT_DEVICE_MMC2_2,
  17 +#elif CONFIG_SYS_USE_NANDFLASH
  18 + BOOT_DEVICE_NAND,
17 19 #elif CONFIG_SYS_USE_SERIALFLASH
18 20 BOOT_DEVICE_SPI,
19 21 #endif
board/atmel/sama5d3xek/sama5d3xek.c
... ... @@ -307,6 +307,8 @@
307 307 {
308 308 #ifdef CONFIG_SYS_USE_MMC
309 309 sama5d3xek_mci_hw_init();
  310 +#elif CONFIG_SYS_USE_NANDFLASH
  311 + sama5d3xek_nand_hw_init();
310 312 #elif CONFIG_SYS_USE_SERIALFLASH
311 313 at91_spi0_hw_init(1 << 0);
312 314 #endif
include/configs/sama5d3xek.h
... ... @@ -270,6 +270,18 @@
270 270 #define CONFIG_SPL_FAT_SUPPORT
271 271 #define CONFIG_SPL_LIBDISK_SUPPORT
272 272  
  273 +#elif CONFIG_SYS_USE_NANDFLASH
  274 +#define CONFIG_SPL_NAND_SUPPORT
  275 +#define CONFIG_SPL_NAND_DRIVERS
  276 +#define CONFIG_SPL_NAND_BASE
  277 +#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
  278 +#define CONFIG_SYS_NAND_5_ADDR_CYCLE
  279 +#define CONFIG_SYS_NAND_PAGE_SIZE 0x800
  280 +#define CONFIG_SYS_NAND_PAGE_COUNT 64
  281 +#define CONFIG_SYS_NAND_OOBSIZE 64
  282 +#define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000
  283 +#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0x0
  284 +
273 285 #elif CONFIG_SYS_USE_SERIALFLASH
274 286 #define CONFIG_SPL_SPI_SUPPORT
275 287 #define CONFIG_SPL_SPI_FLASH_SUPPORT