Back to home page

OSCL-LXR

 
 

    


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     };