150 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/i2c/renesas,rmobile-iic.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Renesas R-Mobile I2C Bus Interface (IIC)8 9maintainers:10 - Wolfram Sang <wsa+renesas@sang-engineering.com>11 12properties:13 compatible:14 oneOf:15 - items:16 - enum:17 - renesas,iic-r8a73a4 # R-Mobile APE618 - renesas,iic-r8a7740 # R-Mobile A119 - renesas,iic-sh73a0 # SH-Mobile AG520 - const: renesas,rmobile-iic # Generic21 22 - items:23 - enum:24 - renesas,iic-r8a7742 # RZ/G1H25 - renesas,iic-r8a7743 # RZ/G1M26 - renesas,iic-r8a7744 # RZ/G1N27 - renesas,iic-r8a7745 # RZ/G1E28 - renesas,iic-r8a7790 # R-Car H229 - renesas,iic-r8a7791 # R-Car M2-W30 - renesas,iic-r8a7792 # R-Car V2H31 - renesas,iic-r8a7793 # R-Car M2-N32 - renesas,iic-r8a7794 # R-Car E233 - const: renesas,rcar-gen2-iic # R-Car Gen2 and RZ/G134 - const: renesas,rmobile-iic # Generic35 36 - items:37 - enum:38 - renesas,iic-r8a774a1 # RZ/G2M39 - renesas,iic-r8a774b1 # RZ/G2N40 - renesas,iic-r8a774c0 # RZ/G2E41 - renesas,iic-r8a774e1 # RZ/G2H42 - renesas,iic-r8a7795 # R-Car H343 - renesas,iic-r8a7796 # R-Car M3-W44 - renesas,iic-r8a77961 # R-Car M3-W+45 - renesas,iic-r8a77965 # R-Car M3-N46 - renesas,iic-r8a77990 # R-Car E347 - const: renesas,rcar-gen3-iic # R-Car Gen3 and RZ/G248 - const: renesas,rmobile-iic # Generic49 50 reg:51 maxItems: 152 53 interrupts: true54 55 clock-frequency:56 description:57 Desired I2C bus clock frequency in Hz. The absence of this property58 indicates the default frequency 100 kHz.59 60 clocks:61 maxItems: 162 63 power-domains:64 maxItems: 165 66 resets:67 maxItems: 168 69 dmas:70 minItems: 271 maxItems: 472 description:73 Must contain a list of pairs of references to DMA specifiers, one for74 transmission, and one for reception.75 76 dma-names:77 minItems: 278 maxItems: 479 items:80 enum:81 - tx82 - rx83 84required:85 - compatible86 - reg87 - interrupts88 - clocks89 - power-domains90 - '#address-cells'91 - '#size-cells'92 93allOf:94 - $ref: /schemas/i2c/i2c-controller.yaml#95 96 - if:97 properties:98 compatible:99 contains:100 enum:101 - renesas,iic-r8a7740102 - renesas,iic-sh73a0103 then:104 properties:105 interrupts:106 items:107 - description: Arbitration Lost Interrupt (ALI)108 - description: Non-acknowledge Detection Interrupt (TACKI)109 - description: Wait Interrupt (WAITI)110 - description: Data Transmit Enable interrupt (DTEI)111 else:112 properties:113 interrupts:114 items:115 - description: Single combined interrupt116 117 - if:118 properties:119 compatible:120 contains:121 enum:122 - renesas,rcar-gen2-iic123 - renesas,rcar-gen3-iic124 then:125 required:126 - resets127 128unevaluatedProperties: false129 130examples:131 - |132 #include <dt-bindings/clock/r8a7790-cpg-mssr.h>133 #include <dt-bindings/interrupt-controller/arm-gic.h>134 #include <dt-bindings/power/r8a7790-sysc.h>135 136 iic0: i2c@e6500000 {137 compatible = "renesas,iic-r8a7790", "renesas,rcar-gen2-iic",138 "renesas,rmobile-iic";139 reg = <0xe6500000 0x425>;140 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;141 clocks = <&cpg CPG_MOD 318>;142 clock-frequency = <400000>;143 dmas = <&dmac0 0x61>, <&dmac0 0x62>, <&dmac1 0x61>, <&dmac1 0x62>;144 dma-names = "tx", "rx", "tx", "rx";145 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;146 resets = <&cpg 318>;147 #address-cells = <1>;148 #size-cells = <0>;149 };150