GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / i2c / i2c-imx.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/i2c-imx.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
8
9 maintainers:
10   - Oleksij Rempel <o.rempel@pengutronix.de>
11
12 allOf:
13   - $ref: /schemas/i2c/i2c-controller.yaml#
14
15 properties:
16   compatible:
17     oneOf:
18       - const: fsl,imx1-i2c
19       - const: fsl,imx21-i2c
20       - const: fsl,vf610-i2c
21       - items:
22           - enum:
23               - fsl,ls1012a-i2c
24               - fsl,ls1021a-i2c
25               - fsl,ls1028a-i2c
26               - fsl,ls1043a-i2c
27               - fsl,ls1046a-i2c
28               - fsl,ls1088a-i2c
29               - fsl,ls208xa-i2c
30               - fsl,lx2160a-i2c
31           - const: fsl,vf610-i2c
32       - items:
33           - const: fsl,imx35-i2c
34           - const: fsl,imx1-i2c
35       - items:
36           - const: fsl,imx7d-i2c
37           - const: fsl,imx21-i2c
38       - items:
39           - enum:
40               - fsl,imx25-i2c
41               - fsl,imx27-i2c
42               - fsl,imx31-i2c
43               - fsl,imx50-i2c
44               - fsl,imx51-i2c
45               - fsl,imx53-i2c
46               - fsl,imx6q-i2c
47               - fsl,imx6sl-i2c
48               - fsl,imx6sx-i2c
49               - fsl,imx6sll-i2c
50               - fsl,imx6ul-i2c
51               - fsl,imx7s-i2c
52               - fsl,imx8mq-i2c
53               - fsl,imx8mm-i2c
54               - fsl,imx8mn-i2c
55               - fsl,imx8mp-i2c
56           - const: fsl,imx21-i2c
57
58   reg:
59     maxItems: 1
60
61   interrupts:
62     maxItems: 1
63
64   clocks:
65     maxItems: 1
66
67   clock-names:
68     const: ipg
69
70   clock-frequency:
71     minimum: 1
72     default: 100000
73     maximum: 400000
74
75   dmas:
76     items:
77       - description: DMA controller phandle and request line for RX
78       - description: DMA controller phandle and request line for TX
79
80   dma-names:
81     items:
82       - const: rx
83       - const: tx
84
85   sda-gpios:
86     maxItems: 1
87
88   scl-gpios:
89     maxItems: 1
90
91 required:
92   - compatible
93   - reg
94   - interrupts
95   - clocks
96
97 unevaluatedProperties: false
98
99 examples:
100   - |
101     #include <dt-bindings/clock/imx5-clock.h>
102     #include <dt-bindings/interrupt-controller/irq.h>
103
104     i2c@83fc4000 {
105         compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
106         reg = <0x83fc4000 0x4000>;
107         interrupts = <63>;
108         clocks = <&clks IMX5_CLK_I2C2_GATE>;
109     };
110
111   - |
112     #include <dt-bindings/clock/vf610-clock.h>
113
114     i2c@40066000 {
115         compatible = "fsl,vf610-i2c";
116         reg = <0x40066000 0x1000>;
117         interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
118         clocks = <&clks VF610_CLK_I2C0>;
119         clock-names = "ipg";
120         dmas = <&edma0 0 50>,
121                <&edma0 0 51>;
122         dma-names = "rx", "tx";
123     };