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