[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