All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marek.vasut@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] EfikaSB: Add preliminary EfikaSB support
Date: Mon, 19 Sep 2011 12:42:21 +0200	[thread overview]
Message-ID: <1316428941-8957-3-git-send-email-marek.vasut@gmail.com> (raw)
In-Reply-To: <1316428941-8957-1-git-send-email-marek.vasut@gmail.com>

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Stefano Babic <sbabic@denx.de>
---
 board/efikamx/efikamx.c |   57 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 53 insertions(+), 4 deletions(-)

diff --git a/board/efikamx/efikamx.c b/board/efikamx/efikamx.c
index 0f84ae0..33fbc86 100644
--- a/board/efikamx/efikamx.c
+++ b/board/efikamx/efikamx.c
@@ -46,6 +46,19 @@ DECLARE_GLOBAL_DATA_PTR;
 #error "CONFIG_MXC_SPI not set, this is essential for board's operation!"
 #endif
 
+#if !defined(CONFIG_MACH_EFIKAMX) && !defined(CONFIG_MACH_EFIKASB)
+#error "Missing CONFIG_MACH_EFIKAMX or CONFIG_MACH_EFIKASB in config.h!"
+#endif
+
+/*
+ * Pin definition
+ */
+#ifdef	CONFIG_MACH_EFIKAMX
+#define	EFIKA_SD1_CD	MX51_PIN_GPIO1_0
+#else
+#define	EFIKA_SD1_CD	MX51_PIN_EIM_CS2
+#endif
+
 /*
  * Shared variables / local defines
  */
@@ -65,6 +78,7 @@ void efikamx_toggle_led(uint32_t mask);
 /*
  * Board identification
  */
+#ifdef	CONFIG_MACH_EFIKAMX
 u32 get_efika_rev(void)
 {
 	u32 rev = 0;
@@ -96,6 +110,12 @@ u32 get_efika_rev(void)
 
 	return (~rev & 0x7) + 1;
 }
+#else
+inline u32 get_efika_rev(void)
+{
+	return 0;
+}
+#endif
 
 u32 get_board_rev(void)
 {
@@ -273,7 +293,7 @@ int board_mmc_getcd(u8 *absent, struct mmc *mmc)
 	struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
 
 	if (cfg->esdhc_base == MMC_SDHC1_BASE_ADDR)
-		*absent = gpio_get_value(IOMUX_TO_GPIO(MX51_PIN_GPIO1_0));
+		*absent = gpio_get_value(IOMUX_TO_GPIO(EFIKA_SD1_CD));
 	else
 		*absent = gpio_get_value(IOMUX_TO_GPIO(MX51_PIN_GPIO1_8));
 
@@ -284,9 +304,9 @@ int board_mmc_init(bd_t *bis)
 	int ret;
 
 	/* SDHC1 is used on all revisions, setup control pins first */
-	mxc_request_iomux(MX51_PIN_GPIO1_0,
+	mxc_request_iomux(EFIKA_SD1_CD,
 		IOMUX_CONFIG_ALT0 | IOMUX_CONFIG_SION);
-	mxc_iomux_set_pad(MX51_PIN_GPIO1_0,
+	mxc_iomux_set_pad(EFIKA_SD1_CD,
 		PAD_CTL_DRV_HIGH | PAD_CTL_HYS_ENABLE |
 		PAD_CTL_PUE_KEEPER | PAD_CTL_100K_PU |
 		PAD_CTL_ODE_OPENDRAIN_NONE |
@@ -298,11 +318,13 @@ int board_mmc_init(bd_t *bis)
 		PAD_CTL_100K_PU | PAD_CTL_ODE_OPENDRAIN_NONE |
 		PAD_CTL_SRE_FAST);
 
-	gpio_direction_input(IOMUX_TO_GPIO(MX51_PIN_GPIO1_0));
+	gpio_direction_input(IOMUX_TO_GPIO(EFIKA_SD1_CD));
 	gpio_direction_input(IOMUX_TO_GPIO(MX51_PIN_GPIO1_1));
 
+#ifndef	CONFIG_MACH_EFIKASB
 	/* Internal SDHC1 IOMUX + SDHC2 IOMUX on old boards */
 	if (get_efika_rev() < EFIKAMX_BOARD_REV_12) {
+#endif
 		/* SDHC1 IOMUX */
 		mxc_request_iomux(MX51_PIN_SD1_CMD,
 			IOMUX_CONFIG_ALT0 | IOMUX_CONFIG_SION);
@@ -384,6 +406,7 @@ int board_mmc_init(bd_t *bis)
 		ret = fsl_esdhc_initialize(bis, &esdhc_cfg[0]);
 		if (!ret)
 			ret = fsl_esdhc_initialize(bis, &esdhc_cfg[1]);
+#ifndef	CONFIG_MACH_EFIKASB
 	} else {	/* New boards use only SDHC1 */
 		/* SDHC1 IOMUX */
 		mxc_request_iomux(MX51_PIN_SD1_CMD,
@@ -414,6 +437,7 @@ int board_mmc_init(bd_t *bis)
 
 		ret = fsl_esdhc_initialize(bis, &esdhc_cfg[0]);
 	}
+#endif
 	return ret;
 }
 #endif
@@ -500,6 +524,7 @@ static inline void setup_iomux_usb(void) { }
 /*
  * LED configuration
  */
+#if defined(CONFIG_MACH_EFIKAMX)
 void setup_iomux_led(void)
 {
 	/* Blue LED */
@@ -524,6 +549,26 @@ void efikamx_toggle_led(uint32_t mask)
 	gpio_set_value(IOMUX_TO_GPIO(MX51_PIN_CSI1_HSYNC),
 			mask & EFIKAMX_LED_RED);
 }
+#else
+void setup_iomux_led(void)
+{
+	/* CAPS-LOCK LED */
+	mxc_request_iomux(MX51_PIN_EIM_CS0, IOMUX_CONFIG_GPIO);
+	gpio_direction_output(IOMUX_TO_GPIO(MX51_PIN_EIM_CS0), 0);
+
+	/* ALARM-LED LED */
+	mxc_request_iomux(MX51_PIN_GPIO1_3, IOMUX_CONFIG_GPIO);
+	gpio_direction_output(IOMUX_TO_GPIO(MX51_PIN_GPIO1_3), 0);
+}
+
+void efikamx_toggle_led(uint32_t mask)
+{
+	gpio_set_value(IOMUX_TO_GPIO(MX51_PIN_EIM_CS0),
+			mask & EFIKAMX_LED_BLUE);
+	gpio_set_value(IOMUX_TO_GPIO(MX51_PIN_GPIO1_3),
+			!(mask & EFIKAMX_LED_GREEN));
+}
+#endif
 
 /*
  * Board initialization
@@ -616,7 +661,11 @@ int board_early_init_f(void)
 
 int board_init(void)
 {
+#ifdef	CONFIG_MACH_EFIKAMX
 	gd->bd->bi_arch_number = MACH_TYPE_MX51_EFIKAMX;
+#else
+	gd->bd->bi_arch_number = MACH_TYPE_MX51_EFIKASB;
+#endif
 	gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
 
 	return 0;
-- 
1.7.5.4

  parent reply	other threads:[~2011-09-19 10:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-19 10:42 [U-Boot] [PATCH 0/2] Add EfikaSB support Marek Vasut
2011-09-19 10:42 ` [U-Boot] [PATCH 1/2] EfikaMX: Add imximage config for Efika SB Marek Vasut
2011-09-19 13:19   ` Stefano Babic
2011-09-19 18:57   ` [U-Boot] [PATCH 1/2 V2] " Marek Vasut
2011-09-25 19:52   ` Marek Vasut
2011-09-26 10:53     ` Stefano Babic
2011-09-19 10:42 ` Marek Vasut [this message]
2011-09-22  9:44   ` [U-Boot] [PATCH 2/2] EfikaSB: Add preliminary EfikaSB support Stefano Babic
2011-09-22 12:29     ` Marek Vasut
2011-09-22 14:00       ` Stefano Babic
2011-09-22 15:52         ` Marek Vasut
2011-09-25 19:55   ` [U-Boot] [PATCH 2/2 V2] " Marek Vasut
2011-09-26 10:53     ` Stefano Babic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1316428941-8957-3-git-send-email-marek.vasut@gmail.com \
    --to=marek.vasut@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.