diff --git a/boards/renesas/ek_ra6m1/doc/index.rst b/boards/renesas/ek_ra6m1/doc/index.rst index cb48f4f0c44..46829635020 100644 --- a/boards/renesas/ek_ra6m1/doc/index.rst +++ b/boards/renesas/ek_ra6m1/doc/index.rst @@ -94,6 +94,8 @@ The below features are currently supported on Zephyr OS for EK-RA6M1 board: +-----------+------------+----------------------+ | CLOCK | on-chip | clock control | +-----------+------------+----------------------+ +| I2C | on-chip | i2c | ++-----------+------------+----------------------+ Other hardware features are currently not supported by the port. diff --git a/boards/renesas/ek_ra6m1/ek_ra6m1-pinctrl.dtsi b/boards/renesas/ek_ra6m1/ek_ra6m1-pinctrl.dtsi index 56fa3e26b6a..6253efac01d 100644 --- a/boards/renesas/ek_ra6m1/ek_ra6m1-pinctrl.dtsi +++ b/boards/renesas/ek_ra6m1/ek_ra6m1-pinctrl.dtsi @@ -11,4 +11,13 @@ ; }; }; + + iic0_default: iic0_default { + group1 { + /* SCL0 SDA0 */ + psels = , + ; + drive-strength = "medium"; + }; + }; }; diff --git a/boards/renesas/ek_ra6m1/ek_ra6m1.dts b/boards/renesas/ek_ra6m1/ek_ra6m1.dts index 53fc329b048..3289a2dd69b 100644 --- a/boards/renesas/ek_ra6m1/ek_ra6m1.dts +++ b/boards/renesas/ek_ra6m1/ek_ra6m1.dts @@ -44,6 +44,17 @@ }; }; +&iic0 { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + interrupts = <91 1>, <92 1>, <93 1>, <94 1>; + interrupt-names = "rxi", "txi", "tei", "eri"; + clock-frequency = ; + pinctrl-0 = <&iic0_default>; + pinctrl-names = "default"; +}; + &ioport1 { status = "okay"; }; diff --git a/boards/renesas/ek_ra6m2/doc/index.rst b/boards/renesas/ek_ra6m2/doc/index.rst index a77b472c9fc..1324b155e9d 100644 --- a/boards/renesas/ek_ra6m2/doc/index.rst +++ b/boards/renesas/ek_ra6m2/doc/index.rst @@ -88,6 +88,8 @@ The below features are currently supported on Zephyr OS for EK-RA6M2 board: +-----------+------------+----------------------+ | CLOCK | on-chip | clock control | +-----------+------------+----------------------+ +| I2C | on-chip | i2c | ++-----------+------------+----------------------+ Other hardware features are currently not supported by the port. diff --git a/boards/renesas/ek_ra6m2/ek_ra6m2-pinctrl.dtsi b/boards/renesas/ek_ra6m2/ek_ra6m2-pinctrl.dtsi index 69d920e7eda..42958e5da30 100644 --- a/boards/renesas/ek_ra6m2/ek_ra6m2-pinctrl.dtsi +++ b/boards/renesas/ek_ra6m2/ek_ra6m2-pinctrl.dtsi @@ -11,4 +11,13 @@ ; }; }; + + iic2_default: iic2_default { + group1 { + /* SCL2 SDA2 */ + psels = , + ; + drive-strength = "medium"; + }; + }; }; diff --git a/boards/renesas/ek_ra6m2/ek_ra6m2.dts b/boards/renesas/ek_ra6m2/ek_ra6m2.dts index d498d6448e5..5f3d1bcd179 100644 --- a/boards/renesas/ek_ra6m2/ek_ra6m2.dts +++ b/boards/renesas/ek_ra6m2/ek_ra6m2.dts @@ -44,6 +44,17 @@ }; }; +&iic2 { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + interrupts = <91 1>, <92 1>, <93 1>, <94 1>; + interrupt-names = "rxi", "txi", "tei", "eri"; + clock-frequency = ; + pinctrl-0 = <&iic2_default>; + pinctrl-names = "default"; +}; + &ioport1 { status = "okay"; }; diff --git a/boards/renesas/ek_ra6m3/doc/index.rst b/boards/renesas/ek_ra6m3/doc/index.rst index ff6661ba05d..223314ac795 100644 --- a/boards/renesas/ek_ra6m3/doc/index.rst +++ b/boards/renesas/ek_ra6m3/doc/index.rst @@ -96,6 +96,8 @@ The below features are currently supported on Zephyr OS for EK-RA6M3 board: +-----------+------------+----------------------+ | CLOCK | on-chip | clock control | +-----------+------------+----------------------+ +| I2C | on-chip | i2c | ++-----------+------------+----------------------+ Other hardware features are currently not supported by the port. diff --git a/boards/renesas/ek_ra6m3/ek_ra6m3-pinctrl.dtsi b/boards/renesas/ek_ra6m3/ek_ra6m3-pinctrl.dtsi index 56fa3e26b6a..15881d04096 100644 --- a/boards/renesas/ek_ra6m3/ek_ra6m3-pinctrl.dtsi +++ b/boards/renesas/ek_ra6m3/ek_ra6m3-pinctrl.dtsi @@ -11,4 +11,13 @@ ; }; }; + + iic2_default: iic2_default { + group1 { + /* SCL2 SDA2 */ + psels = , + ; + drive-strength = "medium"; + }; + }; }; diff --git a/boards/renesas/ek_ra6m3/ek_ra6m3.dts b/boards/renesas/ek_ra6m3/ek_ra6m3.dts index 141292d9f7e..a1150cd3a66 100644 --- a/boards/renesas/ek_ra6m3/ek_ra6m3.dts +++ b/boards/renesas/ek_ra6m3/ek_ra6m3.dts @@ -60,6 +60,17 @@ }; }; +&iic2 { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + interrupts = <91 1>, <92 1>, <93 1>, <94 1>; + interrupt-names = "rxi", "txi", "tei", "eri"; + clock-frequency = ; + pinctrl-0 = <&iic2_default>; + pinctrl-names = "default"; +}; + &xtal { clock-frequency = ; mosel = <0>; diff --git a/boards/renesas/ek_ra6m4/doc/index.rst b/boards/renesas/ek_ra6m4/doc/index.rst index 6c849762c07..0256eec806d 100644 --- a/boards/renesas/ek_ra6m4/doc/index.rst +++ b/boards/renesas/ek_ra6m4/doc/index.rst @@ -101,6 +101,8 @@ The below features are currently supported on Zephyr OS for EK-RA6M4 board: +-----------+------------+----------------------+ | CLOCK | on-chip | clock control | +-----------+------------+----------------------+ +| I2C | on-chip | i2c | ++-----------+------------+----------------------+ Other hardware features are currently not supported by the port. diff --git a/boards/renesas/ek_ra6m4/ek_ra6m4-pinctrl.dtsi b/boards/renesas/ek_ra6m4/ek_ra6m4-pinctrl.dtsi index 851d8543bee..e7501c7dcbc 100644 --- a/boards/renesas/ek_ra6m4/ek_ra6m4-pinctrl.dtsi +++ b/boards/renesas/ek_ra6m4/ek_ra6m4-pinctrl.dtsi @@ -11,4 +11,13 @@ ; }; }; + + iic1_default: iic1_default { + group1 { + /* SCL1 SDA1 */ + psels = , + ; + drive-strength = "medium"; + }; + }; }; diff --git a/boards/renesas/ek_ra6m4/ek_ra6m4.dts b/boards/renesas/ek_ra6m4/ek_ra6m4.dts index 866232d5c7f..10ed42ab5ea 100644 --- a/boards/renesas/ek_ra6m4/ek_ra6m4.dts +++ b/boards/renesas/ek_ra6m4/ek_ra6m4.dts @@ -52,6 +52,17 @@ }; }; +&iic1 { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + interrupts = <91 1>, <92 1>, <93 1>, <94 1>; + interrupt-names = "rxi", "txi", "tei", "eri"; + clock-frequency = ; + pinctrl-0 = <&iic1_default>; + pinctrl-names = "default"; +}; + &ioport4 { status = "okay"; }; diff --git a/boards/renesas/ek_ra6m5/doc/index.rst b/boards/renesas/ek_ra6m5/doc/index.rst index 9612de9c1a2..45269bda8ee 100644 --- a/boards/renesas/ek_ra6m5/doc/index.rst +++ b/boards/renesas/ek_ra6m5/doc/index.rst @@ -99,6 +99,8 @@ The below features are currently supported on Zephyr OS for EK-RA6M5 board: +-----------+------------+----------------------+ | CLOCK | on-chip | clock control | +-----------+------------+----------------------+ +| I2C | on-chip | i2c | ++-----------+------------+----------------------+ Other hardware features are currently not supported by the port. diff --git a/boards/renesas/ek_ra6m5/ek_ra6m5-pinctrl.dtsi b/boards/renesas/ek_ra6m5/ek_ra6m5-pinctrl.dtsi index 851d8543bee..e7501c7dcbc 100644 --- a/boards/renesas/ek_ra6m5/ek_ra6m5-pinctrl.dtsi +++ b/boards/renesas/ek_ra6m5/ek_ra6m5-pinctrl.dtsi @@ -11,4 +11,13 @@ ; }; }; + + iic1_default: iic1_default { + group1 { + /* SCL1 SDA1 */ + psels = , + ; + drive-strength = "medium"; + }; + }; }; diff --git a/boards/renesas/ek_ra6m5/ek_ra6m5.dts b/boards/renesas/ek_ra6m5/ek_ra6m5.dts index 3cb4ebe3ba5..bd8245701d6 100644 --- a/boards/renesas/ek_ra6m5/ek_ra6m5.dts +++ b/boards/renesas/ek_ra6m5/ek_ra6m5.dts @@ -52,6 +52,17 @@ }; }; +&iic1 { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + interrupts = <91 1>, <92 1>, <93 1>, <94 1>; + interrupt-names = "rxi", "txi", "tei", "eri"; + clock-frequency = ; + pinctrl-0 = <&iic1_default>; + pinctrl-names = "default"; +}; + &ioport0 { status = "okay"; }; diff --git a/boards/renesas/fpb_ra6e1/doc/index.rst b/boards/renesas/fpb_ra6e1/doc/index.rst index 193429976b9..8f5849b6b1c 100644 --- a/boards/renesas/fpb_ra6e1/doc/index.rst +++ b/boards/renesas/fpb_ra6e1/doc/index.rst @@ -83,6 +83,8 @@ The below features are currently supported on Zephyr OS for FPB-RA6E1 board: +-----------+------------+----------------------+ | FLASH | on-chip | flash | +-----------+------------+----------------------+ +| I2C | on-chip | i2c | ++-----------+------------+----------------------+ Other hardware features are currently not supported by the port. diff --git a/boards/renesas/fpb_ra6e1/fpb_ra6e1-pinctrl.dtsi b/boards/renesas/fpb_ra6e1/fpb_ra6e1-pinctrl.dtsi index 3c01cb6bec4..ee5bb639c5d 100644 --- a/boards/renesas/fpb_ra6e1/fpb_ra6e1-pinctrl.dtsi +++ b/boards/renesas/fpb_ra6e1/fpb_ra6e1-pinctrl.dtsi @@ -11,4 +11,13 @@ ; }; }; + + iic0_default: iic0_default { + group1 { + /* SCL0 SDA0 */ + psels = , + ; + drive-strength = "medium"; + }; + }; }; diff --git a/boards/renesas/fpb_ra6e1/fpb_ra6e1.dts b/boards/renesas/fpb_ra6e1/fpb_ra6e1.dts index 2efab7438b5..8eb971a8386 100644 --- a/boards/renesas/fpb_ra6e1/fpb_ra6e1.dts +++ b/boards/renesas/fpb_ra6e1/fpb_ra6e1.dts @@ -48,6 +48,17 @@ }; }; +&iic0 { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + interrupts = <91 1>, <92 1>, <93 1>, <94 1>; + interrupt-names = "rxi", "txi", "tei", "eri"; + clock-frequency = ; + pinctrl-0 = <&iic0_default>; + pinctrl-names = "default"; +}; + &ioport4 { status = "okay"; }; diff --git a/dts/arm/renesas/ra/ra6/r7fa6m2ax.dtsi b/dts/arm/renesas/ra/ra6/r7fa6m2ax.dtsi index db5488f79f2..b1f93eed62e 100644 --- a/dts/arm/renesas/ra/ra6/r7fa6m2ax.dtsi +++ b/dts/arm/renesas/ra/ra6/r7fa6m2ax.dtsi @@ -55,6 +55,13 @@ status = "disabled"; }; }; + + iic2: iic2@40053200 { + compatible = "renesas,ra-iic"; + channel = <2>; + reg = <0x40053200 0x100>; + status = "disabled"; + }; }; clocks: clocks { diff --git a/dts/arm/renesas/ra/ra6/r7fa6m3ax.dtsi b/dts/arm/renesas/ra/ra6/r7fa6m3ax.dtsi index 0e233cd7d6f..1dbb4385519 100644 --- a/dts/arm/renesas/ra/ra6/r7fa6m3ax.dtsi +++ b/dts/arm/renesas/ra/ra6/r7fa6m3ax.dtsi @@ -95,6 +95,13 @@ status = "disabled"; }; }; + + iic2: iic2@40053200 { + compatible = "renesas,ra-iic"; + channel = <2>; + reg = <0x40053200 0x100>; + status = "disabled"; + }; }; clocks: clocks { diff --git a/dts/arm/renesas/ra/ra6/r7fa6m5xh.dtsi b/dts/arm/renesas/ra/ra6/r7fa6m5xh.dtsi index e266560fb5f..742d8cfc234 100644 --- a/dts/arm/renesas/ra/ra6/r7fa6m5xh.dtsi +++ b/dts/arm/renesas/ra/ra6/r7fa6m5xh.dtsi @@ -185,6 +185,13 @@ status = "disabled"; }; }; + + iic2: iic2@4009f200 { + compatible = "renesas,ra-iic"; + channel = <2>; + reg = <0x4009f200 0x100>; + status = "disabled"; + }; }; clocks: clocks { diff --git a/dts/arm/renesas/ra/ra6/ra6-cm33-common.dtsi b/dts/arm/renesas/ra/ra6/ra6-cm33-common.dtsi index 2f9a4f03640..cef49abbb2f 100644 --- a/dts/arm/renesas/ra/ra6/ra6-cm33-common.dtsi +++ b/dts/arm/renesas/ra/ra6/ra6-cm33-common.dtsi @@ -132,6 +132,20 @@ }; }; + iic0: iic0@4009f000 { + compatible = "renesas,ra-iic"; + channel = <0>; + reg = <0x4009f000 0x100>; + status = "disabled"; + }; + + iic1: iic1@4009f100 { + compatible = "renesas,ra-iic"; + channel = <1>; + reg = <0x4009f100 0x100>; + status = "disabled"; + }; + option_setting_ofs: option_setting_ofs@100a100 { compatible = "zephyr,memory-region"; reg = <0x0100a100 0x18>; diff --git a/dts/arm/renesas/ra/ra6/ra6-cm4-common.dtsi b/dts/arm/renesas/ra/ra6/ra6-cm4-common.dtsi index f28cbaafa6e..6b90846268e 100644 --- a/dts/arm/renesas/ra/ra6/ra6-cm4-common.dtsi +++ b/dts/arm/renesas/ra/ra6/ra6-cm4-common.dtsi @@ -221,6 +221,20 @@ }; }; + iic0: iic0@40053000 { + compatible = "renesas,ra-iic"; + channel = <0>; + reg = <0x40053000 0x100>; + status = "disabled"; + }; + + iic1: iic1@40053100 { + compatible = "renesas,ra-iic"; + channel = <1>; + reg = <0x40053100 0x100>; + status = "disabled"; + }; + id_code: id_code@100a150 { compatible = "zephyr,memory-region"; reg = <0x0100a150 0x10>; diff --git a/tests/drivers/i2c/i2c_api/boards/ek_ra6m1.conf b/tests/drivers/i2c/i2c_api/boards/ek_ra6m1.conf new file mode 100644 index 00000000000..83547b4fe72 --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/ek_ra6m1.conf @@ -0,0 +1 @@ +CONFIG_SENSOR_GY271_QMC=y diff --git a/tests/drivers/i2c/i2c_api/boards/ek_ra6m1.overlay b/tests/drivers/i2c/i2c_api/boards/ek_ra6m1.overlay new file mode 100644 index 00000000000..cce5441d28e --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/ek_ra6m1.overlay @@ -0,0 +1,6 @@ +/ { + aliases { + i2c-0 = &iic0; + gy271 = &iic0; + }; +}; diff --git a/tests/drivers/i2c/i2c_api/boards/ek_ra6m2.conf b/tests/drivers/i2c/i2c_api/boards/ek_ra6m2.conf new file mode 100644 index 00000000000..83547b4fe72 --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/ek_ra6m2.conf @@ -0,0 +1 @@ +CONFIG_SENSOR_GY271_QMC=y diff --git a/tests/drivers/i2c/i2c_api/boards/ek_ra6m2.overlay b/tests/drivers/i2c/i2c_api/boards/ek_ra6m2.overlay new file mode 100644 index 00000000000..76dd12b4be7 --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/ek_ra6m2.overlay @@ -0,0 +1,6 @@ +/ { + aliases { + i2c-0 = &iic2; + gy271 = &iic2; + }; +}; diff --git a/tests/drivers/i2c/i2c_api/boards/ek_ra6m3.conf b/tests/drivers/i2c/i2c_api/boards/ek_ra6m3.conf new file mode 100644 index 00000000000..83547b4fe72 --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/ek_ra6m3.conf @@ -0,0 +1 @@ +CONFIG_SENSOR_GY271_QMC=y diff --git a/tests/drivers/i2c/i2c_api/boards/ek_ra6m3.overlay b/tests/drivers/i2c/i2c_api/boards/ek_ra6m3.overlay new file mode 100644 index 00000000000..76dd12b4be7 --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/ek_ra6m3.overlay @@ -0,0 +1,6 @@ +/ { + aliases { + i2c-0 = &iic2; + gy271 = &iic2; + }; +}; diff --git a/tests/drivers/i2c/i2c_api/boards/ek_ra6m4.conf b/tests/drivers/i2c/i2c_api/boards/ek_ra6m4.conf new file mode 100644 index 00000000000..83547b4fe72 --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/ek_ra6m4.conf @@ -0,0 +1 @@ +CONFIG_SENSOR_GY271_QMC=y diff --git a/tests/drivers/i2c/i2c_api/boards/ek_ra6m4.overlay b/tests/drivers/i2c/i2c_api/boards/ek_ra6m4.overlay new file mode 100644 index 00000000000..a78cf1911b8 --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/ek_ra6m4.overlay @@ -0,0 +1,6 @@ +/ { + aliases { + i2c-0 = &iic1; + gy271 = &iic1; + }; +}; diff --git a/tests/drivers/i2c/i2c_api/boards/ek_ra6m5.conf b/tests/drivers/i2c/i2c_api/boards/ek_ra6m5.conf new file mode 100644 index 00000000000..83547b4fe72 --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/ek_ra6m5.conf @@ -0,0 +1 @@ +CONFIG_SENSOR_GY271_QMC=y diff --git a/tests/drivers/i2c/i2c_api/boards/ek_ra6m5.overlay b/tests/drivers/i2c/i2c_api/boards/ek_ra6m5.overlay new file mode 100644 index 00000000000..a78cf1911b8 --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/ek_ra6m5.overlay @@ -0,0 +1,6 @@ +/ { + aliases { + i2c-0 = &iic1; + gy271 = &iic1; + }; +}; diff --git a/tests/drivers/i2c/i2c_api/boards/fpb_ra6e1.conf b/tests/drivers/i2c/i2c_api/boards/fpb_ra6e1.conf new file mode 100644 index 00000000000..83547b4fe72 --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/fpb_ra6e1.conf @@ -0,0 +1 @@ +CONFIG_SENSOR_GY271_QMC=y diff --git a/tests/drivers/i2c/i2c_api/boards/fpb_ra6e1.overlay b/tests/drivers/i2c/i2c_api/boards/fpb_ra6e1.overlay new file mode 100644 index 00000000000..cce5441d28e --- /dev/null +++ b/tests/drivers/i2c/i2c_api/boards/fpb_ra6e1.overlay @@ -0,0 +1,6 @@ +/ { + aliases { + i2c-0 = &iic0; + gy271 = &iic0; + }; +};