Merge branch 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro...
[sfrench/cifs-2.6.git] / arch / arm / mach-omap2 / devices.c
index 733d3dcff98bb9214de34fa9d6ec032d40a4c4e9..18ad93160abbc5fca7bf68ae3dba578c7f2f22b9 100644 (file)
@@ -27,6 +27,8 @@
 #include <mach/gpio.h>
 #include <plat/mmc.h>
 
+#include "mux.h"
+
 #if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE)
 
 static struct resource cam_resources[] = {
@@ -595,27 +597,40 @@ static inline void omap2_mmc_mux(struct omap_mmc_platform_data *mmc_controller,
 
        if (cpu_is_omap34xx()) {
                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);
+                       omap_mux_init_signal("sdmmc1_clk",
+                               OMAP_PIN_INPUT_PULLUP);
+                       omap_mux_init_signal("sdmmc1_cmd",
+                               OMAP_PIN_INPUT_PULLUP);
+                       omap_mux_init_signal("sdmmc1_dat0",
+                               OMAP_PIN_INPUT_PULLUP);
                        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);
+                               omap_mux_init_signal("sdmmc1_dat1",
+                                       OMAP_PIN_INPUT_PULLUP);
+                               omap_mux_init_signal("sdmmc1_dat2",
+                                       OMAP_PIN_INPUT_PULLUP);
+                               omap_mux_init_signal("sdmmc1_dat3",
+                                       OMAP_PIN_INPUT_PULLUP);
                        }
                        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);
+                               omap_mux_init_signal("sdmmc1_dat4",
+                                       OMAP_PIN_INPUT_PULLUP);
+                               omap_mux_init_signal("sdmmc1_dat5",
+                                       OMAP_PIN_INPUT_PULLUP);
+                               omap_mux_init_signal("sdmmc1_dat6",
+                                       OMAP_PIN_INPUT_PULLUP);
+                               omap_mux_init_signal("sdmmc1_dat7",
+                                       OMAP_PIN_INPUT_PULLUP);
                        }
                }
                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);
+                       omap_mux_init_signal("sdmmc2_clk",
+                               OMAP_PIN_INPUT_PULLUP);
+                       omap_mux_init_signal("sdmmc2_cmd",
+                               OMAP_PIN_INPUT_PULLUP);
+                       omap_mux_init_signal("sdmmc2_dat0",
+                               OMAP_PIN_INPUT_PULLUP);
 
                        /*
                         * For 8 wire configurations, Lines DAT4, 5, 6 and 7 need to be muxed
@@ -623,15 +638,22 @@ static inline void omap2_mmc_mux(struct omap_mmc_platform_data *mmc_controller,
                         */
                        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);
+                               omap_mux_init_signal("sdmmc2_dat1",
+                                       OMAP_PIN_INPUT_PULLUP);
+                               omap_mux_init_signal("sdmmc2_dat2",
+                                       OMAP_PIN_INPUT_PULLUP);
+                               omap_mux_init_signal("sdmmc2_dat3",
+                                       OMAP_PIN_INPUT_PULLUP);
                        }
                        if (mmc_controller->slots[0].wires == 8) {
-                               omap_cfg_reg(AE4_3430_MMC2_DAT4);
-                               omap_cfg_reg(AH3_3430_MMC2_DAT5);
-                               omap_cfg_reg(AF3_3430_MMC2_DAT6);
-                               omap_cfg_reg(AE3_3430_MMC2_DAT7);
+                               omap_mux_init_signal("sdmmc2_dat4.sdmmc2_dat4",
+                                       OMAP_PIN_INPUT_PULLUP);
+                               omap_mux_init_signal("sdmmc2_dat5.sdmmc2_dat5",
+                                       OMAP_PIN_INPUT_PULLUP);
+                               omap_mux_init_signal("sdmmc2_dat6.sdmmc2_dat6",
+                                       OMAP_PIN_INPUT_PULLUP);
+                               omap_mux_init_signal("sdmmc2_dat7.sdmmc2_dat7",
+                                       OMAP_PIN_INPUT_PULLUP);
                        }
                }