i2c: designware: Add Baikal-T1 System I2C support
authorSerge Semin <Sergey.Semin@baikalelectronics.ru>
Thu, 28 May 2020 09:33:21 +0000 (12:33 +0300)
committerWolfram Sang <wsa@kernel.org>
Sat, 30 May 2020 21:03:06 +0000 (23:03 +0200)
commitfcb82a939df86018641f38124cb9a7811a5f8505
treef9b3d40e9ab2537066b03165c6c31a37bae6b1a2
parentb7c3d0777808cd7b5cee6078bd0ef51e82bd3db9
i2c: designware: Add Baikal-T1 System I2C support

Baikal-T1 System Controller is equipped with a dedicated I2C Controller
which functionality is based on the DW APB I2C IP-core, the only
difference in a way it' registers are accessed. There are three access
register provided in the System Controller registers map, which indirectly
address the normal DW APB I2C registers space. So in order to have the
Baikal-T1 System I2C Controller supported by the common DW APB I2C driver
we created a dedicated Dw I2C controller model quirk, which retrieves the
syscon regmap from the parental dt node and creates a new regmap based on
it.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/Kconfig
drivers/i2c/busses/i2c-designware-core.h
drivers/i2c/busses/i2c-designware-platdrv.c