OMAP3: MMC: Add mux for pins
Subsystems (3)
PATCH v2 1/1 OMAP3: MMC: Add mux for pins
For OMAP3 add MMC1 MMC2 pin mux
MMC3 mux is not added as there are multiple configurations possible, so the muxing is left to be done in board file
Signed-off-by Vikram Pandita <[email protected]>
Signed-off-by Chikkature Rajashekar <[email protected]>
--- arch/arm/mach-omap2/devices.c | 42 ++++++++++++++++++++++++++++ arch/arm/mach-omap2/mux.c | 49 +++++++++++++++++++++++++++++++++ arch/arm/plat-omap/include/mach/mux.h | 28 +++++++++++++++++++ 3 files changed, 119 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/devices.c +42 -0
@@ -513,6 +513,48 @@ static inline void omap2_mmc_mux(struct omap_mmc_platform_data *mmc_controller,omap_ctrl_writel (v,OMAP2_CONTROL_DEVCONF0 ); } } + +if (cpu_is_omap3430 ()) { +if (controller_nr ==0 ) { +omap_cfg_reg (N28_3430_MMC1_CLK ); +omap_cfg_reg (M27_3430_MMC1_CMD ); +omap_cfg_reg (N27_3430_MMC1_DAT0 ); +if (mmc_controller->slots[0 ].wires ==4 || + mmc_controller->slots[0 ].wires ==8 ) { +omap_cfg_reg (N26_3430_MMC1_DAT1 ); +omap_cfg_reg (N25_3430_MMC1_DAT2 ); +omap_cfg_reg (P28_3430_MMC1_DAT3 ); + } +if (mmc_controller->slots[0 ].wires ==8 ) { +omap_cfg_reg (P27_3430_MMC1_DAT4 ); +omap_cfg_reg (P26_3430_MMC1_DAT5 ); +omap_cfg_reg (R27_3430_MMC1_DAT6 ); +omap_cfg_reg (R25_3430_MMC1_DAT7 ); + } + } +if (controller_nr ==1 ) { +/* MMC2 */ +omap_cfg_reg (AE2_3430_MMC2_CLK ); +omap_cfg_reg (AG5_3430_MMC2_CMD ); +omap_cfg_reg (AH5_3430_MMC2_DAT0 ); +if (mmc_controller->slots[0 ].wires ==4 || + mmc_controller->slots[0 ].wires ==8 ) { +omap_cfg_reg (AH4_3430_MMC2_DAT1 ); +omap_cfg_reg (AG4_3430_MMC2_DAT2 ); +omap_cfg_reg (AF4_3430_MMC2_DAT3 ); + } +if (mmc_controller->slots[0 ].wires ==8 ) +printk (KERN_WARNING +"\n MMC2: DAT4, DAT5, DAT6, DAT7: " +"Setup the mux in board file" ); + } +if (controller_nr ==2 ) { +/* MMC3 */ +printk (KERN_WARNING +"\n MMC3: Setup the mux in board file: " +"Multiple options exist, so is board specific" ); + } + } } void __init omap2_init_mmc(struct omap_mmc_platform_data **mmc_data,
arch/arm/mach-omap2/mux.c +49 -0
55 lines not on this page · raw message
arch/arm/plat-omap/include/mach/mux.h +28 -0
@@ -853,6 +853,34 @@ enum omap34xx_index {AE5_34XX_GPIO143 ,H19_34XX_GPIO164_OUT ,J25_34XX_GPIO170 , + +/* MMC1 */ +N28_3430_MMC1_CLK , +M27_3430_MMC1_CMD , +N27_3430_MMC1_DAT0 , +N26_3430_MMC1_DAT1 , +N25_3430_MMC1_DAT2 , +P28_3430_MMC1_DAT3 , +P27_3430_MMC1_DAT4 , +P26_3430_MMC1_DAT5 , +R27_3430_MMC1_DAT6 , +R25_3430_MMC1_DAT7 , + +/* MMC2 */ +AE2_3430_MMC2_CLK , +AG5_3430_MMC2_CMD , +AH5_3430_MMC2_DAT0 , +AH4_3430_MMC2_DAT1 , +AG4_3430_MMC2_DAT2 , +AF4_3430_MMC2_DAT3 , + +/* MMC3 */ +AF10_3430_MMC3_CLK , +AC3_3430_MMC3_CMD , +AE11_3430_MMC3_DAT0 , +AH9_3430_MMC3_DAT1 , +AF13_3430_MMC3_DAT2 , + AF13_3430_MMC3_DAT3, }; struct omap_mux_cfg {
Signature · 1 line
1.6.0.3.613.g9f8f13
Tony Lindgren
maintainerPATCH v2 1/1 OMAP3: MMC: Add mux for pins
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.
Branch in linux-omap: omap3-upstream
Initial commit ID (Likely to change): c1ad6cbf71b9dec5b0b54891d6feb387924e38a0
PatchWorks
http://patchwork.kernel.org/patch/31803/
Git (Likely to change, and takes a while to get mirrored)
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=c1ad6cbf71b9dec5b0b54891d6feb387924e38a0