[PATCH] at91sam9m10g45ek: add board revision support

Sascha Hauer s.hauer at pengutronix.de
Sat Jan 15 10:25:55 EST 2011


On Sat, Jan 15, 2011 at 03:25:54AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> we use the board revision to specify to the linux kernel the type of lcd
> we use. So we can have only one machine for those 3 boards:
>  - sam9m10-ekes (LG)
>  - sam9g45-ekes (LG)
>  - sam9m10g45-ek (Truly)
> 
> today we support 2 lcds model:
>  - LG philips LB043WQ1
>  - Truly TFT1N4633-E
> 
> by default we select the Truly as the sam9m10g45-ek is the most common board
> 
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> Cc: Nicolas Ferre <nicolas.ferre at atmel.com>
> Cc: Patrice Vilchez <patrice.vilchez at atmel.com>
> ---
>  arch/arm/boards/at91sam9m10g45ek/init.c |   21 +++++++++++++++++++++
>  arch/arm/mach-at91/Kconfig              |   15 ++++++++++++++-
>  2 files changed, 35 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/boards/at91sam9m10g45ek/init.c b/arch/arm/boards/at91sam9m10g45ek/init.c
> index bb8b7ba..77d51b7 100644
> --- a/arch/arm/boards/at91sam9m10g45ek/init.c
> +++ b/arch/arm/boards/at91sam9m10g45ek/init.c
> @@ -40,6 +40,26 @@
>  #include <mach/at91sam9_smc.h>
>  #include <mach/sam9_smc.h>
>  
> +/*
> + * board revision encoding
> + * bit 0-3: lcd type
> + *	0 => truly TFT1N4633-E (sam9m10g45-ek)
> + *	1 => LG philips LB043WQ1 (sam9m10-ekes and sam9g45-ekes)
> + */
> +#define HAVE_LCD_TRULY_TFT1N4633E	(0 << 0)
> +#define HAVE_LCD_LG_LB043WQ1		(1 << 0)
> +static void ek_set_board_revision(void)
> +{
> +	u32 rev;
> +
> +#ifdef CONFIG_LCD_LG_LB043WQ1
> +		rev = HAVE_LCD_LG_LB043WQ1;
> +#else
> +		rev = HAVE_LCD_TRULY_TFT1N4633E;
> +#endif
> +		armlinux_set_revision(rev);
> +}
> +
>  static struct atmel_nand_data nand_pdata = {
>  	.ale		= 21,
>  	.cle		= 22,
> @@ -103,6 +123,7 @@ static int at91sam9m10g45ek_devices_init(void)
>  
>  	armlinux_set_bootparams((void *)(AT91_CHIPSELECT_6 + 0x100));
>  	armlinux_set_architecture(MACH_TYPE_AT91SAM9M10G45EK);
> +	ek_set_board_revision();
>  
>  	return 0;
>  }
> diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
> index e5bd45e..4d35ebe 100644
> --- a/arch/arm/mach-at91/Kconfig
> +++ b/arch/arm/mach-at91/Kconfig
> @@ -174,7 +174,8 @@ config MACH_AT91SAM9M10G45EK
>  	bool "Atmel AT91SAM9M10G45-EK Evaluation Kit"
>  	select HAVE_NAND_ATMEL_BUSWIDTH_16
>  	help
> -	  Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit.
> +	  Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit
> +	  or AT91SAM9G45-EKES or AT91SAM9M10-EKES (for those 2 select the LG LCD)
>  	  <http://atmel.com/dyn/products/tools_card_v2.asp?tool_id=4735>

Isn't it better to let the user choose the exact board type here and
select the display type automatically depending on the choice?

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list