mbox series

[v2,RESEND,0/8] i2c: exynos5: Add support for modern Exynos SoCs

Message ID 20211204215820.17378-1-semen.protsenko@linaro.org
Headers show
Series i2c: exynos5: Add support for modern Exynos SoCs | expand

Message

Sam Protsenko Dec. 4, 2021, 9:58 p.m. UTC
Modern ARM64 Samsung Exynos SoCs (like Exynos Auto V9 and Exynos850) use
pretty much the same High-Speed I2C controller supported in i2c-exynos5
driver ("samsung,exynos7-hsi2c" variant), but with some differences:
- timings are now calculated and configured a bit differently
- two clocks are now provided to HSI2C controller (and must be
asserted during I2C operation and register access)

This patch series implements these changes, making it possible to use
HSI2C driver on modern Exynos SoCs.

Another change in mentioned SoCs is that HSI2C controller is now a part
of USIv2 IP-core. But no USI modifications are needed in HSI2C driver,
as all USI related configuration is done in USI driver independently.
USI driver is added in [1] series (or its later revision, if available).
To make HSI2C functional, both patch series (this one and [1]) have to
be applied, but those can be applied independently.

Changes in v2:
- Added new patches renaming "hsi2c@*" nodes to "i2c@*" for Exynos
dts's
- Added R-b tags from v1 review
- Fixed and improved i2c-exynos5 dt-bindings

[1] https://patchwork.kernel.org/project/linux-samsung-soc/cover/20211204195757.8600-1-semen.protsenko@linaro.org/

Jaewon Kim (2):
  dt-bindings: i2c: exynos5: Add exynosautov9-hsi2c compatible
  i2c: exynos5: Add support for ExynosAutoV9 SoC

Sam Protsenko (6):
  dt-bindings: i2c: exynos5: Convert to dtschema
  dt-bindings: i2c: exynos5: Add bus clock
  i2c: exynos5: Add bus clock support
  i2c: exynos5: Mention Exynos850 and ExynosAutoV9 in Kconfig
  arm: dts: exynos: Rename hsi2c nodes to i2c for Exynos5260
  arm64: dts: exynos: Rename hsi2c nodes to i2c for Exynos5433 and
    Exynos7

 .../devicetree/bindings/i2c/i2c-exynos5.txt   |  53 -------
 .../devicetree/bindings/i2c/i2c-exynos5.yaml  | 133 ++++++++++++++++++
 arch/arm/boot/dts/exynos5260.dtsi             |   8 +-
 arch/arm64/boot/dts/exynos/exynos5433.dtsi    |  24 ++--
 arch/arm64/boot/dts/exynos/exynos7.dtsi       |  24 ++--
 drivers/i2c/busses/Kconfig                    |   2 +-
 drivers/i2c/busses/i2c-exynos5.c              | 108 +++++++++++---
 7 files changed, 253 insertions(+), 99 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-exynos5.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-exynos5.yaml

Comments

Krzysztof Kozlowski Dec. 6, 2021, 8:30 a.m. UTC | #1
On Sat, 4 Dec 2021 23:58:19 +0200, Sam Protsenko wrote:
> In Device Tree specification it's recommended to use "i2c" name for I2C
> nodes. Now that i2c-exynos5 dt-schema binding was added, it shows some
> warnings like this when validating HS-I2C nodes:
> 
>     hsi2c@xxxxxxxxx: $nodename:0: 'hsi2c@xxxxxxxx' does not match
>                                   '^i2c(@.*)?'
>     From schema: Documentation/devicetree/bindings/i2c/i2c-exynos5.yaml
> 
> [...]

Applied, thanks!

[7/8] arm: dts: exynos: Rename hsi2c nodes to i2c for Exynos5260
      commit: 29bf0ff5ae18ad1a6dd183569cc097e578052c57

Best regards,