From 8f0cbd62edb6fad4d62272ef3f76b3dd74c3a1ad Mon Sep 17 00:00:00 2001
From: Stefan Roese <sr@denx.de>
Date: Wed, 4 Dec 2013 09:27:37 +0100
Subject: [PATCH] arm: omap3: Add HEAD acoustics (HA) board variant omap3_ha to
 tao3530

The Head acoustics (HA) baseboard used the Technexion TAO3530 SOM
and has only some minor differences to the Technexion Thunder baseboard.
This patch adds support for this HA baseboard / TAO3530 as the "omap3_ha"
build target.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Tapani Utriainen <tapani@technexion.com>
Cc: Thorsten Eisbein <thorsten.eisbein@head-acoustics.de>
Cc: Tom Rini <trini@ti.com>
---
 board/technexion/tao3530/tao3530.c | 15 +++++++++++++++
 board/technexion/tao3530/tao3530.h |  7 +++++++
 boards.cfg                         |  1 +
 3 files changed, 23 insertions(+)

diff --git a/board/technexion/tao3530/tao3530.c b/board/technexion/tao3530/tao3530.c
index 5041eaf7d3..44a82406aa 100644
--- a/board/technexion/tao3530/tao3530.c
+++ b/board/technexion/tao3530/tao3530.c
@@ -75,6 +75,18 @@ out:
  */
 void get_board_mem_timings(struct board_sdrc_timings *timings)
 {
+#if defined(CONFIG_SYS_BOARD_OMAP3_HA)
+	/*
+	 * Switch baseboard LED to red upon power-on
+	 */
+	MUX_OMAP3_HA();
+
+	/* Request a gpio before using it */
+	gpio_request(111, "");
+	/* Sets the gpio as output and its value to 1, switch LED to red */
+	gpio_direction_output(111, 1);
+#endif
+
 	if (tao3530_revision() < 3) {
 		/* 256MB / Bank */
 		timings->mcfg = MCFG(256 << 20, 14);	/* RAS-width 14 */
@@ -162,6 +174,9 @@ int misc_init_r(void)
 void set_muxconf_regs(void)
 {
 	MUX_TAO3530();
+#if defined(CONFIG_SYS_BOARD_OMAP3_HA)
+	MUX_OMAP3_HA();
+#endif
 }
 
 #if defined(CONFIG_GENERIC_MMC) && !defined(CONFIG_SPL_BUILD)
diff --git a/board/technexion/tao3530/tao3530.h b/board/technexion/tao3530/tao3530.h
index 1ea767dbf2..daff109480 100644
--- a/board/technexion/tao3530/tao3530.h
+++ b/board/technexion/tao3530/tao3530.h
@@ -9,7 +9,11 @@
 
 const omap3_sysinfo sysinfo = {
 	DDR_STACKED,
+#if defined(CONFIG_SYS_BOARD_OMAP3_HA)
+	"HEAD acoustics OMAP3-HA",
+#else
 	"OMAP3 TAO-3530 board",
+#endif
 	"NAND",
 };
 
@@ -361,4 +365,7 @@ const omap3_sysinfo sysinfo = {
 	MUX_VAL(CP(SDRC_CKE0),	(IDIS | PTU | EN  | M0)) \
 	MUX_VAL(CP(SDRC_CKE1),	(IDIS | PTU | EN  | M0))
 
+#define MUX_OMAP3_HA() \
+	MUX_VAL(CP(CAM_XCLKB),	(IDIS | PTD | DIS | M4)) /* GPIO_111 */
+
 #endif
diff --git a/boards.cfg b/boards.cfg
index e9d3324c4a..b662149e66 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -328,6 +328,7 @@ Active  arm         armv7          omap3       logicpd         zoom1
 Active  arm         armv7          omap3       logicpd         zoom2               omap3_zoom2                          -                                                                                                                                 Tom Rix <Tom.Rix@windriver.com>
 Active  arm         armv7          omap3       matrix_vision   mvblx               omap3_mvblx                          -                                                                                                                                 Michael Jones <michael.jones@matrix-vision.de>
 Active  arm         armv7          omap3       nokia           rx51                nokia_rx51                           -                                                                                                                                 Pali Rohár <pali.rohar@gmail.com>
+Active  arm         armv7          omap3       technexion      tao3530             omap3_ha                             tao3530:SYS_BOARD_OMAP3_HA                                                                                                        Stefan Roese <sr@denx.de>
 Active  arm         armv7          omap3       technexion      tao3530             tao3530                              -                                                                                                                                 Tapani Utriainen <linuxfae@technexion.com>
 Active  arm         armv7          omap3       technexion      twister             twister                              -                                                                                                                                 Stefano Babic <sbabic@denx.de>
 Active  arm         armv7          omap3       teejet          mt_ventoux          mt_ventoux                           -                                                                                                                                 Stefano Babic <sbabic@denx.de>
-- 
2.39.5