[PATCH v2] at91sam9m10g45ek: add board revision support
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Sat Jan 22 10:45:34 EST 2011
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>
---
update Kconfig as sugest by Sascha
arch/arm/boards/at91sam9m10g45ek/init.c | 21 +++++++++++++++++++++
arch/arm/mach-at91/Kconfig | 19 ++++++++++++++++++-
2 files changed, 39 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..52c5d4b 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>
config MACH_PM9G45
@@ -205,4 +206,20 @@ config AT91_HAVE_2MMC
with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
onwards.
+choice
+ prompt "LCD type"
+ depends on MACH_AT91SAM9M10G45EK
+
+config LCD_TRULY_TFT1N4633E
+ bool "truly TFT1N4633-E"
+ help
+ Found on AT91SAM9M10G45-EK
+
+config LCD_LG_LB043WQ1
+ bool "LG philips LB043WQ1"
+ help
+ Found on AT91SAM9G45-EKES and AT91SAM9M10-EKES
+
+endchoice
+
endif
--
1.7.2.3
More information about the barebox
mailing list