xref: /freebsd-src/sys/contrib/device-tree/Bindings/i2c/i2c-imx.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/i2c/i2c-imx.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
1082ea1a07SEmmanuel Vadot  - Oleksij Rempel <o.rempel@pengutronix.de>
11c66ec88fSEmmanuel Vadot
126be33864SEmmanuel VadotallOf:
136be33864SEmmanuel Vadot  - $ref: /schemas/i2c/i2c-controller.yaml#
146be33864SEmmanuel Vadot
15c66ec88fSEmmanuel Vadotproperties:
16c66ec88fSEmmanuel Vadot  compatible:
17c66ec88fSEmmanuel Vadot    oneOf:
18c66ec88fSEmmanuel Vadot      - const: fsl,imx1-i2c
19c66ec88fSEmmanuel Vadot      - const: fsl,imx21-i2c
20c66ec88fSEmmanuel Vadot      - const: fsl,vf610-i2c
21c66ec88fSEmmanuel Vadot      - items:
22*7ef62cebSEmmanuel Vadot          - enum:
23*7ef62cebSEmmanuel Vadot              - fsl,ls1012a-i2c
24*7ef62cebSEmmanuel Vadot              - fsl,ls1021a-i2c
25*7ef62cebSEmmanuel Vadot              - fsl,ls1028a-i2c
26*7ef62cebSEmmanuel Vadot              - fsl,ls1043a-i2c
27*7ef62cebSEmmanuel Vadot              - fsl,ls1046a-i2c
28*7ef62cebSEmmanuel Vadot              - fsl,ls1088a-i2c
29*7ef62cebSEmmanuel Vadot              - fsl,ls208xa-i2c
30*7ef62cebSEmmanuel Vadot              - fsl,lx2160a-i2c
31*7ef62cebSEmmanuel Vadot          - const: fsl,vf610-i2c
32*7ef62cebSEmmanuel Vadot      - items:
33c66ec88fSEmmanuel Vadot          - const: fsl,imx35-i2c
34c66ec88fSEmmanuel Vadot          - const: fsl,imx1-i2c
35c66ec88fSEmmanuel Vadot      - items:
366be33864SEmmanuel Vadot          - const: fsl,imx7d-i2c
376be33864SEmmanuel Vadot          - const: fsl,imx21-i2c
386be33864SEmmanuel Vadot      - items:
39c66ec88fSEmmanuel Vadot          - enum:
40c66ec88fSEmmanuel Vadot              - fsl,imx25-i2c
41c66ec88fSEmmanuel Vadot              - fsl,imx27-i2c
42c66ec88fSEmmanuel Vadot              - fsl,imx31-i2c
43c66ec88fSEmmanuel Vadot              - fsl,imx50-i2c
44c66ec88fSEmmanuel Vadot              - fsl,imx51-i2c
45c66ec88fSEmmanuel Vadot              - fsl,imx53-i2c
46c66ec88fSEmmanuel Vadot              - fsl,imx6q-i2c
47c66ec88fSEmmanuel Vadot              - fsl,imx6sl-i2c
48c66ec88fSEmmanuel Vadot              - fsl,imx6sx-i2c
49c66ec88fSEmmanuel Vadot              - fsl,imx6sll-i2c
50c66ec88fSEmmanuel Vadot              - fsl,imx6ul-i2c
51c66ec88fSEmmanuel Vadot              - fsl,imx7s-i2c
52c66ec88fSEmmanuel Vadot              - fsl,imx8mq-i2c
53c66ec88fSEmmanuel Vadot              - fsl,imx8mm-i2c
54c66ec88fSEmmanuel Vadot              - fsl,imx8mn-i2c
55c66ec88fSEmmanuel Vadot              - fsl,imx8mp-i2c
56c66ec88fSEmmanuel Vadot          - const: fsl,imx21-i2c
57c66ec88fSEmmanuel Vadot
58c66ec88fSEmmanuel Vadot  reg:
59c66ec88fSEmmanuel Vadot    maxItems: 1
60c66ec88fSEmmanuel Vadot
61c66ec88fSEmmanuel Vadot  interrupts:
62c66ec88fSEmmanuel Vadot    maxItems: 1
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadot  clocks:
65c66ec88fSEmmanuel Vadot    maxItems: 1
66c66ec88fSEmmanuel Vadot
67c66ec88fSEmmanuel Vadot  clock-names:
68c66ec88fSEmmanuel Vadot    const: ipg
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadot  clock-frequency:
718cc087a1SEmmanuel Vadot    minimum: 1
728cc087a1SEmmanuel Vadot    default: 100000
738cc087a1SEmmanuel Vadot    maximum: 400000
74c66ec88fSEmmanuel Vadot
75c66ec88fSEmmanuel Vadot  dmas:
76c66ec88fSEmmanuel Vadot    items:
77c66ec88fSEmmanuel Vadot      - description: DMA controller phandle and request line for RX
78c66ec88fSEmmanuel Vadot      - description: DMA controller phandle and request line for TX
79c66ec88fSEmmanuel Vadot
80c66ec88fSEmmanuel Vadot  dma-names:
81c66ec88fSEmmanuel Vadot    items:
82c66ec88fSEmmanuel Vadot      - const: rx
83c66ec88fSEmmanuel Vadot      - const: tx
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot  sda-gpios:
86c66ec88fSEmmanuel Vadot    maxItems: 1
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadot  scl-gpios:
89c66ec88fSEmmanuel Vadot    maxItems: 1
90c66ec88fSEmmanuel Vadot
91c66ec88fSEmmanuel Vadotrequired:
92c66ec88fSEmmanuel Vadot  - compatible
93c66ec88fSEmmanuel Vadot  - reg
94c66ec88fSEmmanuel Vadot  - interrupts
95c66ec88fSEmmanuel Vadot  - clocks
96c66ec88fSEmmanuel Vadot
976be33864SEmmanuel VadotunevaluatedProperties: false
98c66ec88fSEmmanuel Vadot
99c66ec88fSEmmanuel Vadotexamples:
100c66ec88fSEmmanuel Vadot  - |
101c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/imx5-clock.h>
102c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot    i2c@83fc4000 {
105c66ec88fSEmmanuel Vadot        compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
106c66ec88fSEmmanuel Vadot        reg = <0x83fc4000 0x4000>;
107c66ec88fSEmmanuel Vadot        interrupts = <63>;
108c66ec88fSEmmanuel Vadot        clocks = <&clks IMX5_CLK_I2C2_GATE>;
109c66ec88fSEmmanuel Vadot    };
110c66ec88fSEmmanuel Vadot
111c9ccf3a3SEmmanuel Vadot  - |
112c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/clock/vf610-clock.h>
113c9ccf3a3SEmmanuel Vadot
114c66ec88fSEmmanuel Vadot    i2c@40066000 {
115c66ec88fSEmmanuel Vadot        compatible = "fsl,vf610-i2c";
116c66ec88fSEmmanuel Vadot        reg = <0x40066000 0x1000>;
117c66ec88fSEmmanuel Vadot        interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
118c66ec88fSEmmanuel Vadot        clocks = <&clks VF610_CLK_I2C0>;
119c66ec88fSEmmanuel Vadot        clock-names = "ipg";
120c66ec88fSEmmanuel Vadot        dmas = <&edma0 0 50>,
121c66ec88fSEmmanuel Vadot               <&edma0 0 51>;
122c66ec88fSEmmanuel Vadot        dma-names = "rx", "tx";
123c66ec88fSEmmanuel Vadot    };
124