[U-Boot] [RFC] OMAP3: make TWL4030 optional for MMC driver

Matthias Ludwig mludwig at ultratronik.de
Thu Aug 27 15:24:08 CEST 2009


Upcoming boards may power MMC card themself without using
TWL4030, so make it optional by using define CONFIG_TWL4030_MMC.

Enable this for all existing OMAP3 boards.

Signed-off-by: Matthias Ludwig <mludwig at ultratronik.de>
---

Current OMAP3 MMC driver does require TWL4030 support to
be enabled as all OMAP3 boards are using this chip. I'd like
to push patches for a new board which does not has a TWL4030
and is caring about MMC power by itself.

So, my suggestion is to make the TWL4030 dependency optional.
Are there better ways to to this can using a new define
CONFIG_TWL4030_MMC?

 drivers/mmc/omap3_mmc.c         |    4 ++++
 include/configs/omap3_beagle.h  |    1 +
 include/configs/omap3_evm.h     |    1 +
 include/configs/omap3_overo.h   |    1 +
 include/configs/omap3_pandora.h |    1 +
 include/configs/omap3_zoom1.h   |    1 +
 include/configs/omap3_zoom2.h   |    1 +
 7 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/omap3_mmc.c b/drivers/mmc/omap3_mmc.c
index 9e09434..0ed88cb 100644
--- a/drivers/mmc/omap3_mmc.c
+++ b/drivers/mmc/omap3_mmc.c
@@ -27,8 +27,10 @@
 #include <fat.h>
 #include <mmc.h>
 #include <part.h>
+#ifdef CONFIG_TWL4030_MMC
 #include <i2c.h>
 #include <twl4030.h>
+#endif
 #include <asm/io.h>
 #include <asm/arch/mmc.h>
 
@@ -63,7 +65,9 @@ unsigned char mmc_board_init(void)
 {
 	t2_t *t2_base = (t2_t *)T2_BASE;
 
+#ifdef CONFIG_TWL4030_MMC
 	twl4030_power_mmc_init();
+#endif
 
 	writel(readl(&t2_base->pbias_lite) | PBIASLITEPWRDNZ1 |
 		PBIASSPEEDCTRL0 | PBIASLITEPWRDNZ0,
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index 61629f8..e1cb759 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -132,6 +132,7 @@
 /*
  * TWL4030
  */
+#define CONFIG_TWL4030_MMC		1
 #define CONFIG_TWL4030_POWER		1
 #define CONFIG_TWL4030_LED		1
 
diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
index 9f0f34b..b3c64a8 100644
--- a/include/configs/omap3_evm.h
+++ b/include/configs/omap3_evm.h
@@ -130,6 +130,7 @@
 /*
  * TWL4030
  */
+#define CONFIG_TWL4030_MMC		1
 #define CONFIG_TWL4030_POWER		1
 
 /*
diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
index 07a031b..983832d 100644
--- a/include/configs/omap3_overo.h
+++ b/include/configs/omap3_overo.h
@@ -118,6 +118,7 @@
 /*
  * TWL4030
  */
+#define CONFIG_TWL4030_MMC		1
 #define CONFIG_TWL4030_POWER		1
 #define CONFIG_TWL4030_LED		1
 
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 1cfd7e9..0d87c71 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -121,6 +121,7 @@
 /*
  * TWL4030
  */
+#define CONFIG_TWL4030_MMC		1
 #define CONFIG_TWL4030_POWER		1
 #define CONFIG_TWL4030_LED		1
 
diff --git a/include/configs/omap3_zoom1.h b/include/configs/omap3_zoom1.h
index 61a41e7..1140052 100644
--- a/include/configs/omap3_zoom1.h
+++ b/include/configs/omap3_zoom1.h
@@ -128,6 +128,7 @@
 /*
  * TWL4030
  */
+#define CONFIG_TWL4030_MMC		1
 #define CONFIG_TWL4030_POWER		1
 #define CONFIG_TWL4030_LED		1
 
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
index 03f92f5..40add99 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -149,6 +149,7 @@
 /*
  * TWL4030
  */
+#define CONFIG_TWL4030_MMC		1
 #define CONFIG_TWL4030_POWER		1
 #define CONFIG_TWL4030_LED		1
 
-- 
1.6.2.5



More information about the U-Boot mailing list