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@xxxxxxxxxx/ 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 -- 2.30.2