Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/device-tree/Bindings/i2c/i2c-imx.yaml
48375 views
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
};
124
125