diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/cpu/armv7/vf610/generic.c | 7 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-vf610/clock.h | 1 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-vf610/crm_regs.h | 1 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-vf610/imx-regs.h | 1 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-vf610/iomux-vf610.h | 4 | 
5 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/vf610/generic.c b/arch/arm/cpu/armv7/vf610/generic.c index 87f2a8642..f6ef49538 100644 --- a/arch/arm/cpu/armv7/vf610/generic.c +++ b/arch/arm/cpu/armv7/vf610/generic.c @@ -204,6 +204,11 @@ u32 get_fec_clk(void)  	return freq;  } +static u32 get_i2c_clk(void) +{ +	return get_ipg_clk(); +} +  unsigned int mxc_get_clock(enum mxc_clock clk)  {  	switch (clk) { @@ -219,6 +224,8 @@ unsigned int mxc_get_clock(enum mxc_clock clk)  		return get_sdhc_clk();  	case MXC_FEC_CLK:  		return get_fec_clk(); +	case MXC_I2C_CLK: +		return get_i2c_clk();  	default:  		break;  	} diff --git a/arch/arm/include/asm/arch-vf610/clock.h b/arch/arm/include/asm/arch-vf610/clock.h index 04e418cf8..3cbae0b82 100644 --- a/arch/arm/include/asm/arch-vf610/clock.h +++ b/arch/arm/include/asm/arch-vf610/clock.h @@ -29,6 +29,7 @@ enum mxc_clock {  	MXC_UART_CLK,  	MXC_ESDHC_CLK,  	MXC_FEC_CLK, +	MXC_I2C_CLK,  };  void enable_ocotp_clk(unsigned char enable); diff --git a/arch/arm/include/asm/arch-vf610/crm_regs.h b/arch/arm/include/asm/arch-vf610/crm_regs.h index e3f703dc8..6a67eb048 100644 --- a/arch/arm/include/asm/arch-vf610/crm_regs.h +++ b/arch/arm/include/asm/arch-vf610/crm_regs.h @@ -190,6 +190,7 @@ struct anadig_reg {  #define CCM_CCGR4_WKUP_CTRL_MASK		(0x3 << 20)  #define CCM_CCGR4_CCM_CTRL_MASK			(0x3 << 22)  #define CCM_CCGR4_GPC_CTRL_MASK			(0x3 << 24) +#define CCM_CCGR4_I2C0_CTRL_MASK		(0x3 << 12)  #define CCM_CCGR6_OCOTP_CTRL_MASK		(0x3 << 10)  #define CCM_CCGR6_DDRMC_CTRL_MASK		(0x3 << 28)  #define CCM_CCGR7_SDHC1_CTRL_MASK		(0x3 << 4) diff --git a/arch/arm/include/asm/arch-vf610/imx-regs.h b/arch/arm/include/asm/arch-vf610/imx-regs.h index c9df32a21..742e20a60 100644 --- a/arch/arm/include/asm/arch-vf610/imx-regs.h +++ b/arch/arm/include/asm/arch-vf610/imx-regs.h @@ -103,6 +103,7 @@  #define CONFIG_IOMUX_SHARE_CONF_REG  #define FEC_QUIRK_ENET_MAC +#define I2C_QUIRK_REG  /* MSCM interrupt rounter */  #define MSCM_IRSPRC_CP0_EN				1 diff --git a/arch/arm/include/asm/arch-vf610/iomux-vf610.h b/arch/arm/include/asm/arch-vf610/iomux-vf610.h index 1c728fa6b..7aeadce38 100644 --- a/arch/arm/include/asm/arch-vf610/iomux-vf610.h +++ b/arch/arm/include/asm/arch-vf610/iomux-vf610.h @@ -30,6 +30,8 @@  #define VF610_ENET_PAD_CTRL	(PAD_CTL_PUS_47K_UP | PAD_CTL_DSE_50ohm | \  				PAD_CTL_OBE_IBE_ENABLE)  #define VF610_DDR_PAD_CTRL	PAD_CTL_DSE_25ohm +#define VF610_I2C_PAD_CTRL	(PAD_CTL_PUS_47K_UP | PAD_CTL_DSE_50ohm | \ +				PAD_CTL_SPEED_HIGH | PAD_CTL_OBE_IBE_ENABLE)  enum {  	VF610_PAD_PTA6__RMII0_CLKIN		= IOMUX_PAD(0x0000, 0x0000, 2, __NA_, 0, VF610_ENET_PAD_CTRL), @@ -50,6 +52,8 @@ enum {  	VF610_PAD_PTA27__ESDHC1_DAT1		= IOMUX_PAD(0x0044, 0x0044, 5, __NA_, 0, VF610_SDHC_PAD_CTRL),  	VF610_PAD_PTA28__ESDHC1_DAT2		= IOMUX_PAD(0x0048, 0x0048, 5, __NA_, 0, VF610_SDHC_PAD_CTRL),  	VF610_PAD_PTA29__ESDHC1_DAT3		= IOMUX_PAD(0x004c, 0x004c, 5, __NA_, 0, VF610_SDHC_PAD_CTRL), +	VF610_PAD_PTB14__I2C0_SCL		= IOMUX_PAD(0x0090, 0x0090, 2, 0x033c, 1, VF610_I2C_PAD_CTRL), +	VF610_PAD_PTB15__I2C0_SDA		= IOMUX_PAD(0x0094, 0x0094, 2, 0x0340, 1, VF610_I2C_PAD_CTRL),  	VF610_PAD_DDR_A15__DDR_A_15		= IOMUX_PAD(0x0220, 0x0220, 0, __NA_, 0, VF610_DDR_PAD_CTRL),  	VF610_PAD_DDR_A14__DDR_A_14		= IOMUX_PAD(0x0224, 0x0224, 0, __NA_, 0, VF610_DDR_PAD_CTRL),  	VF610_PAD_DDR_A13__DDR_A_13		= IOMUX_PAD(0x0228, 0x0228, 0, __NA_, 0, VF610_DDR_PAD_CTRL),  |