[U-Boot] [PATCH] Add support for Olimex SAM9-L9261 SBC

Wolfgang Denk
2009-07-13T19:57:06Z

Dear Dimitar Dimitrov,

In message <200907132045.06563.dinuxbg@gmail.com> you wrote:
> The SAM9-L9261 board support is based on code for AT91SAM9261EK. The Atmel LCD
> initialization in drivers/video/atmel_lcdfb.c has a minor modification to
> enable LCD video clock invertion as required by the SAM9-L9261 LCD.
>
> Signed-off-by: Dimitar Dimitrov <dinuxbg@gmail.com>
...
> diff --git a/Makefile b/Makefile
> index 2a06440..51e2dd4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2757,6 +2757,23 @@ at91sam9261ek_config : unconfig
> fi;
> @$(MKCONFIG) -a at91sam9261ek arm arm926ejs at91sam9261ek atmel at91
>
> +sam9_l9261_nandflash_config \
> +sam9_l9261_dataflash_cs0_config \
> +sam9_l9261_dataflash_cs3_config \
> +sam9_l9261_config : unconfig
...
> at91sam9263ek_norflash_config \
> at91sam9263ek_norflash_boot_config \
> at91sam9263ek_nandflash_config \

Please keep list of boards sorted.

> diff --git a/board/olimex/sam9_l9261/sam9_l9261.c b/board/olimex/sam9_l9261/sam9_l9261.c
> new file mode 100644
> index 0000000..beb729d
> --- /dev/null
> +++ b/board/olimex/sam9_l9261/sam9_l9261.c
...
> +#ifdef CONFIG_DRIVER_DM9000
> + int board_eth_init(bd_t *bis)
> + {
> + return dm9000_initialize(bis);
> + }
> +#endif
> +int dram_init(void)
> +{
> + gd->bd->bi_dram[0].start = PHYS_SDRAM;
> + gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
> + return 0;
> +}
> +
> +#ifdef CONFIG_RESET_PHY_R
> +void reset_phy(void)
> +{
> +#ifdef CONFIG_DRIVER_DM9000
> + /*
> + * Initialize ethernet HW addr prior to starting Linux,
> + * needed for nfsroot
> + */
> + eth_init(gd->bd);
> +#endif
> +}
> +#endif

NAK.

Please do not do this. U-Boot must not initialize the Ethernet
interface unless U-Boot itself has to use it.

This has been discussed in length before. See the archives.

> diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
> index db86763..e9eb8db 100644
> --- a/drivers/video/atmel_lcdfb.c
> +++ b/drivers/video/atmel_lcdfb.c
> @@ -112,6 +112,9 @@ void lcd_ctrl_init(void *lcdbase)
>
> value |= panel_info.vl_sync;
> value |= (panel_info.vl_bpix << 5);
> +#if defined(CONFIG_SAM9_L9261)
> + value |= ATMEL_LCDC_INVCLK_INVERTED;
> +#endif
> lcdc_writel(panel_info.mmio, ATMEL_LCDC_LCDCON2, value);

Please do not add board specific code to a global source file. [If
needed, #define a feature-specific, board-independent config variable
to enable the feature.]

> diff --git a/include/configs/sam9_l9261.h b/include/configs/sam9_l9261.h
> new file mode 100644
> index 0000000..5281576
> --- /dev/null
> +++ b/include/configs/sam9_l9261.h
...
> +/* LCD */
> +#if 0
> +#undef CONFIG_LCD
> +#else

Please do not add dead code.

...
> +#define CONFIG_SYS_USB_OHCI_REGS_BASE 0x00500000 /* AT91SAM9261_UHP_BASE */

Line too long - please fix globally.

> diff --git a/tools/Makefile b/tools/Makefile
> index 43c284c..4aee609 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -125,6 +125,9 @@ endif
> ifeq ($(VENDOR),ronetix)
> LOGO_BMP= logos/ronetix.bmp
> endif
> +ifeq ($(VENDOR),olimex)
> +LOGO_BMP= logos/olimex.bmp
> +endif

Please keep list sorted.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Nail here --X-- for new monitor.