[PATCH] at91sam9m10g45ek: add board revision support

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Fri Jan 14 21:25:54 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>
---
 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>
 
 config MACH_PM9G45
@@ -205,4 +206,16 @@ 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"
+
+config LCD_LG_LB043WQ1
+	bool "LG philips LB043WQ1"
+
+endchoice
+
 endif
-- 
1.7.2.3




More information about the barebox mailing list