> -----Original Message----- > From: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > Sent: 2019年4月30日 20:51 > To: Chuanhua Han <chuanhua.han@xxxxxxx> > Cc: shawnguo@xxxxxxxxxx; Leo Li <leoyang.li@xxxxxxx>; robh+dt@xxxxxxxxxx; > mark.rutland@xxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > linux-i2c@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > devicetree@xxxxxxxxxxxxxxx; festevam@xxxxxxxxx; dl-linux-imx > <linux-imx@xxxxxxx>; wsa+renesas@xxxxxxxxxxxxxxxxxxxx; > u.kleine-koenig@xxxxxxxxxxxxxx; eha@xxxxxxxx; linux@xxxxxxxxxxxxxxxx; > l.stach@xxxxxxxxxxxxxx; peda@xxxxxxxxxx; Sumit Batra > <sumit.batra@xxxxxxx> > Subject: [EXT] Re: [PATCH 1/2] i2c: imx: I2C Driver doesn't consider > I2C_IPGCLK_SEL RCW bit when using ls1046a SoC > > Caution: EXT Email > > 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. No, this is a problem with the i2c driver. It is not a problem with the clock driver, so the i2c driver needs to be modified. > > Sascha > > -- > Pengutronix e.K. | > | > Industrial Linux Solutions | > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pe > ngutronix.de%2F&data=02%7C01%7Cchuanhua.han%40nxp.com%7C2bb > a89c908fb4bd37b6708d6cd6a7ff7%7C686ea1d3bc2b4c6fa92cd99c5c301635 > %7C0%7C0%7C636922254625472037&sdata=eC4bGDNAOhEu24xt9F0h > kxE%2B1ffooCZ4CUr4o0gQGD4%3D&reserved=0 | > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 > | > Amtsgericht Hildesheim, HRA 2686 | Fax: > +49-5121-206917-5555 |