vybrid: clock: Provide enable_i2c_clk() function for Vybrid
Provide function to enable I2C clocks for vf610 - in the generic code. This function overrides the default weak function implementation (which only returns 1). Signed-off-by: Lukasz Majewski <lukma@denx.de> Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
This commit is contained in:
parent
da6b81a8d8
commit
7db8b854d3
@ -375,3 +375,25 @@ void enable_caches(void)
|
||||
mmu_set_region_dcache_behaviour(IRAM_BASE_ADDR, IRAM_SIZE, option);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_I2C_MXC
|
||||
/* i2c_num can be from 0 - 3 */
|
||||
int enable_i2c_clk(unsigned char enable, unsigned int i2c_num)
|
||||
{
|
||||
struct ccm_reg *ccm = (struct ccm_reg *)CCM_BASE_ADDR;
|
||||
|
||||
switch (i2c_num) {
|
||||
case 0:
|
||||
clrsetbits_le32(&ccm->ccgr4, CCM_CCGR4_I2C0_CTRL_MASK,
|
||||
CCM_CCGR4_I2C0_CTRL_MASK);
|
||||
case 2:
|
||||
clrsetbits_le32(&ccm->ccgr10, CCM_CCGR10_I2C2_CTRL_MASK,
|
||||
CCM_CCGR10_I2C2_CTRL_MASK);
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
@ -22,6 +22,9 @@ enum mxc_clock {
|
||||
void enable_ocotp_clk(unsigned char enable);
|
||||
unsigned int mxc_get_clock(enum mxc_clock clk);
|
||||
u32 get_lpuart_clk(void);
|
||||
#ifdef CONFIG_SYS_I2C_MXC
|
||||
int enable_i2c_clk(unsigned char enable, unsigned int i2c_num);
|
||||
#endif
|
||||
|
||||
#define imx_get_fecclk() mxc_get_clock(MXC_FEC_CLK)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user