blob: 2291a7cd619be4eedef4be803663fadc60f946a8 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/i2c/renesas,riic.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Renesas RZ/A and RZ/G2L I2C Bus Interface (RIIC)
8
9maintainers:
10 - Chris Brandt <chris.brandt@renesas.com>
11 - Wolfram Sang <wsa+renesas@sang-engineering.com>
12
13allOf:
14 - $ref: /schemas/i2c/i2c-controller.yaml#
15
16properties:
17 compatible:
18 items:
19 - enum:
20 - renesas,riic-r7s72100 # RZ/A1H
21 - renesas,riic-r7s9210 # RZ/A2M
22 - renesas,riic-r9a07g043 # RZ/G2UL and RZ/Five
23 - renesas,riic-r9a07g044 # RZ/G2{L,LC}
24 - renesas,riic-r9a07g054 # RZ/V2L
25 - const: renesas,riic-rz # RZ/A or RZ/G2L
26
27 reg:
28 maxItems: 1
29
30 interrupts:
31 items:
32 - description: Transmit End Interrupt
33 - description: Receive Data Full Interrupt
34 - description: Transmit Data Empty Interrupt
35 - description: Stop Condition Detection Interrupt
36 - description: Start Condition Detection Interrupt
37 - description: NACK Reception Interrupt
38 - description: Arbitration-Lost Interrupt
39 - description: Timeout Interrupt
40
41 interrupt-names:
42 items:
43 - const: tei
44 - const: ri
45 - const: ti
46 - const: spi
47 - const: sti
48 - const: naki
49 - const: ali
50 - const: tmoi
51
52 clock-frequency:
53 description:
54 Desired I2C bus clock frequency in Hz. The absence of this property
55 indicates the default frequency 100 kHz.
56
57 clocks:
58 maxItems: 1
59
60 power-domains:
61 maxItems: 1
62
63 resets:
64 maxItems: 1
65
66required:
67 - compatible
68 - reg
69 - interrupts
70 - interrupt-names
71 - clocks
72 - clock-frequency
73 - power-domains
74 - '#address-cells'
75 - '#size-cells'
76
77if:
78 properties:
79 compatible:
80 contains:
81 enum:
82 - renesas,riic-r9a07g043
83 - renesas,riic-r9a07g044
84 - renesas,riic-r9a07g054
85then:
86 required:
87 - resets
88
89unevaluatedProperties: false
90
91examples:
92 - |
93 #include <dt-bindings/clock/r7s72100-clock.h>
94 #include <dt-bindings/interrupt-controller/arm-gic.h>
95
96 i2c0: i2c@fcfee000 {
97 compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
98 reg = <0xfcfee000 0x44>;
99 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
100 <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>,
101 <GIC_SPI 159 IRQ_TYPE_EDGE_RISING>,
102 <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
103 <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
104 <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
105 <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
106 <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
107 interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali",
108 "tmoi";
109 clocks = <&mstp9_clks R7S72100_CLK_I2C0>;
110 clock-frequency = <100000>;
111 power-domains = <&cpg_clocks>;
112 #address-cells = <1>;
113 #size-cells = <0>;
114 };