Merge branch 'work.gfs2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.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           - const: fsl,imx35-i2c
23           - const: fsl,imx1-i2c
24       - items:
25           - const: fsl,imx7d-i2c
26           - const: fsl,imx21-i2c
27       - items:
28           - enum:
29               - fsl,imx25-i2c
30               - fsl,imx27-i2c
31               - fsl,imx31-i2c
32               - fsl,imx50-i2c
33               - fsl,imx51-i2c
34               - fsl,imx53-i2c
35               - fsl,imx6q-i2c
36               - fsl,imx6sl-i2c
37               - fsl,imx6sx-i2c
38               - fsl,imx6sll-i2c
39               - fsl,imx6ul-i2c
40               - fsl,imx7s-i2c
41               - fsl,imx8mq-i2c
42               - fsl,imx8mm-i2c
43               - fsl,imx8mn-i2c
44               - fsl,imx8mp-i2c
45           - const: fsl,imx21-i2c
46
47   reg:
48     maxItems: 1
49
50   interrupts:
51     maxItems: 1
52
53   clocks:
54     maxItems: 1
55
56   clock-names:
57     const: ipg
58
59   clock-frequency:
60     enum: [ 100000, 400000 ]
61
62   dmas:
63     items:
64       - description: DMA controller phandle and request line for RX
65       - description: DMA controller phandle and request line for TX
66
67   dma-names:
68     items:
69       - const: rx
70       - const: tx
71
72   sda-gpios:
73     maxItems: 1
74
75   scl-gpios:
76     maxItems: 1
77
78 required:
79   - compatible
80   - reg
81   - interrupts
82   - clocks
83
84 unevaluatedProperties: false
85
86 examples:
87   - |
88     #include <dt-bindings/clock/imx5-clock.h>
89     #include <dt-bindings/clock/vf610-clock.h>
90     #include <dt-bindings/gpio/gpio.h>
91     #include <dt-bindings/interrupt-controller/arm-gic.h>
92
93     i2c@83fc4000 {
94         compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
95         reg = <0x83fc4000 0x4000>;
96         interrupts = <63>;
97         clocks = <&clks IMX5_CLK_I2C2_GATE>;
98     };
99
100     i2c@40066000 {
101         compatible = "fsl,vf610-i2c";
102         reg = <0x40066000 0x1000>;
103         interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
104         clocks = <&clks VF610_CLK_I2C0>;
105         clock-names = "ipg";
106         dmas = <&edma0 0 50>,
107                <&edma0 0 51>;
108         dma-names = "rx", "tx";
109     };