On Tue, Apr 30, 2019 at 12:47:18PM +0800, Chuanhua Han wrote: > The current kernel driver does not consider I2C_IPGCLK_SEL (424 bit > of RCW) in deciding i2c_clk_rate in function i2c_imx_set_clk() > { 0 Platform clock/4, 1 Platform clock/2}. > > When using ls1046a SoC, this populates incorrect value in IBFD register > if I2C_IPGCLK_SEL = 0, which generates half of the desired Clock. > > Therefore, if ls1046a SoC is used, we need to set the i2c clock > according to the corresponding RCW. So the clock driver reports the wrong clock. Please fix the clock driver then. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |