GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / i2c / renesas,rzv2m.yaml
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,rzv2m.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Renesas RZ/V2M I2C Bus Interface
8
9 maintainers:
10   - Phil Edworthy <phil.edworthy@renesas.com>
11
12 allOf:
13   - $ref: /schemas/i2c/i2c-controller.yaml#
14
15 properties:
16   compatible:
17     items:
18       - enum:
19           - renesas,r9a09g011-i2c  # RZ/V2M
20       - const: renesas,rzv2m-i2c
21
22   reg:
23     maxItems: 1
24
25   interrupts:
26     items:
27       - description: Data transmission/reception interrupt
28       - description: Status interrupt
29
30   interrupt-names:
31     items:
32       - const: tia
33       - const: tis
34
35   clock-frequency:
36     default: 100000
37     enum: [ 100000, 400000 ]
38     description:
39       Desired I2C bus clock frequency in Hz.
40
41   clocks:
42     maxItems: 1
43
44   power-domains:
45     maxItems: 1
46
47   resets:
48     maxItems: 1
49
50 required:
51   - compatible
52   - reg
53   - interrupts
54   - interrupt-names
55   - clocks
56   - power-domains
57   - resets
58   - '#address-cells'
59   - '#size-cells'
60
61 unevaluatedProperties: false
62
63 examples:
64   - |
65     #include <dt-bindings/clock/r9a09g011-cpg.h>
66     #include <dt-bindings/interrupt-controller/arm-gic.h>
67
68     i2c0: i2c@a4030000 {
69         compatible = "renesas,r9a09g011-i2c", "renesas,rzv2m-i2c";
70         reg = <0xa4030000 0x80>;
71         interrupts = <GIC_SPI 232 IRQ_TYPE_EDGE_RISING>,
72                      <GIC_SPI 236 IRQ_TYPE_EDGE_RISING>;
73         interrupt-names = "tia", "tis";
74         clocks = <&cpg CPG_MOD R9A09G011_IIC_PCLK0>;
75         resets = <&cpg R9A09G011_IIC_GPA_PRESETN>;
76         power-domains = <&cpg>;
77         clock-frequency = <100000>;
78         #address-cells = <1>;
79         #size-cells = <0>;
80     };