This adds I2C support in the device tree of the T-Head TH1520 RISCV-SoC and a default configuration for the BeagleV-Ahead. It appears that the TH1520 I2C is already supported in the upstream kernel through the Synopsis Designware I2C adapter driver. This patch depends on the clock patch from Drew Fustini Link: https://lore.kernel.org/linux-riscv/20240615-th1520-clk-v1-0-3ba4978c4d6b@xxxxxxxxxxxxxxx and the pinctrl patch from Emil Renner Berthing Link: https://lore.kernel.org/linux-riscv/20240103132852.298964-1-emil.renner.berthing@xxxxxxxxxxxxx Changed from v1: 1. Remove redundant example for Synopsis DesignWare-I2C bindings 2. Remove Node Ordering commit as it has already been taken 3. Remove EEPROM label 4. Rebase on pinctrl and clock driver patches 5. Add pinctrl configuration 6. Replaced the fixed-clock with a correct configuration Changed from v2: 1. Reorder nodes to conserve ascending register node ordering 2. Add support for I2C2 as it probably use the same controller 3. Format comments to match kernel coding style 4. Reorder nodes to conserve alphabetical node ordering 6. Declare I2C2 6. Set pinctrl pull-up resistor to the highest value Signed-off-by: Thomas Bonnefille <thomas.bonnefille@xxxxxxxxxxx> --- Thomas Bonnefille (3): dt-bindings: i2c: dw: Document compatible thead,th1520-i2c riscv: dts: thead: Add TH1520 I2C nodes riscv: dts: thead: Enable I2C on the BeagleV-Ahead .../bindings/i2c/snps,designware-i2c.yaml | 4 ++ arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts | 84 ++++++++++++++++++++++ arch/riscv/boot/dts/thead/th1520.dtsi | 60 ++++++++++++++++ 3 files changed, 148 insertions(+) --- base-commit: c7cdaf7e82015e7037131381bec6ba4b2b1eface change-id: 20240425-i2c-th1520-fc3ce1a8b472 Best regards, -- Thomas Bonnefille <thomas.bonnefille@xxxxxxxxxxx>