diff options
Diffstat (limited to 'arch/arm')
| -rw-r--r-- | arch/arm/mach-omap1/clock_data.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/i2c.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/mux.c | 4 | ||||
| -rw-r--r-- | arch/arm/plat-omap/include/plat/mux.h | 4 | 
4 files changed, 18 insertions, 4 deletions
diff --git a/arch/arm/mach-omap1/clock_data.c b/arch/arm/mach-omap1/clock_data.c index cf5f017b392..ab995a9c606 100644 --- a/arch/arm/mach-omap1/clock_data.c +++ b/arch/arm/mach-omap1/clock_data.c @@ -655,9 +655,9 @@ static struct omap_clk omap_clks[] = {  	CLK("mmci-omap.1", "ick",	&armper_ck.clk,	CK_16XX),  	/* Virtual clocks */  	CLK(NULL,	"mpu",		&virtual_ck_mpu, CK_16XX | CK_1510 | CK_310), -	CLK("i2c_omap.1", "fck",	&i2c_fck,	CK_16XX | CK_1510 | CK_310), +	CLK("i2c_omap.1", "fck",	&i2c_fck,	CK_16XX | CK_1510 | CK_310 | CK_7XX),  	CLK("i2c_omap.1", "ick",	&i2c_ick,	CK_16XX), -	CLK("i2c_omap.1", "ick",	&dummy_ck,	CK_1510 | CK_310), +	CLK("i2c_omap.1", "ick",	&dummy_ck,	CK_1510 | CK_310 | CK_7XX),  	CLK("omap_uwire", "fck",	&armxor_ck.clk,	CK_16XX | CK_1510 | CK_310),  	CLK("omap-mcbsp.1", "ick",	&dspper_ck,	CK_16XX),  	CLK("omap-mcbsp.1", "ick",	&dummy_ck,	CK_1510 | CK_310), diff --git a/arch/arm/mach-omap1/i2c.c b/arch/arm/mach-omap1/i2c.c index bc9d12bc1c6..1bf4735e27a 100644 --- a/arch/arm/mach-omap1/i2c.c +++ b/arch/arm/mach-omap1/i2c.c @@ -21,13 +21,19 @@  #include <plat/i2c.h>  #include <plat/mux.h> +#include <plat/cpu.h>  int __init omap_register_i2c_bus(int bus_id, u32 clkrate,  			  struct i2c_board_info const *info,  			  unsigned len)  { -	omap_cfg_reg(I2C_SDA); -	omap_cfg_reg(I2C_SCL); +	if (cpu_is_omap7xx()) { +		omap_cfg_reg(I2C_7XX_SDA); +		omap_cfg_reg(I2C_7XX_SCL); +	} else { +		omap_cfg_reg(I2C_SDA); +		omap_cfg_reg(I2C_SCL); +	}  	return omap_plat_register_i2c_bus(bus_id, clkrate, info, len);  } diff --git a/arch/arm/mach-omap1/mux.c b/arch/arm/mach-omap1/mux.c index 5e183cd7611..07212cc621a 100644 --- a/arch/arm/mach-omap1/mux.c +++ b/arch/arm/mach-omap1/mux.c @@ -58,6 +58,10 @@ MUX_CFG_7XX("W19_7XX_USB_DCRST",   3,    7,    1,    6,   0, 0)  MUX_CFG_7XX("MMC_7XX_CMD",         2,    9,    0,    8,   1, 0)  MUX_CFG_7XX("MMC_7XX_CLK",         2,   13,    0,   12,   1, 0)  MUX_CFG_7XX("MMC_7XX_DAT0",        2,   17,    0,   16,   1, 0) + +/* I2C interface */ +MUX_CFG_7XX("I2C_7XX_SCL",         5,    1,    0,    0,   1, 0) +MUX_CFG_7XX("I2C_7XX_SDA",         5,    5,    0,    0,   1, 0)  };  #define OMAP7XX_PINS_SZ		ARRAY_SIZE(omap7xx_pins)  #else diff --git a/arch/arm/plat-omap/include/plat/mux.h b/arch/arm/plat-omap/include/plat/mux.h index 8ed5f25ab0f..8f069cc8035 100644 --- a/arch/arm/plat-omap/include/plat/mux.h +++ b/arch/arm/plat-omap/include/plat/mux.h @@ -179,6 +179,10 @@ enum omap7xx_index {  	MMC_7XX_CMD,  	MMC_7XX_CLK,  	MMC_7XX_DAT0, + +	/* I2C */ +	I2C_7XX_SCL, +	I2C_7XX_SDA,  };  enum omap1xxx_index {  |