0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/i2c/renesas,riic.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Renesas RZ/A and RZ/G2L I2C Bus Interface (RIIC)
0008
0009 maintainers:
0010 - Chris Brandt <chris.brandt@renesas.com>
0011 - Wolfram Sang <wsa+renesas@sang-engineering.com>
0012
0013 allOf:
0014 - $ref: /schemas/i2c/i2c-controller.yaml#
0015
0016 properties:
0017 compatible:
0018 items:
0019 - enum:
0020 - renesas,riic-r7s72100 # RZ/A1H
0021 - renesas,riic-r7s9210 # RZ/A2M
0022 - renesas,riic-r9a07g043 # RZ/G2UL
0023 - renesas,riic-r9a07g044 # RZ/G2{L,LC}
0024 - renesas,riic-r9a07g054 # RZ/V2L
0025 - const: renesas,riic-rz # RZ/A or RZ/G2L
0026
0027 reg:
0028 maxItems: 1
0029
0030 interrupts:
0031 items:
0032 - description: Transmit End Interrupt
0033 - description: Receive Data Full Interrupt
0034 - description: Transmit Data Empty Interrupt
0035 - description: Stop Condition Detection Interrupt
0036 - description: Start Condition Detection Interrupt
0037 - description: NACK Reception Interrupt
0038 - description: Arbitration-Lost Interrupt
0039 - description: Timeout Interrupt
0040
0041 interrupt-names:
0042 items:
0043 - const: tei
0044 - const: ri
0045 - const: ti
0046 - const: spi
0047 - const: sti
0048 - const: naki
0049 - const: ali
0050 - const: tmoi
0051
0052 clock-frequency:
0053 description:
0054 Desired I2C bus clock frequency in Hz. The absence of this property
0055 indicates the default frequency 100 kHz.
0056
0057 clocks:
0058 maxItems: 1
0059
0060 power-domains:
0061 maxItems: 1
0062
0063 resets:
0064 maxItems: 1
0065
0066 required:
0067 - compatible
0068 - reg
0069 - interrupts
0070 - interrupt-names
0071 - clocks
0072 - clock-frequency
0073 - power-domains
0074 - '#address-cells'
0075 - '#size-cells'
0076
0077 if:
0078 properties:
0079 compatible:
0080 contains:
0081 enum:
0082 - renesas,riic-r9a07g043
0083 - renesas,riic-r9a07g044
0084 - renesas,riic-r9a07g054
0085 then:
0086 required:
0087 - resets
0088
0089 unevaluatedProperties: false
0090
0091 examples:
0092 - |
0093 #include <dt-bindings/clock/r7s72100-clock.h>
0094 #include <dt-bindings/interrupt-controller/arm-gic.h>
0095
0096 i2c0: i2c@fcfee000 {
0097 compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
0098 reg = <0xfcfee000 0x44>;
0099 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
0100 <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>,
0101 <GIC_SPI 159 IRQ_TYPE_EDGE_RISING>,
0102 <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
0103 <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
0104 <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
0105 <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
0106 <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
0107 interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali",
0108 "tmoi";
0109 clocks = <&mstp9_clks R7S72100_CLK_I2C0>;
0110 clock-frequency = <100000>;
0111 power-domains = <&cpg_clocks>;
0112 #address-cells = <1>;
0113 #size-cells = <0>;
0114 };