xref: /linux/Documentation/devicetree/bindings/i2c/renesas,riic.yaml (revision 0ae982df67760cd08affa935c0fe86c8a9311797)
192b7716fSGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
292b7716fSGeert Uytterhoeven%YAML 1.2
392b7716fSGeert Uytterhoeven---
492b7716fSGeert Uytterhoeven$id: http://devicetree.org/schemas/i2c/renesas,riic.yaml#
592b7716fSGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml#
692b7716fSGeert Uytterhoeven
7a431a091SBiju Dastitle: Renesas RZ/A and RZ/G2L I2C Bus Interface (RIIC)
892b7716fSGeert Uytterhoeven
992b7716fSGeert Uytterhoevenmaintainers:
1092b7716fSGeert Uytterhoeven  - Chris Brandt <chris.brandt@renesas.com>
1192b7716fSGeert Uytterhoeven  - Wolfram Sang <wsa+renesas@sang-engineering.com>
1292b7716fSGeert Uytterhoeven
1392b7716fSGeert Uytterhoevenproperties:
1492b7716fSGeert Uytterhoeven  compatible:
15c1f39c62SLad Prabhakar    oneOf:
16c1f39c62SLad Prabhakar      - items:
1792b7716fSGeert Uytterhoeven          - enum:
1892b7716fSGeert Uytterhoeven              - renesas,riic-r7s72100   # RZ/A1H
1992b7716fSGeert Uytterhoeven              - renesas,riic-r7s9210    # RZ/A2M
20de917701SLad Prabhakar              - renesas,riic-r9a07g043  # RZ/G2UL and RZ/Five
21a431a091SBiju Das              - renesas,riic-r9a07g044  # RZ/G2{L,LC}
22eb1e49e0SLad Prabhakar              - renesas,riic-r9a07g054  # RZ/V2L
23a431a091SBiju Das          - const: renesas,riic-rz      # RZ/A or RZ/G2L
2492b7716fSGeert Uytterhoeven
25caad8883SClaudiu Beznea      - items:
26567ef903SBiju Das          - enum:
27567ef903SBiju Das              - renesas,riic-r9a08g045   # RZ/G3S
28567ef903SBiju Das              - renesas,riic-r9a09g047   # RZ/G3E
298b284979SLad Prabhakar              - renesas,riic-r9a09g056   # RZ/V2N
30caad8883SClaudiu Beznea          - const: renesas,riic-r9a09g057   # RZ/V2H(P)
31caad8883SClaudiu Beznea
32*13aa792cSLad Prabhakar      - enum:
33*13aa792cSLad Prabhakar          - renesas,riic-r9a09g057   # RZ/V2H(P)
34*13aa792cSLad Prabhakar          - renesas,riic-r9a09g077   # RZ/T2H
35*13aa792cSLad Prabhakar
36*13aa792cSLad Prabhakar      - items:
37*13aa792cSLad Prabhakar          - const: renesas,riic-r9a09g087  # RZ/N2H
38*13aa792cSLad Prabhakar          - const: renesas,riic-r9a09g077  # RZ/T2H
39c1f39c62SLad Prabhakar
4092b7716fSGeert Uytterhoeven  reg:
4192b7716fSGeert Uytterhoeven    maxItems: 1
4292b7716fSGeert Uytterhoeven
4392b7716fSGeert Uytterhoeven  interrupts:
44*13aa792cSLad Prabhakar    oneOf:
45*13aa792cSLad Prabhakar      - items:
46112dfa5cSGeert Uytterhoeven          - description: Transmit End Interrupt
47112dfa5cSGeert Uytterhoeven          - description: Receive Data Full Interrupt
48112dfa5cSGeert Uytterhoeven          - description: Transmit Data Empty Interrupt
49112dfa5cSGeert Uytterhoeven          - description: Stop Condition Detection Interrupt
50112dfa5cSGeert Uytterhoeven          - description: Start Condition Detection Interrupt
51112dfa5cSGeert Uytterhoeven          - description: NACK Reception Interrupt
52112dfa5cSGeert Uytterhoeven          - description: Arbitration-Lost Interrupt
53112dfa5cSGeert Uytterhoeven          - description: Timeout Interrupt
54*13aa792cSLad Prabhakar      - items:
55*13aa792cSLad Prabhakar          - description: Transfer Error Or Event Generation
56*13aa792cSLad Prabhakar          - description: Receive Data Full Interrupt
57*13aa792cSLad Prabhakar          - description: Transmit Data Empty Interrupt
58*13aa792cSLad Prabhakar          - description: Transmit End Interrupt
59112dfa5cSGeert Uytterhoeven
60112dfa5cSGeert Uytterhoeven  interrupt-names:
61*13aa792cSLad Prabhakar    oneOf:
62*13aa792cSLad Prabhakar      - items:
63112dfa5cSGeert Uytterhoeven          - const: tei
64112dfa5cSGeert Uytterhoeven          - const: ri
65112dfa5cSGeert Uytterhoeven          - const: ti
66112dfa5cSGeert Uytterhoeven          - const: spi
67112dfa5cSGeert Uytterhoeven          - const: sti
68112dfa5cSGeert Uytterhoeven          - const: naki
69112dfa5cSGeert Uytterhoeven          - const: ali
70112dfa5cSGeert Uytterhoeven          - const: tmoi
71*13aa792cSLad Prabhakar      - items:
72*13aa792cSLad Prabhakar          - const: eei
73*13aa792cSLad Prabhakar          - const: rxi
74*13aa792cSLad Prabhakar          - const: txi
75*13aa792cSLad Prabhakar          - const: tei
7692b7716fSGeert Uytterhoeven
7792b7716fSGeert Uytterhoeven  clock-frequency:
7892b7716fSGeert Uytterhoeven    description:
7992b7716fSGeert Uytterhoeven      Desired I2C bus clock frequency in Hz. The absence of this property
8092b7716fSGeert Uytterhoeven      indicates the default frequency 100 kHz.
8192b7716fSGeert Uytterhoeven
8292b7716fSGeert Uytterhoeven  clocks:
8392b7716fSGeert Uytterhoeven    maxItems: 1
8492b7716fSGeert Uytterhoeven
8592b7716fSGeert Uytterhoeven  power-domains:
8692b7716fSGeert Uytterhoeven    maxItems: 1
8792b7716fSGeert Uytterhoeven
884e2a2ed9SLad Prabhakar  resets:
894e2a2ed9SLad Prabhakar    maxItems: 1
904e2a2ed9SLad Prabhakar
9192b7716fSGeert Uytterhoevenrequired:
9292b7716fSGeert Uytterhoeven  - compatible
9392b7716fSGeert Uytterhoeven  - reg
9492b7716fSGeert Uytterhoeven  - interrupts
9513bf92e6SGeert Uytterhoeven  - interrupt-names
9692b7716fSGeert Uytterhoeven  - clocks
9792b7716fSGeert Uytterhoeven  - clock-frequency
9892b7716fSGeert Uytterhoeven  - power-domains
9992b7716fSGeert Uytterhoeven  - '#address-cells'
10092b7716fSGeert Uytterhoeven  - '#size-cells'
10192b7716fSGeert Uytterhoeven
102be221173SLad PrabhakarallOf:
103be221173SLad Prabhakar  - $ref: /schemas/i2c/i2c-controller.yaml#
104be221173SLad Prabhakar
105be221173SLad Prabhakar  - if:
106a431a091SBiju Das      properties:
107a431a091SBiju Das        compatible:
108a431a091SBiju Das          contains:
109*13aa792cSLad Prabhakar            const: renesas,riic-r9a09g077
110*13aa792cSLad Prabhakar    then:
111*13aa792cSLad Prabhakar      properties:
112*13aa792cSLad Prabhakar        interrupts:
113*13aa792cSLad Prabhakar          maxItems: 4
114*13aa792cSLad Prabhakar        interrupt-names:
115*13aa792cSLad Prabhakar          maxItems: 4
116*13aa792cSLad Prabhakar        resets: false
117*13aa792cSLad Prabhakar    else:
118*13aa792cSLad Prabhakar      properties:
119*13aa792cSLad Prabhakar        interrupts:
120*13aa792cSLad Prabhakar          minItems: 8
121*13aa792cSLad Prabhakar        interrupt-names:
122*13aa792cSLad Prabhakar          minItems: 8
123*13aa792cSLad Prabhakar
124*13aa792cSLad Prabhakar  - if:
125*13aa792cSLad Prabhakar      properties:
126*13aa792cSLad Prabhakar        compatible:
127*13aa792cSLad Prabhakar          contains:
128a431a091SBiju Das            enum:
129db92a6ebSBiju Das              - renesas,riic-r9a07g043
130a431a091SBiju Das              - renesas,riic-r9a07g044
131eb1e49e0SLad Prabhakar              - renesas,riic-r9a07g054
132567ef903SBiju Das              - renesas,riic-r9a09g057
133a431a091SBiju Das    then:
134a431a091SBiju Das      required:
135a431a091SBiju Das        - resets
136a431a091SBiju Das
13792b7716fSGeert UytterhoevenunevaluatedProperties: false
13892b7716fSGeert Uytterhoeven
13992b7716fSGeert Uytterhoevenexamples:
14092b7716fSGeert Uytterhoeven  - |
14192b7716fSGeert Uytterhoeven    #include <dt-bindings/clock/r7s72100-clock.h>
14292b7716fSGeert Uytterhoeven    #include <dt-bindings/interrupt-controller/arm-gic.h>
14392b7716fSGeert Uytterhoeven
14492b7716fSGeert Uytterhoeven    i2c0: i2c@fcfee000 {
14592b7716fSGeert Uytterhoeven        compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
14692b7716fSGeert Uytterhoeven        reg = <0xfcfee000 0x44>;
14792b7716fSGeert Uytterhoeven        interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
14892b7716fSGeert Uytterhoeven                     <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>,
14992b7716fSGeert Uytterhoeven                     <GIC_SPI 159 IRQ_TYPE_EDGE_RISING>,
15092b7716fSGeert Uytterhoeven                     <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
15192b7716fSGeert Uytterhoeven                     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
15292b7716fSGeert Uytterhoeven                     <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
15392b7716fSGeert Uytterhoeven                     <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
15492b7716fSGeert Uytterhoeven                     <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
155112dfa5cSGeert Uytterhoeven        interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali",
156112dfa5cSGeert Uytterhoeven                          "tmoi";
15792b7716fSGeert Uytterhoeven        clocks = <&mstp9_clks R7S72100_CLK_I2C0>;
15892b7716fSGeert Uytterhoeven        clock-frequency = <100000>;
15992b7716fSGeert Uytterhoeven        power-domains = <&cpg_clocks>;
16092b7716fSGeert Uytterhoeven        #address-cells = <1>;
16192b7716fSGeert Uytterhoeven        #size-cells = <0>;
16292b7716fSGeert Uytterhoeven    };
163