Use the mux framework to initialise the mcbsp mux pins

Signed-off-by: sricharan <[email protected]>
---
 arch/arm/mach-omap2/mcbsp.c |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c
index f9c9df5..491e3f6 100644
--- a/arch/arm/mach-omap2/mcbsp.c
+++ b/arch/arm/mach-omap2/mcbsp.c
@@ -25,6 +25,7 @@
 
 #include "control.h"
 
+#include "mux.h"
 
 /* McBSP internal signal muxing functions */
 
@@ -287,9 +288,39 @@ static int __init omap2_mcbsp_init(void)
        if (cpu_is_omap34xx())
                omap_mcbsp_register_board_cfg(omap34xx_mcbsp_pdata,
                                                OMAP34XX_MCBSP_PDATA_SZ);
-       if (cpu_is_omap44xx())
+       if (cpu_is_omap44xx()) {
                omap_mcbsp_register_board_cfg(omap44xx_mcbsp_pdata,
                                                OMAP44XX_MCBSP_PDATA_SZ);
+               /* MCBSP1 PIN MUX configurations */
+               omap_mux_init_signal("abe_mcbsp1_clkx.abe_slimbus1_clock",
+                                                       OMAP_PIN_INPUT);
+               omap_mux_init_signal("abe_mcbsp1_dr.abe_slimbus1_data",
+                                                       OMAP_PIN_INPUT);
+               omap_mux_init_signal("abe_mcbsp1_dx.abe_mcbsp1_dx",
+                                                       OMAP_PIN_OUTPUT);
+               omap_mux_init_signal("abe_mcbsp1_fsx.abe_mcbsp1_fsx",
+                                                       OMAP_PIN_INPUT);
+
+               /* MCBSP2 PIN MUX configurations */
+               omap_mux_init_signal("abe_mcbsp2_clkx.abe_mcbsp2_clkx",
+                                                       OMAP_PIN_INPUT);
+               omap_mux_init_signal("abe_mcbsp2_dr.abe_mcbsp2_dr",
+                                                       OMAP_PIN_INPUT);
+               omap_mux_init_signal("abe_mcbsp2_dx.abe_mcbsp2_dx",
+                                                       OMAP_PIN_OUTPUT);
+               omap_mux_init_signal("abe_mcbsp2_fsx.abe_mcbsp2_fsx",
+                                                       OMAP_PIN_INPUT);
+
+               /* MCBSP 3 is configured as MCPDM */
+               omap_mux_init_signal("abe_pdm_ul_data.abe_pdm_ul_data",
+                                               OMAP_PIN_INPUT_PULLDOWN);
+               omap_mux_init_signal("abe_pdm_dl_data.abe_pdm_dl_data",
+                                               OMAP_PIN_INPUT_PULLDOWN);
+               omap_mux_init_signal("abe_pdm_frame.abe_pdm_frame",
+                                               OMAP_PIN_INPUT_PULLUP);
+               omap_mux_init_signal("abe_pdm_lb_clk.abe_pdm_lb_clk",
+                                               OMAP_PIN_INPUT_PULLDOWN);
+       }
 
        return omap_mcbsp_init();
 }
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to