Skip to contentSkip to conversation

dt-bindings: i2c: renesas,iic: Always declare generic compatibility

PATCH Applied Geert Uytterhoeven 2 participants 7 messages Jun 18, 2021 – Jun 20, 2021 1 message not in the archive

Subsystems (4)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

Geert Uytterhoeven

author maintainer
#1 lore raw

PATCH v2 1/5 dt-bindings: i2c: renesas,iic: Always declare generic compatibility

According to the Hardware User's Manual, automatic transmission for PMIC control (DVFS) is not available on the R-Car E3 and RZ/G2E SoC. Experiments showed this really means that support for automatic DVFS is not present, while the IIC automatic transmission feature itself is still available, albeit not super useful.

Hence there is no longer a reason not to declare compatibility with the R-Car Gen3-specific and generic versions, and the corresponding paragraph can be dropped.

---
v2:
- New.

 Documentation/devicetree/bindings/i2c/renesas,iic.txt | 5 -----
 1 file changed, 5 deletions(-)
Documentation/devicetree/bindings/i2c/renesas,iic.txt +0 -5
index 93d412832e66b682..5de808f79b0630c2 100644
@@ -37,11 +37,6 @@ Required properties:
 			When compatible with "renesas,rmobile-iic" it should
 			be the last compatibility string listed.
 
-			The r8a77990 (R-Car E3) and r8a774c0 (RZ/G2E)
-			controllers are not considered compatible with
-			"renesas,rcar-gen3-iic" or "renesas,rmobile-iic"
-			due to the absence of automatic transmission registers.
-
 - reg             : address start and address range size of device
 - interrupts      : interrupt of device
 - clocks          : clock for device
Signature · 1 line
2.25.1
maintainer Applied
#2 lore raw
Quoted 11 lines · Geert Uytterhoeven

According to the Hardware User's Manual, automatic transmission for PMIC control (DVFS) is not available on the R-Car E3 and RZ/G2E SoC. Experiments showed this really means that support for automatic DVFS is not present, while the IIC automatic transmission feature itself is still available, albeit not super useful.

Hence there is no longer a reason not to declare compatibility with the R-Car Gen3-specific and generic versions, and the corresponding paragraph can be dropped.

Applied to for-next, thanks!

author maintainer
#3 lore raw

PATCH v2 2/5 ARM: dts: rzg1: Add generic compatible strings to IIC nodes

In reply to a message not in the archive

According to the Hardware User's Manual, automatic transmission for PMIC control (DVFS) is not available" on RZ/G1 SoCs. This really means that support for automatic DVFS is not present, while the IIC automatic transmission feature itself is still available, albeit not super useful.

Hence there is no longer a reason not to declare compatibility with the R-Car Gen2-specific and generic versions.

---
v2:
- New.

---
 arch/arm/boot/dts/r8a7742.dtsi | 4 +++-
 arch/arm/boot/dts/r8a7743.dtsi | 4 +++-
 arch/arm/boot/dts/r8a7744.dtsi | 4 +++-
 3 files changed, 9 insertions(+), 3 deletions(-)
arch/arm/boot/dts/r8a7742.dtsi +3 -1
index a2279686ffcccb04..420e0b3259d48de6 100644
@@ -602,7 +602,9 @@ iic2: i2c@e6520000 {
 		iic3: i2c@e60b0000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
-			compatible = "renesas,iic-r8a7742";
+			compatible = "renesas,iic-r8a7742",
+				     "renesas,rcar-gen2-iic",
+				     "renesas,rmobile-iic";
 			reg = <0 0xe60b0000 0 0x425>;
 			interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 926>;
arch/arm/boot/dts/r8a7743.dtsi +3 -1
index 7e5e09d210ec5a60..3502b5dcc04ff349 100644
@@ -552,7 +552,9 @@ iic3: i2c@e60b0000 {
 			/* doesn't need pinmux */
 			#address-cells = <1>;
 			#size-cells = <0>;
-			compatible = "renesas,iic-r8a7743";
+			compatible = "renesas,iic-r8a7743",
+				     "renesas,rcar-gen2-iic",
+				     "renesas,rmobile-iic";
 			reg = <0 0xe60b0000 0 0x425>;
 			interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 926>;
arch/arm/boot/dts/r8a7744.dtsi +3 -1
index 8419683a9d83915c..f5d4b8b85b6d11d7 100644
@@ -552,7 +552,9 @@ iic3: i2c@e60b0000 {
 			/* doesn't need pinmux */
 			#address-cells = <1>;
 			#size-cells = <0>;
-			compatible = "renesas,iic-r8a7744";
+			compatible = "renesas,iic-r8a7744",
+				     "renesas,rcar-gen2-iic",
+				     "renesas,rmobile-iic";
 			reg = <0 0xe60b0000 0 0x425>;
 			interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 926>;
Signature · 1 line
2.25.1
author maintainer
#4 lore raw

PATCH v2 3/5 arm64: dts: renesas: r8a774c0: Add generic compatible string to IIC node

In reply to a message not in the archive

According to the Hardware User's Manual, automatic transmission for PMIC control (DVFS) is not available" on the RZ/G2E SoC. This really means that support for automatic DVFS is not present, while the IIC automatic transmission feature itself is still available, albeit not super useful.

Hence there is no longer a reason not to declare compatibility with the R-Car Gen3-specific and generic versions. Accordingly, extend the reg property to cover the automatic transmission registers.

---
v2:
- New.

---
 arch/arm64/boot/dts/renesas/r8a774c0.dtsi | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/renesas/r8a774c0.dtsi +4 -2
index a5d4dce8476d7ea1..0b0f871bac1cb116 100644
@@ -577,8 +577,10 @@ i2c7: i2c@e6690000 {
 		i2c_dvfs: i2c@e60b0000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
-			compatible = "renesas,iic-r8a774c0";
-			reg = <0 0xe60b0000 0 0x15>;
+			compatible = "renesas,iic-r8a774c0",
+				     "renesas,rcar-gen3-iic",
+				     "renesas,rmobile-iic";
+			reg = <0 0xe60b0000 0 0x425>;
 			interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 926>;
 			power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
Signature · 1 line
2.25.1
author maintainer
#5 lore raw

PATCH v2 4/5 arm64: dts: renesas: r8a77990: Add generic compatible string to IIC node

In reply to a message not in the archive

According to the Hardware User's Manual, automatic transmission for PMIC control (DVFS) is not available" on the R-Car E3 SoC. Experiments showed this really means that support for automatic DVFS is not present, while the IIC automatic transmission feature itself is still available, albeit not super useful.

Hence there is no longer a reason not to declare compatibility with the R-Car Gen3-specific and generic versions. Accordingly, extend the reg property to cover the automatic transmission registers.

---
v2:
- New.

---
 arch/arm64/boot/dts/renesas/r8a77990.dtsi | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/renesas/r8a77990.dtsi +4 -2
index 4d0304bc9745a421..0ea300a8147d013b 100644
@@ -290,8 +290,10 @@ pfc: pinctrl@e6060000 {
 		i2c_dvfs: i2c@e60b0000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
-			compatible = "renesas,iic-r8a77990";
-			reg = <0 0xe60b0000 0 0x15>;
+			compatible = "renesas,iic-r8a77990",
+				     "renesas,rcar-gen3-iic",
+				     "renesas,rmobile-iic";
+			reg = <0 0xe60b0000 0 0x425>;
 			interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 926>;
 			power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
Signature · 1 line
2.25.1
author maintainer
#6 lore raw

PATCH v2 5/5 dt-bindings: i2c: renesas,iic: Convert to json-schema

In reply to a message not in the archive

Convert the Renesas R-Mobile I2C Bus Interface (IIC) Device Tree binding documentation to json-schema.

Document missing properties.
R-Mobile A1 and SH-Mobile have multiple interrupts. Update the example to match reality.

---
v2:
- Add Reviewed-by,
- Consider all variants and instances compatible with the family-specific and generic versions.

---
 .../devicetree/bindings/i2c/renesas,iic.txt   |  67 --------
 .../bindings/i2c/renesas,rmobile-iic.yaml     | 149 ++++++++++++++++++
 MAINTAINERS                                   |   2 +-
 3 files changed, 150 insertions(+), 68 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/i2c/renesas,iic.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/renesas,rmobile-iic.yaml
Documentation/devicetree/bindings/i2c/renesas,iic.txt deleted +0 -67
deleted file mode 100644
index 5de808f79b0630c2..0000000000000000
@@ -1,67 +0,0 @@
-Device tree configuration for Renesas IIC (sh_mobile) driver
-
-Required properties:
-- compatible      :
-			- "renesas,iic-r8a73a4" (R-Mobile APE6)
-			- "renesas,iic-r8a7740" (R-Mobile A1)
-			- "renesas,iic-r8a7742" (RZ/G1H)
-			- "renesas,iic-r8a7743" (RZ/G1M)
-			- "renesas,iic-r8a7744" (RZ/G1N)
-			- "renesas,iic-r8a7745" (RZ/G1E)
-			- "renesas,iic-r8a774a1" (RZ/G2M)
-			- "renesas,iic-r8a774b1" (RZ/G2N)
-			- "renesas,iic-r8a774c0" (RZ/G2E)
-			- "renesas,iic-r8a774e1" (RZ/G2H)
-			- "renesas,iic-r8a7790" (R-Car H2)
-			- "renesas,iic-r8a7791" (R-Car M2-W)
-			- "renesas,iic-r8a7792" (R-Car V2H)
-			- "renesas,iic-r8a7793" (R-Car M2-N)
-			- "renesas,iic-r8a7794" (R-Car E2)
-			- "renesas,iic-r8a7795" (R-Car H3)
-			- "renesas,iic-r8a7796" (R-Car M3-W)
-			- "renesas,iic-r8a77961" (R-Car M3-W+)
-			- "renesas,iic-r8a77965" (R-Car M3-N)
-			- "renesas,iic-r8a77990" (R-Car E3)
-			- "renesas,iic-sh73a0" (SH-Mobile AG5)
-			- "renesas,rcar-gen2-iic" (generic R-Car Gen2 or RZ/G1
-							compatible device)
-			- "renesas,rcar-gen3-iic" (generic R-Car Gen3 or RZ/G2
-							compatible device)
-			- "renesas,rmobile-iic" (generic device)
-
-			When compatible with a generic R-Car version, nodes
-			must list the SoC-specific version corresponding to
-			the platform first followed by the generic R-Car
-			version.
-
-			When compatible with "renesas,rmobile-iic" it should
-			be the last compatibility string listed.
-
-- reg             : address start and address range size of device
-- interrupts      : interrupt of device
-- clocks          : clock for device
-- #address-cells  : should be <1>
-- #size-cells     : should be <0>
-
-Optional properties:
-- clock-frequency : frequency of bus clock in Hz. Default 100kHz if unset.
-- dmas            : Must contain a list of two references to DMA
-		    specifiers, one for transmission, and one for
-		    reception.
-- dma-names       : Must contain a list of two DMA names, "tx" and "rx".
-
-
-Pinctrl properties might be needed, too. See there.
-
-Example:
-
-	iic0: i2c@e6500000 {
-		compatible = "renesas,iic-r8a7790", "renesas,rcar-gen2-iic",
-			     "renesas,rmobile-iic";
-		reg = <0 0xe6500000 0 0x425>;
-		interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>;
-		clocks = <&mstp3_clks R8A7790_CLK_IIC0>;
-		clock-frequency = <400000>;
-		#address-cells = <1>;
-		#size-cells = <0>;
-	};
Documentation/devicetree/bindings/i2c/renesas,rmobile-iic.yaml new file +149 -0

149 lines not on this page · raw message

MAINTAINERS +1 -1
index 90ca9df1d3c35514..e44e65224e5e34a0 100644
@@ -15668,7 +15668,7 @@ M:	Wolfram Sang <[email protected]>
 L:	[email protected]
 S:	Supported
 F:	Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml
-F:	Documentation/devicetree/bindings/i2c/renesas,iic.txt
+F:	Documentation/devicetree/bindings/i2c/renesas,rmobile-iic.yaml
 F:	drivers/i2c/busses/i2c-rcar.c
 F:	drivers/i2c/busses/i2c-sh_mobile.c
 
Signature · 1 line
2.25.1
maintainer Applied
#7 lore raw

Re: [PATCH v2 5/5] dt-bindings: i2c: renesas,iic: Convert to json-schema

Quoted 9 lines · Geert Uytterhoeven

Convert the Renesas R-Mobile I2C Bus Interface (IIC) Device Tree binding documentation to json-schema.

Document missing properties.
R-Mobile A1 and SH-Mobile have multiple interrupts. Update the example to match reality.

Applied to for-next, thanks!