Dear Eric Bénard,
> - update to new relocation code
> - switch to boards.cfg
> - get rid of LEGACY (still a little hack in .h to compile)
> - add nand boot configuration
> - boot tested for the following configurations :
>       9260 (64MB RAM & nor boot)
>       9260_nand (64MB RAM & nand boot)
>       9G20_128M (128MB RAM & nor boot)
>       9G20_nand_128M (128MB RAM & nand boot)
>       (nor boot is using lowlevel init)
> 
> Signed-off-by: Eric Bénard <[email protected]>
> ---
>  board/eukrea/cpu9260/config.mk |    1 -
>  board/eukrea/cpu9260/cpu9260.c |  161 +++++++++++++++++----------------------
>  board/eukrea/cpu9260/led.c     |   36 +++++----
>  boards.cfg                     |    8 ++
>  include/configs/cpu9260.h      |  164 +++++++++++++++++++++++++++------------
>  5 files changed, 209 insertions(+), 161 deletions(-)
>  delete mode 100644 board/eukrea/cpu9260/config.mk

...

> diff --git a/include/configs/cpu9260.h b/include/configs/cpu9260.h
> index d239423..09dc03c 100644
> --- a/include/configs/cpu9260.h
> +++ b/include/configs/cpu9260.h
> @@ -31,9 +31,11 @@
>  #ifndef __CONFIG_H
>  #define __CONFIG_H
>  
> -#define CONFIG_AT91_LEGACY
> +/* to be removed once maemory-map.h is fixed */

That would be "memory-map.h".
However memory-map.h does not exist anymore.

> +#define AT91_BASE_SYS        0xffffe800
> +#define AT91_DBGU    (0xfffff200 - AT91_BASE_SYS)

Above two defines should nowhere be needed anymore.
Please fix globally.

> -#define CONFIG_DISPLAY_CPUINFO       1
> +#include <asm/sizes.h>
>  
>  #define CONFIG_SYS_AT91_MAIN_CLOCK   18432000
>  #define CONFIG_SYS_HZ                1000
> @@ -54,13 +56,23 @@
>  #error "Unknown board"
>  #endif
>  
> +#define CONFIG_AT91FAMILY
>  #define CONFIG_ARCH_CPU_INIT
>  #undef CONFIG_USE_IRQ
> +#define CONFIG_DISPLAY_CPUINFO               1
> +#define CONFIG_BOARD_EARLY_INIT_F    1
>  
>  #define CONFIG_CMDLINE_TAG           1
>  #define CONFIG_SETUP_MEMORY_TAGS     1
>  #define CONFIG_INITRD_TAG            1

Please no "1" anymore for just defines, unless the value 1 is really used as a 
value.

>  
> +#if defined(CONFIG_NANDBOOT)
> +#define CONFIG_SKIP_LOWLEVEL_INIT
> +#define CONFIG_SYS_TEXT_BASE           0x23f00000
> +#else
> +#define CONFIG_SYS_TEXT_BASE           0x00000000
> +#endif
> +
>  /* clocks */
>  #if defined(CONFIG_CPU9G20)
>  #define MASTER_PLL_DIV               0x01
> @@ -113,8 +125,8 @@
>  
>  /* EBI_CSA, 3.3V, no pull-ups for D[15:0], CS1 SDRAM, CS3 NAND Flash */
>  #define CONFIG_SYS_MATRIX_EBICSA_VAL         \
> -       (AT91_MATRIX_DBPUC | AT91_MATRIX_CS1A_SDRAMC |\
> -       AT91_MATRIX_CS3A_SMC_SMARTMEDIA | AT91_MATRIX_VDDIOMSEL)
> +             (AT91_MATRIX_CSA_DBPUC | AT91_MATRIX_CSA_EBI_CS1A | \
> +             AT91_MATRIX_CSA_EBI_CS3A | AT91_MATRIX_CSA_VDDIOMSEL_3_3V)
>  
>  /* SDRAM */
>  /* SDRAMC_MR Mode register */
> @@ -199,51 +211,52 @@
>  /* setup SMC0, CS0 (NOR Flash) - 16-bit */
>  #if defined(CONFIG_CPU9G20)
>  #define CONFIG_SYS_SMC0_SETUP0_VAL                                   \
> -             (AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0) |     \
> -              AT91_SMC_NRDSETUP_(0) | AT91_SMC_NCS_RDSETUP_(0))
> +             (AT91_SMC_SETUP_NWE(0) | AT91_SMC_SETUP_NCS_WR(0) |     \
> +              AT91_SMC_SETUP_NRD(0) | AT91_SMC_SETUP_NCS_RD(0))
>  #define CONFIG_SYS_SMC0_PULSE0_VAL                                   \
> -             (AT91_SMC_NWEPULSE_(8) | AT91_SMC_NCS_WRPULSE_(8) |     \
> -              AT91_SMC_NRDPULSE_(14) | AT91_SMC_NCS_RDPULSE_(14))
> +             (AT91_SMC_PULSE_NWE(8) | AT91_SMC_PULSE_NCS_WR(8) |     \
> +              AT91_SMC_PULSE_NRD(14) | AT91_SMC_PULSE_NCS_RD(14))
>  #define CONFIG_SYS_SMC0_CYCLE0_VAL   \
> -             (AT91_SMC_NWECYCLE_(8) | AT91_SMC_NRDCYCLE_(14))
> +             (AT91_SMC_CYCLE_NWE(8) | AT91_SMC_CYCLE_NRD(14))
>  #define CONFIG_SYS_SMC0_MODE0_VAL                            \
> -             (AT91_SMC_READMODE | AT91_SMC_WRITEMODE |       \
> -              AT91_SMC_DBW_16 |                              \
> -              AT91_SMC_TDFMODE |                             \
> -              AT91_SMC_TDF_(3))
> +             (AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE |  \
> +              AT91_SMC_MODE_DBW_16 |                         \
> +              AT91_SMC_MODE_TDF |                            \
> +              AT91_SMC_MODE_TDF_CYCLE(3))
>  #elif defined(CONFIG_CPU9260)
>  #define CONFIG_SYS_SMC0_SETUP0_VAL                                   \
> -             (AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0) |     \
> -              AT91_SMC_NRDSETUP_(0) | AT91_SMC_NCS_RDSETUP_(0))
> +             (AT91_SMC_SETUP_NWE(0) | AT91_SMC_SETUP_NCS_WR(0) |     \
> +              AT91_SMC_SETUP_NRD(0) | AT91_SMC_SETUP_NCS_RD(0))
>  #define CONFIG_SYS_SMC0_PULSE0_VAL                                   \
> -             (AT91_SMC_NWEPULSE_(6) | AT91_SMC_NCS_WRPULSE_(6) |     \
> -              AT91_SMC_NRDPULSE_(10) | AT91_SMC_NCS_RDPULSE_(10))
> +             (AT91_SMC_PULSE_NWE(6) | AT91_SMC_PULSE_NCS_WR(6) |     \
> +              AT91_SMC_PULSE_NRD(10) | AT91_SMC_PULSE_NCS_RD(10))
>  #define CONFIG_SYS_SMC0_CYCLE0_VAL   \
> -             (AT91_SMC_NWECYCLE_(6) | AT91_SMC_NRDCYCLE_(10))
> +             (AT91_SMC_CYCLE_NWE(6) | AT91_SMC_CYCLE_NRD(10))
>  #define CONFIG_SYS_SMC0_MODE0_VAL                            \
> -             (AT91_SMC_READMODE | AT91_SMC_WRITEMODE |       \
> -              AT91_SMC_DBW_16 |                              \
> -              AT91_SMC_TDFMODE |                             \
> -              AT91_SMC_TDF_(2))
> +             (AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE |  \
> +              AT91_SMC_MODE_DBW_16 |                         \
> +              AT91_SMC_MODE_TDF |                            \
> +              AT91_SMC_MODE_TDF_CYCLE(2))
>  #endif
>  
>  /* user reset enable */
>  #define CONFIG_SYS_RSTC_RMR_VAL                      \
>               (AT91_RSTC_KEY |                \
> -             AT91_RSTC_PROCRST |             \
> -             AT91_RSTC_RSTTYP_WAKEUP |       \
> -             AT91_RSTC_RSTTYP_WATCHDOG)
> +             AT91_RSTC_CR_PROCRST |          \
> +             AT91_RSTC_MR_ERSTL(1) | \
> +             AT91_RSTC_MR_ERSTL(2))
>  
>  /* Disable Watchdog */
>  #define CONFIG_SYS_WDTC_WDMR_VAL                             \
> -             (AT91_WDT_WDIDLEHLT | AT91_WDT_WDDBGHLT |       \
> -              AT91_WDT_WDV |                                 \
> -              AT91_WDT_WDDIS |                               \
> -              AT91_WDT_WDD)
> +             (AT91_WDT_MR_WDIDLEHLT | AT91_WDT_MR_WDDBGHLT | \
> +              AT91_WDT_MR_WDV(0xfff) |                       \
> +              AT91_WDT_MR_WDDIS |                            \
> +              AT91_WDT_MR_WDD(0xfff))
>  
>  /*
>   * Hardware drivers
>   */
> +#define CONFIG_AT91SAM9_WATCHDOG     1
>  #define CONFIG_AT91_GPIO     1
>  #define CONFIG_ATMEL_USART   1
>  #undef CONFIG_USART0
> @@ -276,15 +289,16 @@
>  #define CONFIG_CMD_NAND              1
>  #define CONFIG_CMD_USB               1
>  #define CONFIG_CMD_FAT               1
> +#define CONFIG_CMD_MII               1
>  
>  /* SDRAM */
>  #define CONFIG_NR_DRAM_BANKS 1
> -#define PHYS_SDRAM           0x20000000
> +#define CONFIG_SYS_SDRAM_BASE                0x20000000
>  #if defined(CONFIG_CPU9260_128M) || defined(CONFIG_CPU9G20_128M)
> -#define PHYS_SDRAM_SIZE              0x08000000      /* 128 MB */
> +#define CONFIG_SYS_SDRAM_SIZE                SZ_128M
>  #define CONFIG_SYS_SDRC_CR_VAL       CONFIG_SYS_SDRC_CR_VAL_128MB
>  #else
> -#define PHYS_SDRAM_SIZE              0x04000000      /* 64 MB */
> +#define CONFIG_SYS_SDRAM_SIZE                SZ_64M
>  #define CONFIG_SYS_SDRC_CR_VAL       CONFIG_SYS_SDRC_CR_VAL_64MB
>  #endif
>  
> @@ -294,12 +308,15 @@
>  #define CONFIG_SYS_MAX_NAND_DEVICE           1
>  #define CONFIG_SYS_NAND_BASE                 0x40000000
>  #define CONFIG_SYS_NAND_DBW_8                        1
> -#define CONFIG_SYS_NAND_READY_PIN            AT91_PIN_PC13
> -#define CONFIG_SYS_NAND_ENABLE_PIN           AT91_PIN_PC14
> +#define CONFIG_SYS_NAND_READY_PIN            AT91_PIO_PORTC, 13
> +#define CONFIG_SYS_NAND_ENABLE_PIN           AT91_PIO_PORTC, 14
>  #define CONFIG_SYS_NAND_MASK_ALE             (1 << 21)
>  #define CONFIG_SYS_NAND_MASK_CLE             (1 << 22)
>  
>  /* NOR flash */
> +#if defined(CONFIG_NANDBOOT)
> +#define CONFIG_SYS_NO_FLASH                  1
> +#else
>  #define CONFIG_SYS_FLASH_CFI                 1
>  #define CONFIG_FLASH_CFI_DRIVER                      1
>  #define PHYS_FLASH_1                         0x10000000
> @@ -314,11 +331,11 @@
>  #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE    1
>  #define CONFIG_SYS_FLASH_PROTECTION          1
>  #define CONFIG_SYS_MONITOR_BASE                      PHYS_FLASH_1
> +#endif
>  
>  /* Ethernet */
>  #define CONFIG_MACB                          1
>  #define CONFIG_RMII                          1
> -#define CONFIG_RESET_PHY_R                   1
>  #define CONFIG_NET_MULTI                     1
>  #define CONFIG_NET_RETRY_COUNT                       20
>  #define CONFIG_MACB_SEARCH_PHY                       1
> @@ -350,10 +367,10 @@
>  /* Optional value */
>  #define STATUS_LED_BOOT                              STATUS_LED_BIT
>  
> -#define CONFIG_RED_LED                               AT91_PIN_PC11
> -#define CONFIG_GREEN_LED                     AT91_PIN_PC12
> -#define CONFIG_YELLOW_LED                    AT91_PIN_PC7
> -#define CONFIG_BLUE_LED                              AT91_PIN_PC9
> +#define CONFIG_RED_LED                               AT91_PIO_PORTC, 11
> +#define CONFIG_GREEN_LED                     AT91_PIO_PORTC, 12
> +#define CONFIG_YELLOW_LED                    AT91_PIO_PORTC, 7
> +#define CONFIG_BLUE_LED                              AT91_PIO_PORTC, 9
>  
>  /* USB */
>  #define CONFIG_USB_ATMEL                     1
> @@ -361,17 +378,33 @@
>  #define CONFIG_DOS_PARTITION                 1
>  #define CONFIG_SYS_USB_OHCI_CPU_INIT         1
>  #define CONFIG_SYS_USB_OHCI_REGS_BASE                0x00500000
> +#if defined(CONFIG_CPU9G20)
> +#define CONFIG_SYS_USB_OHCI_SLOT_NAME                "at91sam9g20"
> +#elif defined(CONFIG_CPU9260)
>  #define CONFIG_SYS_USB_OHCI_SLOT_NAME                "at91sam9260"
> +#endif
>  #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS   2
>  #define CONFIG_USB_STORAGE                   1
>  
>  #define CONFIG_SYS_LOAD_ADDR                 0x21000000
>  
> -#define CONFIG_SYS_MEMTEST_START             PHYS_SDRAM
> -#define CONFIG_SYS_MEMTEST_END                       0x21e00000
> +#define CONFIG_SYS_MEMTEST_START             CONFIG_SYS_SDRAM_BASE
> +#define CONFIG_SYS_MEMTEST_END                       \
> +     (CONFIG_SYS_MEMTEST_START + CONFIG_SYS_SDRAM_SIZE - SZ_512K)
>  
> -#undef CONFIG_SYS_USE_NANDFLASH
> +#if defined(CONFIG_NANDBOOT)
> +#define CONFIG_SYS_USE_NANDFLASH             1
> +#undef CONFIG_SYS_USE_FLASH
> +#else
>  #define CONFIG_SYS_USE_FLASH                 1
> +#undef CONFIG_SYS_USE_NANDFLASH
> +#endif
> +
> +#if defined(CONFIG_CPU9G20)
> +#define CONFIG_SYS_BASEDIR   "cpu9G20"
> +#elif defined(CONFIG_CPU9260)
> +#define CONFIG_SYS_BASEDIR   "cpu9260"
> +#endif
>  
>  #if defined(CONFIG_SYS_USE_FLASH)
>  #define CONFIG_ENV_IS_IN_FLASH               1
> @@ -382,7 +415,7 @@
>  
>  #define CONFIG_BOOTCOMMAND           "run flashboot"
>  
> -#define MTDIDS_DEFAULT               "nor0=physmap-flash.0,nand0=atmel_nand"
> +#define MTDIDS_DEFAULT               "nor0=physmap-flash.0,nand0=atmel_nand"
>  #define MTDPARTS_DEFAULT             \
>       "mtdparts=physmap-flash.0:"     \
>               "256k(u-boot)ro,"       \
> @@ -393,18 +426,12 @@
>  
>  #define CONFIG_BOOTARGS "root=/dev/mtdblock3 rootfstype=jffs2 "
>  
> -#if defined(CONFIG_CPU9G20)
> -#define CONFIG_SYS_BASEDIR   "cpu9G20"
> -#elif defined(CONFIG_CPU9260)
> -#define CONFIG_SYS_BASEDIR   "cpu9260"
> -#endif
> -
>  #define CONFIG_EXTRA_ENV_SETTINGS                            \
>       "mtdids=" MTDIDS_DEFAULT "\0"                           \
>       "mtdparts=" MTDPARTS_DEFAULT "\0"                       \
>       "partition=nand0,0\0"                                   \
>       "ramargs=setenv bootargs $(bootargs) $(mtdparts)\0"     \
> -     "ramboot=tftpboot 0x22000000 cpu9260/uImage;"           \
> +     "ramboot=tftpboot 0x22000000 $(basedir)/uImage;"        \
>               "run ramargs;bootm 22000000\0"                  \
>       "flashboot=run ramargs;bootm 0x10060000\0"              \
>       "basedir=" CONFIG_SYS_BASEDIR "\0"                      \
> @@ -421,6 +448,38 @@
>               "0x10220000 0x13ffffff;cp.b 0x24000000 "        \
>               "0x10220000 $(filesize)\0" \
>       ""
> +#elif defined(CONFIG_NANDBOOT)
> +#define CONFIG_ENV_IS_IN_NAND                1
> +#define CONFIG_ENV_OFFSET            0x60000
> +#define CONFIG_ENV_OFFSET_REDUND     0x80000
> +#define CONFIG_ENV_SECT_SIZE         0x20000
> +#define      CONFIG_ENV_SIZE                 0x20000
> +#define CONFIG_ENV_OVERWRITE         1
> +
> +#define CONFIG_BOOTCOMMAND           "run flashboot"
> +
> +#define MTDIDS_DEFAULT               "nand0=atmel_nand"
> +#define MTDPARTS_DEFAULT             \
> +     "mtdparts=atmel_nand:"          \
> +             "128k(bootstrap)ro,"    \
> +             "256k(u-boot)ro,"       \
> +             "128k(u-boot-env)ro,"   \
> +             "128k(u-boot-env2)ro,"  \
> +             "2M(kernel),"   \
> +             "-(rootfs)"
> +
> +#define CONFIG_BOOTARGS "root=/dev/mtdblock5 rootfstype=ubifs "
> +
> +#define CONFIG_EXTRA_ENV_SETTINGS                            \
> +     "mtdids=" MTDIDS_DEFAULT "\0"                           \
> +     "mtdparts=" MTDPARTS_DEFAULT "\0"                       \
> +     "partition=nand0,5\0"                                   \
> +     "ramargs=setenv bootargs $(bootargs) $(mtdparts)\0"     \
> +     "ramboot=tftpboot 0x22000000 $(basedir)/uImage;"        \
> +             "run ramargs;bootm 22000000\0"                  \
> +     "flashboot=run ramargs; nand read 0x22000000 0xA0000 "  \
> +             "0x200000; bootm 0x22000000\0"                  \
> +     "basedir=" CONFIG_SYS_BASEDIR "\0"
>  #endif
>  
>  #define CONFIG_BAUDRATE                      115200
> @@ -446,7 +505,10 @@
>  #define CONFIG_SYS_MALLOC_LEN                \
>               ROUND(3 * CONFIG_ENV_SIZE + 128 * 1024, 0x1000)
>  
> -#define CONFIG_STACKSIZE             (32 * 1024)
> +#define CONFIG_SYS_INIT_SP_ADDR      (CONFIG_SYS_SDRAM_BASE + SZ_4K - \
> +                             GENERATED_GBL_DATA_SIZE)
> +
> +#define CONFIG_STACKSIZE             SZ_32K

No SZ_ maxros anymore. Please fix globally.

>  
>  #if defined(CONFIG_USE_IRQ)
>  #error CONFIG_USE_IRQ not supported

Best Regards,

Reinhard
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to