On Friday, April 14, 2023 7:05 PM, Jiawen Wu wrote: > On Friday, April 14, 2023 12:29 AM, Wolfram Sang wrote: > > > > > Implement I2C bus driver to send and receive I2C messages. > > > > > > > > > > This I2C license the IP of Synopsys Designware, but without interrupt > > > > > support on the hardware design. It seems that polling mode needs to be > > > > > added in Synopsys Designware I2C driver. But currently it can only be > > > > > driven by this I2C bus master driver. > > > > > > > > > > Signed-off-by: Jiawen Wu <jiawenwu@xxxxxxxxxxxxxx> > > > > > --- > > > > > drivers/net/ethernet/wangxun/Kconfig | 1 + > > > > > .../net/ethernet/wangxun/txgbe/txgbe_phy.c | 153 > > > > > ++++++++++++++++++ > > > > > .../net/ethernet/wangxun/txgbe/txgbe_type.h | 23 +++ > > > > > 3 files changed, 177 insertions(+) > > > > > > > > Looks like your use case has similarities with the commit 17631e8ca2d3 > > > ("i2c: designware: Add driver support for AMD NAVI GPU"). > > > > Yes, can you please check if you can't use the current i2c designware > > driver? > > Hi Jarkko & Wolfram, > > I read the i2c designware driver code, and found that 'dev->ss_hcnt' can > only be obtained by i2c_dw_acpi_configure() or calculated by clock rate. > > I don't quite understand how to get the clock rate. I tried to add a software > node of clock with property ("clock-frequency", 100000) and referenced by > I2C node. But it didn't work. > > Can I deliver 'dev->ss_hcnt' via platform data? Or how should I fill in the > software node? > The above question is in the case of platform driver. Moreover, why 'dev->fs_hcnt' and 'dev->fs_lcont' must be set when I use the standard mode? Should it be set only if I2C_MAX_FAST_MODE_* ?