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

Tom Tom.Rix at windriver.com
Thu Aug 27 15:42:17 CEST 2009


Maybe it would be better if the power_init function was removed from the 
common file and moved to the individual board files.  What do you think ?
Tom


Matthias Ludwig wrote:
> 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
>  
>   



More information about the U-Boot mailing list