1*632ce677SGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*632ce677SGeert Uytterhoeven%YAML 1.2 3*632ce677SGeert Uytterhoeven--- 4*632ce677SGeert Uytterhoeven$id: http://devicetree.org/schemas/i2c/renesas,rmobile-iic.yaml# 5*632ce677SGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml# 6*632ce677SGeert Uytterhoeven 7*632ce677SGeert Uytterhoeventitle: Renesas R-Mobile I2C Bus Interface (IIC) 8*632ce677SGeert Uytterhoeven 9*632ce677SGeert Uytterhoevenmaintainers: 10*632ce677SGeert Uytterhoeven - Wolfram Sang <wsa+renesas@sang-engineering.com> 11*632ce677SGeert Uytterhoeven 12*632ce677SGeert Uytterhoevenproperties: 13*632ce677SGeert Uytterhoeven compatible: 14*632ce677SGeert Uytterhoeven oneOf: 15*632ce677SGeert Uytterhoeven - items: 16*632ce677SGeert Uytterhoeven - enum: 17*632ce677SGeert Uytterhoeven - renesas,iic-r8a73a4 # R-Mobile APE6 18*632ce677SGeert Uytterhoeven - renesas,iic-r8a7740 # R-Mobile A1 19*632ce677SGeert Uytterhoeven - renesas,iic-sh73a0 # SH-Mobile AG5 20*632ce677SGeert Uytterhoeven - const: renesas,rmobile-iic # Generic 21*632ce677SGeert Uytterhoeven 22*632ce677SGeert Uytterhoeven - items: 23*632ce677SGeert Uytterhoeven - enum: 24*632ce677SGeert Uytterhoeven - renesas,iic-r8a7742 # RZ/G1H 25*632ce677SGeert Uytterhoeven - renesas,iic-r8a7743 # RZ/G1M 26*632ce677SGeert Uytterhoeven - renesas,iic-r8a7744 # RZ/G1N 27*632ce677SGeert Uytterhoeven - renesas,iic-r8a7745 # RZ/G1E 28*632ce677SGeert Uytterhoeven - renesas,iic-r8a7790 # R-Car H2 29*632ce677SGeert Uytterhoeven - renesas,iic-r8a7791 # R-Car M2-W 30*632ce677SGeert Uytterhoeven - renesas,iic-r8a7792 # R-Car V2H 31*632ce677SGeert Uytterhoeven - renesas,iic-r8a7793 # R-Car M2-N 32*632ce677SGeert Uytterhoeven - renesas,iic-r8a7794 # R-Car E2 33*632ce677SGeert Uytterhoeven - const: renesas,rcar-gen2-iic # R-Car Gen2 and RZ/G1 34*632ce677SGeert Uytterhoeven - const: renesas,rmobile-iic # Generic 35*632ce677SGeert Uytterhoeven 36*632ce677SGeert Uytterhoeven - items: 37*632ce677SGeert Uytterhoeven - enum: 38*632ce677SGeert Uytterhoeven - renesas,iic-r8a774a1 # RZ/G2M 39*632ce677SGeert Uytterhoeven - renesas,iic-r8a774b1 # RZ/G2N 40*632ce677SGeert Uytterhoeven - renesas,iic-r8a774c0 # RZ/G2E 41*632ce677SGeert Uytterhoeven - renesas,iic-r8a774e1 # RZ/G2H 42*632ce677SGeert Uytterhoeven - renesas,iic-r8a7795 # R-Car H3 43*632ce677SGeert Uytterhoeven - renesas,iic-r8a7796 # R-Car M3-W 44*632ce677SGeert Uytterhoeven - renesas,iic-r8a77961 # R-Car M3-W+ 45*632ce677SGeert Uytterhoeven - renesas,iic-r8a77965 # R-Car M3-N 46*632ce677SGeert Uytterhoeven - renesas,iic-r8a77990 # R-Car E3 47*632ce677SGeert Uytterhoeven - const: renesas,rcar-gen3-iic # R-Car Gen3 and RZ/G2 48*632ce677SGeert Uytterhoeven - const: renesas,rmobile-iic # Generic 49*632ce677SGeert Uytterhoeven 50*632ce677SGeert Uytterhoeven reg: 51*632ce677SGeert Uytterhoeven maxItems: 1 52*632ce677SGeert Uytterhoeven 53*632ce677SGeert Uytterhoeven interrupts: true 54*632ce677SGeert Uytterhoeven 55*632ce677SGeert Uytterhoeven clock-frequency: 56*632ce677SGeert Uytterhoeven description: 57*632ce677SGeert Uytterhoeven Desired I2C bus clock frequency in Hz. The absence of this property 58*632ce677SGeert Uytterhoeven indicates the default frequency 100 kHz. 59*632ce677SGeert Uytterhoeven 60*632ce677SGeert Uytterhoeven clocks: 61*632ce677SGeert Uytterhoeven maxItems: 1 62*632ce677SGeert Uytterhoeven 63*632ce677SGeert Uytterhoeven power-domains: 64*632ce677SGeert Uytterhoeven maxItems: 1 65*632ce677SGeert Uytterhoeven 66*632ce677SGeert Uytterhoeven resets: 67*632ce677SGeert Uytterhoeven maxItems: 1 68*632ce677SGeert Uytterhoeven 69*632ce677SGeert Uytterhoeven dmas: 70*632ce677SGeert Uytterhoeven minItems: 2 71*632ce677SGeert Uytterhoeven maxItems: 4 72*632ce677SGeert Uytterhoeven description: 73*632ce677SGeert Uytterhoeven Must contain a list of pairs of references to DMA specifiers, one for 74*632ce677SGeert Uytterhoeven transmission, and one for reception. 75*632ce677SGeert Uytterhoeven 76*632ce677SGeert Uytterhoeven dma-names: 77*632ce677SGeert Uytterhoeven minItems: 2 78*632ce677SGeert Uytterhoeven maxItems: 4 79*632ce677SGeert Uytterhoeven items: 80*632ce677SGeert Uytterhoeven enum: 81*632ce677SGeert Uytterhoeven - tx 82*632ce677SGeert Uytterhoeven - rx 83*632ce677SGeert Uytterhoeven 84*632ce677SGeert Uytterhoevenrequired: 85*632ce677SGeert Uytterhoeven - compatible 86*632ce677SGeert Uytterhoeven - reg 87*632ce677SGeert Uytterhoeven - interrupts 88*632ce677SGeert Uytterhoeven - clocks 89*632ce677SGeert Uytterhoeven - power-domains 90*632ce677SGeert Uytterhoeven - '#address-cells' 91*632ce677SGeert Uytterhoeven - '#size-cells' 92*632ce677SGeert Uytterhoeven 93*632ce677SGeert UytterhoevenallOf: 94*632ce677SGeert Uytterhoeven - $ref: /schemas/i2c/i2c-controller.yaml# 95*632ce677SGeert Uytterhoeven 96*632ce677SGeert Uytterhoeven - if: 97*632ce677SGeert Uytterhoeven properties: 98*632ce677SGeert Uytterhoeven compatible: 99*632ce677SGeert Uytterhoeven contains: 100*632ce677SGeert Uytterhoeven enum: 101*632ce677SGeert Uytterhoeven - renesas,iic-r8a7740 102*632ce677SGeert Uytterhoeven - renesas,iic-sh73a0 103*632ce677SGeert Uytterhoeven then: 104*632ce677SGeert Uytterhoeven properties: 105*632ce677SGeert Uytterhoeven interrupts: 106*632ce677SGeert Uytterhoeven items: 107*632ce677SGeert Uytterhoeven - description: Arbitration Lost Interrupt (ALI) 108*632ce677SGeert Uytterhoeven - description: Non-acknowledge Detection Interrupt (TACKI) 109*632ce677SGeert Uytterhoeven - description: Wait Interrupt (WAITI) 110*632ce677SGeert Uytterhoeven - description: Data Transmit Enable interrupt (DTEI) 111*632ce677SGeert Uytterhoeven else: 112*632ce677SGeert Uytterhoeven properties: 113*632ce677SGeert Uytterhoeven interrupts: 114*632ce677SGeert Uytterhoeven items: 115*632ce677SGeert Uytterhoeven - description: Single combined interrupt 116*632ce677SGeert Uytterhoeven 117*632ce677SGeert Uytterhoeven - if: 118*632ce677SGeert Uytterhoeven properties: 119*632ce677SGeert Uytterhoeven compatible: 120*632ce677SGeert Uytterhoeven contains: 121*632ce677SGeert Uytterhoeven enum: 122*632ce677SGeert Uytterhoeven - renesas,rcar-gen2-iic 123*632ce677SGeert Uytterhoeven - renesas,rcar-gen3-iic 124*632ce677SGeert Uytterhoeven then: 125*632ce677SGeert Uytterhoeven required: 126*632ce677SGeert Uytterhoeven - resets 127*632ce677SGeert Uytterhoeven 128*632ce677SGeert UytterhoevenunevaluatedProperties: false 129*632ce677SGeert Uytterhoeven 130*632ce677SGeert Uytterhoevenexamples: 131*632ce677SGeert Uytterhoeven - | 132*632ce677SGeert Uytterhoeven #include <dt-bindings/clock/r8a7790-cpg-mssr.h> 133*632ce677SGeert Uytterhoeven #include <dt-bindings/interrupt-controller/arm-gic.h> 134*632ce677SGeert Uytterhoeven #include <dt-bindings/power/r8a7790-sysc.h> 135*632ce677SGeert Uytterhoeven 136*632ce677SGeert Uytterhoeven iic0: i2c@e6500000 { 137*632ce677SGeert Uytterhoeven compatible = "renesas,iic-r8a7790", "renesas,rcar-gen2-iic", 138*632ce677SGeert Uytterhoeven "renesas,rmobile-iic"; 139*632ce677SGeert Uytterhoeven reg = <0xe6500000 0x425>; 140*632ce677SGeert Uytterhoeven interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 141*632ce677SGeert Uytterhoeven clocks = <&cpg CPG_MOD 318>; 142*632ce677SGeert Uytterhoeven clock-frequency = <400000>; 143*632ce677SGeert Uytterhoeven dmas = <&dmac0 0x61>, <&dmac0 0x62>, <&dmac1 0x61>, <&dmac1 0x62>; 144*632ce677SGeert Uytterhoeven dma-names = "tx", "rx", "tx", "rx"; 145*632ce677SGeert Uytterhoeven power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 146*632ce677SGeert Uytterhoeven resets = <&cpg 318>; 147*632ce677SGeert Uytterhoeven #address-cells = <1>; 148*632ce677SGeert Uytterhoeven #size-cells = <0>; 149*632ce677SGeert Uytterhoeven }; 150