diff options
Diffstat (limited to 'arch/arm/mach-omap2/i2c.c')
-rw-r--r-- | arch/arm/mach-omap2/i2c.c | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/arch/arm/mach-omap2/i2c.c b/arch/arm/mach-omap2/i2c.c index 7951ae1447ee..79c478c4cb1c 100644 --- a/arch/arm/mach-omap2/i2c.c +++ b/arch/arm/mach-omap2/i2c.c | |||
@@ -21,32 +21,19 @@ | |||
21 | 21 | ||
22 | #include <plat/cpu.h> | 22 | #include <plat/cpu.h> |
23 | #include <plat/i2c.h> | 23 | #include <plat/i2c.h> |
24 | #include <plat/mux.h> | ||
25 | 24 | ||
26 | #include "mux.h" | 25 | #include "mux.h" |
27 | 26 | ||
28 | void __init omap2_i2c_mux_pins(int bus_id) | 27 | void __init omap2_i2c_mux_pins(int bus_id) |
29 | { | 28 | { |
30 | if (cpu_is_omap24xx()) { | 29 | char mux_name[sizeof("i2c2_scl.i2c2_scl")]; |
31 | const int omap24xx_pins[][2] = { | ||
32 | { M19_24XX_I2C1_SCL, L15_24XX_I2C1_SDA }, | ||
33 | { J15_24XX_I2C2_SCL, H19_24XX_I2C2_SDA }, | ||
34 | }; | ||
35 | int scl, sda; | ||
36 | |||
37 | scl = omap24xx_pins[bus_id - 1][0]; | ||
38 | sda = omap24xx_pins[bus_id - 1][1]; | ||
39 | omap_cfg_reg(sda); | ||
40 | omap_cfg_reg(scl); | ||
41 | } | ||
42 | 30 | ||
43 | /* First I2C bus is not muxable */ | 31 | /* First I2C bus is not muxable */ |
44 | if (cpu_is_omap34xx() && bus_id > 1) { | 32 | if (bus_id == 1) |
45 | char mux_name[sizeof("i2c2_scl.i2c2_scl")]; | 33 | return; |
46 | 34 | ||
47 | sprintf(mux_name, "i2c%i_scl.i2c%i_scl", bus_id, bus_id); | 35 | sprintf(mux_name, "i2c%i_scl.i2c%i_scl", bus_id, bus_id); |
48 | omap_mux_init_signal(mux_name, OMAP_PIN_INPUT); | 36 | omap_mux_init_signal(mux_name, OMAP_PIN_INPUT); |
49 | sprintf(mux_name, "i2c%i_sda.i2c%i_sda", bus_id, bus_id); | 37 | sprintf(mux_name, "i2c%i_sda.i2c%i_sda", bus_id, bus_id); |
50 | omap_mux_init_signal(mux_name, OMAP_PIN_INPUT); | 38 | omap_mux_init_signal(mux_name, OMAP_PIN_INPUT); |
51 | } | ||
52 | } | 39 | } |