blob: 85ee1282d6d2d28ed7d75fe235bec1adeabacfa6 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
8
9maintainers:
10 - Oleksij Rempel <o.rempel@pengutronix.de>
11
12allOf:
13 - $ref: /schemas/i2c/i2c-controller.yaml#
14
15properties:
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
91required:
92 - compatible
93 - reg
94 - interrupts
95 - clocks
96
97unevaluatedProperties: false
98
99examples:
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 };