i2c: designware: Add driver support for Wangxun 10Gb NIC
authorJiawen Wu <jiawenwu@trustnetic.com>
Mon, 5 Jun 2023 02:52:04 +0000 (10:52 +0800)
committerWolfram Sang <wsa@kernel.org>
Mon, 5 Jun 2023 09:30:28 +0000 (11:30 +0200)
commit2f8d1ed793453b9f7a832c96d699bf3dca176280
tree858a8bd34afea7214aaa91019ee2e94157358a38
parent4f5d68c8591498c3955dc0228ed6606c1b138278
i2c: designware: Add driver support for Wangxun 10Gb NIC

Wangxun 10Gb ethernet chip is connected to Designware I2C, to communicate
with SFP.

Introduce the property "wx,i2c-snps-model" to match device data for Wangxun
in software node case. Since IO resource was mapped on the ethernet driver,
add a model quirk to get regmap from parent device.

The exists IP limitations are dealt as workarounds:
- IP does not support interrupt mode, it works on polling mode.
- Additionally set FIFO depth address the chip issue.

Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Reviewed-by: Piotr Raczynski <piotr.raczynski@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-designware-common.c
drivers/i2c/busses/i2c-designware-core.h
drivers/i2c/busses/i2c-designware-master.c
drivers/i2c/busses/i2c-designware-platdrv.c