1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
| %YAML 1.2
| ---
| $id: http://devicetree.org/schemas/i2c/i2c-imx.yaml#
| $schema: http://devicetree.org/meta-schemas/core.yaml#
|
| title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
|
| maintainers:
| - Wolfram Sang <wolfram@the-dreams.de>
|
| allOf:
| - $ref: /schemas/i2c/i2c-controller.yaml#
|
| properties:
| compatible:
| oneOf:
| - const: fsl,imx1-i2c
| - const: fsl,imx21-i2c
| - const: fsl,vf610-i2c
| - items:
| - const: fsl,imx35-i2c
| - const: fsl,imx1-i2c
| - items:
| - const: fsl,imx7d-i2c
| - const: fsl,imx21-i2c
| - items:
| - enum:
| - fsl,imx25-i2c
| - fsl,imx27-i2c
| - fsl,imx31-i2c
| - fsl,imx50-i2c
| - fsl,imx51-i2c
| - fsl,imx53-i2c
| - fsl,imx6q-i2c
| - fsl,imx6sl-i2c
| - fsl,imx6sx-i2c
| - fsl,imx6sll-i2c
| - fsl,imx6ul-i2c
| - fsl,imx7s-i2c
| - fsl,imx8mq-i2c
| - fsl,imx8mm-i2c
| - fsl,imx8mn-i2c
| - fsl,imx8mp-i2c
| - const: fsl,imx21-i2c
|
| reg:
| maxItems: 1
|
| interrupts:
| maxItems: 1
|
| clocks:
| maxItems: 1
|
| clock-names:
| const: ipg
|
| clock-frequency:
| enum: [ 100000, 400000 ]
|
| dmas:
| items:
| - description: DMA controller phandle and request line for RX
| - description: DMA controller phandle and request line for TX
|
| dma-names:
| items:
| - const: rx
| - const: tx
|
| sda-gpios:
| maxItems: 1
|
| scl-gpios:
| maxItems: 1
|
| required:
| - compatible
| - reg
| - interrupts
| - clocks
|
| unevaluatedProperties: false
|
| examples:
| - |
| #include <dt-bindings/clock/imx5-clock.h>
| #include <dt-bindings/clock/vf610-clock.h>
| #include <dt-bindings/gpio/gpio.h>
| #include <dt-bindings/interrupt-controller/arm-gic.h>
|
| i2c@83fc4000 {
| compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
| reg = <0x83fc4000 0x4000>;
| interrupts = <63>;
| clocks = <&clks IMX5_CLK_I2C2_GATE>;
| };
|
| i2c@40066000 {
| compatible = "fsl,vf610-i2c";
| reg = <0x40066000 0x1000>;
| interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
| clocks = <&clks VF610_CLK_I2C0>;
| clock-names = "ipg";
| dmas = <&edma0 0 50>,
| <&edma0 0 51>;
| dma-names = "rx", "tx";
| };
|
|