diff options
author | Troy Kisky <troy.kisky@boundarydevices.com> | 2012-07-19 08:18:25 +0000 |
---|---|---|
committer | Heiko Schocher <hs@denx.de> | 2012-07-31 08:00:57 +0200 |
commit | cc54a0f7cccf976d350801d39c406e75465ebdd1 (patch) | |
tree | c28139c6518e37fd16786cd011bbb5b5f0556a0b /arch/arm/cpu/armv7/mx5 | |
parent | df369dcdb05729304761748856a2513d9ddac272 (diff) | |
download | u-boot-imx-cc54a0f7cccf976d350801d39c406e75465ebdd1.zip u-boot-imx-cc54a0f7cccf976d350801d39c406e75465ebdd1.tar.gz u-boot-imx-cc54a0f7cccf976d350801d39c406e75465ebdd1.tar.bz2 |
imx-common: add i2c.c for bus recovery support
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Diffstat (limited to 'arch/arm/cpu/armv7/mx5')
-rw-r--r-- | arch/arm/cpu/armv7/mx5/clock.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/mx5/clock.c b/arch/arm/cpu/armv7/mx5/clock.c index 64862b3..c67c3cf 100644 --- a/arch/arm/cpu/armv7/mx5/clock.c +++ b/arch/arm/cpu/armv7/mx5/clock.c @@ -117,6 +117,26 @@ void enable_usboh3_clk(unsigned char enable) writel(reg, &mxc_ccm->CCGR2); } +#ifdef CONFIG_I2C_MXC +/* i2c_num can be from 0 - 2 */ +int enable_i2c_clk(unsigned char enable, unsigned i2c_num) +{ + u32 reg; + u32 mask; + + if (i2c_num > 2) + return -EINVAL; + mask = MXC_CCM_CCGR_CG_MASK << ((i2c_num + 9) << 1); + reg = __raw_readl(&mxc_ccm->CCGR1); + if (enable) + reg |= mask; + else + reg &= ~mask; + __raw_writel(reg, &mxc_ccm->CCGR1); + return 0; +} +#endif + void set_usb_phy1_clk(void) { unsigned int reg; |