On 01:20 Tue 18 Aug     , Frederik Kriewitz wrote:
> This patch adds support for the DevKit8000 board.
> 
> Signed-off-by: Frederik Kriewitz <frede...@kriewitz.eu>
> ---
> mach-types.h needs to be synced (MACH_TYPE_DEVKIT8000)
> ---
>  MAINTAINERS                         |    4 +
>  Makefile                            |    3 +
>  board/omap3/devkit8000/Makefile     |   52 +++++
>  board/omap3/devkit8000/config.mk    |   35 ++++
>  board/omap3/devkit8000/devkit8000.c |  124 ++++++++++++
>  board/omap3/devkit8000/devkit8000.h |  373 
> +++++++++++++++++++++++++++++++++++
no need board are allow in board/omap3
please create your own vendor dirent or just put it in board/
>  doc/README.omap3                    |   11 +
>  include/configs/omap3_devkit8000.h  |  321 ++++++++++++++++++++++++++++++
>  8 files changed, 923 insertions(+), 0 deletions(-)
>  create mode 100644 board/omap3/devkit8000/Makefile
>  create mode 100644 board/omap3/devkit8000/config.mk
>  create mode 100644 board/omap3/devkit8000/devkit8000.c
>  create mode 100644 board/omap3/devkit8000/devkit8000.h
>  create mode 100644 include/configs/omap3_devkit8000.h
please add entry in MAKEALL
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 620604c..12ad7f5 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -706,6 +706,10 @@ Alex Z
>       lart            SA1100
>       dnp1110         SA1110
>  
> +Frederik Kriewitz <frede...@kriewitz.eu>
> +
> +     omap3_devkit8000        ARM CORTEX-A8 (OMAP3530 SoC)
> +
>  -------------------------------------------------------------------------
>  
>  Unknown / orphaned boards:
> diff --git a/Makefile b/Makefile
> index 329e0f5..bed9f5e 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -3072,6 +3072,9 @@ omap3_beagle_config :   unconfig
>  omap3_overo_config : unconfig
>       @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 overo omap3 omap3
>  
> +omap3_devkit8000_config :    unconfig
> +     @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 devkit8000 omap3 omap3
> +
>  omap3_evm_config :   unconfig
>       @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 evm omap3 omap3
>  
> +
> +#ifdef CONFIG_DRIVER_DM9000
> +     /* Configure GPMC registers for DM9000 */
> +     writel(NET_GPMC_CONFIG1, &gpmc_cfg->cs[6].config1);
> +     writel(NET_GPMC_CONFIG2, &gpmc_cfg->cs[6].config2);
> +     writel(NET_GPMC_CONFIG3, &gpmc_cfg->cs[6].config3);
> +     writel(NET_GPMC_CONFIG4, &gpmc_cfg->cs[6].config4);
> +     writel(NET_GPMC_CONFIG5, &gpmc_cfg->cs[6].config5);
> +     writel(NET_GPMC_CONFIG6, &gpmc_cfg->cs[6].config6);
> +     writel(NET_GPMC_CONFIG7, &gpmc_cfg->cs[6].config7);
> +
> +     /* Use OMAP DIE_ID as MAC address */
> +     if (!eth_getenv_enetaddr("ethaddr", enetaddr)) {
> +             enetaddr[0] = 0x02; /* locally administered */
> +             enetaddr[1] = readl(&id_base->die_id_1) & 0xff;
> +             *(u32*)&enetaddr[2] = readl(&id_base->die_id_0);
> +             eth_setenv_enetaddr("ethaddr", enetaddr);
please add a warning for the user to known about it
> +     }
> +#endif
> +
> +     dieid_num_r();
> +
> +     return 0;
> +}
> +
> +/*
> + * Routine: set_muxconf_regs
> + * Description: Setting up the configuration Mux registers specific to the
> + *           hardware. Many pins need to be moved from protect to primary
> + *           mode.
> + */
> +void set_muxconf_regs(void)
> +{
> +     MUX_DEVKIT8000();
> +}
> +
> +#ifdef CONFIG_DRIVER_DM9000
> +int board_eth_init(bd_t *bis)
> +{
> +     return dm9000_initialize(bis);
> +}
> +
> +void reset_phy(void)
> +{
> +     eth_init(gd->bd);
> +}
NACK
the net need to be init only when you use it
> +#endif
> +/* DM9000 */
> +#define CONFIG_NET_MULTI             1
> +#define CONFIG_NET_RETRY_COUNT               20
> +#define      CONFIG_DRIVER_DM9000            1
> +#define      CONFIG_DM9000_BASE              0x2c000000
> +#define      DM9000_IO                       CONFIG_DM9000_BASE
> +#define      DM9000_DATA                     (CONFIG_DM9000_BASE+0x400)
please add a space before and after "+"
> +#define      CONFIG_DM9000_USE_16BIT         1
> +#define CONFIG_DM9000_NO_SROM                1
> +#define CONFIG_RESET_PHY_R           1
> +#undef       CONFIG_DM9000_DEBUG
> +
> +/* NS16550 Configuration */
> +#define V_NS16550_CLK                        48000000        /* 48MHz 
> (APLL96/2) */
why define it twice?
> +
> +#define CONFIG_SYS_NS16550
> +#define CONFIG_SYS_NS16550_SERIAL
> +#define CONFIG_SYS_NS16550_REG_SIZE  (-4)
> +#define CONFIG_SYS_NS16550_CLK               V_NS16550_CLK
here?
> +
> +/* select serial console configuration */
> +#define CONFIG_CONS_INDEX            3
> +#define CONFIG_SYS_NS16550_COM3              OMAP34XX_UART3
> +#define CONFIG_SERIAL3                       3
> +#define CONFIG_BAUDRATE                      115200
> +#define CONFIG_SYS_BAUDRATE_TABLE    {4800, 9600, 19200, 38400, 57600,\
> +                                     115200}
> +
> +/* MMC */
> +#define CONFIG_MMC                   1
> +#define CONFIG_OMAP3_MMC             1
> +#define CONFIG_DOS_PARTITION         1
> +
> +/* commands to include */
> +#include <config_cmd_default.h>
> +
> +#define CONFIG_CMD_DHCP                      /* DHCP support                 
> */
> +#define CONFIG_CMD_EXT2                      /* EXT2 Support                 
> */
> +#define CONFIG_CMD_FAT                       /* FAT support                  
> */
> +#define CONFIG_CMD_I2C                       /* I2C serial bus support       
> */
> +#define CONFIG_CMD_JFFS2             /* JFFS2 Support                */
> +#define CONFIG_CMD_MMC                       /* MMC support                  
> */
> +#define CONFIG_CMD_MTDPARTS          /* Enable MTD parts commands    */
> +#define CONFIG_CMD_NAND                      /* NAND support                 
> */
> +#define CONFIG_CMD_NAND_LOCK_UNLOCK  /* nand (un)lock commands       */
> +#define CONFIG_CMD_NET                       /* bootp, tftpboot, rarpboot    
> */
> +#define CONFIG_CMD_NFS                       /* NFS support                  
> */
please check what is already define in cmd_default
> +
> +#undef CONFIG_CMD_FLASH                      /* flinfo, erase, protect       
> */
> +#undef CONFIG_CMD_FPGA                       /* FPGA configuration Support   
> */
> +#undef CONFIG_CMD_IMI                        /* iminfo                       
> */
> +#undef CONFIG_CMD_IMLS                       /* List all found images        
> */
> +
> +/* I2C */
> +#define CONFIG_SYS_I2C_SPEED         100000
> +#define CONFIG_SYS_I2C_SLAVE         1
> +#define CONFIG_SYS_I2C_BUS           0
> +#define CONFIG_SYS_I2C_BUS_SELECT    1
> +#define CONFIG_DRIVER_OMAP34XX_I2C   1
> +
> +/* TWL4030 */
> +#define CONFIG_TWL4030_POWER         1
> +#define CONFIG_TWL4030_LED           1
> +
> +/* Board NAND Info */
> +#define CONFIG_SYS_NO_FLASH          /* no NOR flash */
please define it before including cmd_default so no-need to undef CMD_FLASH &
CMD_IMLS
> +
> +#define CONFIG_MTD_DEVICE            /* needed for mtdparts commands */
> +#define MTDIDS_DEFAULT                       "nand0=nand"
> +#define MTDPARTS_DEFAULT             "mtdparts=nand:512k(x-loader),"\
> +                                     "1920k(u-boot),128k(u-boot-env),"\
> +                                     "4m(kernel),-(fs)"
why no this
#define MTDPARTS_DEFAULT        "mtdparts=nand:" \
                                        "512k(x-loader)," \
                                        "1920k(u-boot)," \
                                        "128k(u-boot-env)," \
                                        "4m(kernel),-(fs)"
> +
> +#define CONFIG_NAND_OMAP_GPMC
> +#define CONFIG_SYS_NAND_ADDR         NAND_BASE       /* physical address */
> +                                                     /* to access nand */
> +#define CONFIG_SYS_NAND_BASE         NAND_BASE       /* physical address */
> +                                                     /* to access nand at */
> +
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> +     "loadaddr=0x82000000\0" \
> +     "console=ttyS2,115200n8\0" \
> +     "vram=12M\0" \
> +     "dvimode=1024x768mr...@60\0" \
> +     "defaultdisplay=dvi\0" \
> +     "nfsopts=hard,tcp,rsize=65536,wsize=65536\0" \
> +     "kernelopts=rw\0" \
> +     "mmcargs=setenv bootargs console=${console} " \
> +             "vram=${vram} " \
> +             "omapfb.mode=dvi:${dvimode} " \
> +             "omapdss.def_disp=${defaultdisplay} " \
> +             "root=/dev/mmcblk0p2\0" \
> +     "nandargs=setenv bootargs console=${console} " \
> +             "vram=${vram} " \
> +             "omapfb.mode=dvi:${dvimode} " \
> +             "omapdss.def_disp=${defaultdisplay} " \
> +             "root=/dev/mtdblock4 " \
> +             "rootfstype=jffs2\0" \
> +     "netargs=setenv bootargs console=${console} " \
> +             "vram=${vram} " \
> +             "omapfb.mode=dvi:${dvimode} " \
> +             "omapdss.def_disp=${defaultdisplay} " \
> +             "root=/dev/nfs " \
> +             "nfsroot=${serverip}:${rootpath},${nfsopts} " \
> +             
> "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off " \
> +             "dnsip1=${dnsip} " \
> +             "dnsip2=${dnsip2}\0" \
here you can reduce duplicate code
as example by somthink like this
        "commonargs=" \
                "setenv bootargs console=${console} " \
                "vram=${vram} " \
                "omapfb.mode=dvi:${dvimode} " \
                "omapdss.def_disp=${defaultdisplay} " \
        "mmcargs=" \
                "run commonargs; " \
                "setenv bootargs ${bootargs}" \
                "root=/dev/mmcblk0p2\0" \

> +     "loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0" \
> +     "bootscript=echo Running bootscript from mmc ...; " \
> +             "source ${loadaddr}\0" \
> +     "loaduimage=fatload mmc 0 ${loadaddr} uImage\0" \
> +     "eraseenv=nand unlock 0x260000 0x20000; nand erase 0x260000 0x20000\0" \
> +     "mmcboot=echo Booting from mmc ...; " \
> +             "run mmcargs; " \
> +             "bootm ${loadaddr}\0" \
> +     "nandboot=echo Booting from nand ...; " \
> +             "run nandargs; " \
> +             "nand read ${loadaddr} 280000 400000; " \
> +             "bootm ${loadaddr}\0" \
> +     "netboot=echo Booting from network ...; " \
> +             "dhcp ${loadaddr}; " \
> +             "run netargs; " \
> +             "bootm ${loadaddr}\0" \
> +     "autoboot=if mmc init 0; then " \
> +                     "if run loadbootscript; then " \
> +                             "run bootscript; " \
> +                     "else " \
> +                             "if run loaduimage; then " \
> +                                     "run mmcboot; " \
> +                             "else run nandboot; " \
> +                             "fi; " \
> +                     "fi; " \
> +             "else run nandboot; fi\0"
> +
> +
> +#define CONFIG_BOOTCOMMAND "run autoboot"
> +
> +/* Miscellaneous configurable options */
> +#define V_PROMPT                     "OMAP3 DevKit8000 # "
no need
> +
> +#define CONFIG_SYS_LONGHELP          /* undef to save memory */
> +#define CONFIG_SYS_HUSH_PARSER               /* use "hush" command parser */
> +#define CONFIG_AUTO_COMPLETE         1
> +#define CONFIG_SYS_PROMPT_HUSH_PS2   "> "
> +#define CONFIG_SYS_PROMPT            V_PROMPT
just define it here
> +#define CONFIG_SYS_CBSIZE            512     /* Console I/O Buffer Size */
> +/* Print Buffer Size */
> +#define CONFIG_SYS_PBSIZE            (CONFIG_SYS_CBSIZE + \
> +                                     sizeof(CONFIG_SYS_PROMPT) + 16)
> +#define CONFIG_SYS_MAXARGS           128     /* max number of command args */
> +
> +/* Boot Argument Buffer Size */
> +#define CONFIG_SYS_BARGSIZE          (CONFIG_SYS_CBSIZE)
> +
> +#define CONFIG_SYS_MEMTEST_START     (OMAP34XX_SDRC_CS0 + 0x07000000)
> +#define CONFIG_SYS_MEMTEST_END               (CONFIG_SYS_MEMTEST_START + \
> +                                     0x01000000) /* 16MB */
> +
> +#define CONFIG_SYS_LOAD_ADDR         (OMAP34XX_SDRC_CS0 + 0x02000000)
> +
Best Regards,
J.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to