Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | # 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 | |
| 7 | title: Renesas RZ/A and RZ/G2L I2C Bus Interface (RIIC) |
| 8 | |
| 9 | maintainers: |
| 10 | - Chris Brandt <chris.brandt@renesas.com> |
| 11 | - Wolfram Sang <wsa+renesas@sang-engineering.com> |
| 12 | |
| 13 | allOf: |
| 14 | - $ref: /schemas/i2c/i2c-controller.yaml# |
| 15 | |
| 16 | properties: |
| 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 | |
| 66 | required: |
| 67 | - compatible |
| 68 | - reg |
| 69 | - interrupts |
| 70 | - interrupt-names |
| 71 | - clocks |
| 72 | - clock-frequency |
| 73 | - power-domains |
| 74 | - '#address-cells' |
| 75 | - '#size-cells' |
| 76 | |
| 77 | if: |
| 78 | properties: |
| 79 | compatible: |
| 80 | contains: |
| 81 | enum: |
| 82 | - renesas,riic-r9a07g043 |
| 83 | - renesas,riic-r9a07g044 |
| 84 | - renesas,riic-r9a07g054 |
| 85 | then: |
| 86 | required: |
| 87 | - resets |
| 88 | |
| 89 | unevaluatedProperties: false |
| 90 | |
| 91 | examples: |
| 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 | }; |