Skip to content

Commit 4bdc443

Browse files
Anson-Huangrobherring
authored andcommitted
dt-bindings: i2c: Convert imx i2c to json-schema
Convert the i.MX I2C binding to DT schema format using json-schema, some improvements applied, such as update example based on latest DT file, add more compatible for existing SoCs, and remove unnecessary common property "pinctrl". Signed-off-by: Anson Huang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Rob Herring <[email protected]>
1 parent c6d1a7c commit 4bdc443

File tree

2 files changed

+103
-49
lines changed

2 files changed

+103
-49
lines changed

Documentation/devicetree/bindings/i2c/i2c-imx.txt

Lines changed: 0 additions & 49 deletions
This file was deleted.
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
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+
- Wolfram Sang <[email protected]>
11+
12+
properties:
13+
compatible:
14+
oneOf:
15+
- const: fsl,imx1-i2c
16+
- const: fsl,imx21-i2c
17+
- const: fsl,vf610-i2c
18+
- items:
19+
- const: fsl,imx35-i2c
20+
- const: fsl,imx1-i2c
21+
- items:
22+
- enum:
23+
- fsl,imx25-i2c
24+
- fsl,imx27-i2c
25+
- fsl,imx31-i2c
26+
- fsl,imx50-i2c
27+
- fsl,imx51-i2c
28+
- fsl,imx53-i2c
29+
- fsl,imx6q-i2c
30+
- fsl,imx6sl-i2c
31+
- fsl,imx6sx-i2c
32+
- fsl,imx6sll-i2c
33+
- fsl,imx6ul-i2c
34+
- fsl,imx7s-i2c
35+
- fsl,imx8mq-i2c
36+
- fsl,imx8mm-i2c
37+
- fsl,imx8mn-i2c
38+
- fsl,imx8mp-i2c
39+
- const: fsl,imx21-i2c
40+
41+
reg:
42+
maxItems: 1
43+
44+
interrupts:
45+
maxItems: 1
46+
47+
clocks:
48+
maxItems: 1
49+
50+
clock-names:
51+
const: ipg
52+
53+
clock-frequency:
54+
enum: [ 100000, 400000 ]
55+
56+
dmas:
57+
items:
58+
- description: DMA controller phandle and request line for RX
59+
- description: DMA controller phandle and request line for TX
60+
61+
dma-names:
62+
items:
63+
- const: rx
64+
- const: tx
65+
66+
sda-gpios:
67+
maxItems: 1
68+
69+
scl-gpios:
70+
maxItems: 1
71+
72+
required:
73+
- compatible
74+
- reg
75+
- interrupts
76+
- clocks
77+
78+
additionalProperties: false
79+
80+
examples:
81+
- |
82+
#include <dt-bindings/clock/imx5-clock.h>
83+
#include <dt-bindings/clock/vf610-clock.h>
84+
#include <dt-bindings/gpio/gpio.h>
85+
#include <dt-bindings/interrupt-controller/arm-gic.h>
86+
87+
i2c@83fc4000 {
88+
compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
89+
reg = <0x83fc4000 0x4000>;
90+
interrupts = <63>;
91+
clocks = <&clks IMX5_CLK_I2C2_GATE>;
92+
};
93+
94+
i2c@40066000 {
95+
compatible = "fsl,vf610-i2c";
96+
reg = <0x40066000 0x1000>;
97+
interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
98+
clocks = <&clks VF610_CLK_I2C0>;
99+
clock-names = "ipg";
100+
dmas = <&edma0 0 50>,
101+
<&edma0 0 51>;
102+
dma-names = "rx", "tx";
103+
};

0 commit comments

Comments
 (0)