mbox series

[v4,0/2] i2c: Add new driver for Renesas RZ/V2M controller

Message ID 20220708100350.12523-1-phil.edworthy@renesas.com
Headers show
Series i2c: Add new driver for Renesas RZ/V2M controller | expand

Message

Phil Edworthy July 8, 2022, 10:03 a.m. UTC
Hi,

The Renesas RZ/V2M SoC (r9a09g011) has a new i2c controller. This series
add the driver. One annoying problem is that the SoC uses a single reset
line for two i2c controllers, and unfortunately one of the controllers
is managed by some firmware, not by Linux. Therefore, the driver just
deasserts the reset.

v4:
 - Multiline comment fix
 - Use GENMASK
 - Fix too many parentheses
 - Better use of sizeof()
 - Move MODULE_DEVICE_TABLE close to use
 - Use pm_runtime_resume_and_get() and check return val
 - Replace NOIRQ_SYSTEM_SLEEP_PM_OPS with SYSTEM_SLEEP_PM_OPS
   so we can use runtime PM in suspend and resume.
v3:
  - dt-binding: Fix example indentation
  driver:
  - Lots of small fixes based on Andy Shevchenko's review
  - Use devm_reset_control_get_shared() instead of devm_reset_control_get() 

v2:
  dt-binding:
  - Use an enum and set the default for clock-frequency
  - Add resets property
  driver:
  - Use the new NOIRQ_SYSTEM_SLEEP_PM_OPS() as suggested by Arnd
  - Lots of small fixes based on Geert's review

Phil Edworthy (2):
  dt-bindings: i2c: Document RZ/V2M I2C controller
  i2c: Add Renesas RZ/V2M controller

 .../bindings/i2c/renesas,rzv2m.yaml           |  80 +++
 drivers/i2c/busses/Kconfig                    |  10 +
 drivers/i2c/busses/Makefile                   |   1 +
 drivers/i2c/busses/i2c-rzv2m.c                | 533 ++++++++++++++++++
 4 files changed, 624 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/i2c/renesas,rzv2m.yaml
 create mode 100644 drivers/i2c/busses/i2c-rzv2m.c