1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/i2c/marvell,mv64xxx-i2c.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Marvell MV64XXX I2C Controller Device Tree Bindings
8
9 maintainers:
10 - Gregory CLEMENT <gregory.clement@bootlin.com>
11
12 properties:
13 compatible:
14 oneOf:
15 - const: allwinner,sun4i-a10-i2c
16 - items:
17 - const: allwinner,sun7i-a20-i2c
18 - const: allwinner,sun4i-a10-i2c
19 - const: allwinner,sun6i-a31-i2c
20 - items:
21 - enum:
22 - allwinner,sun8i-a23-i2c
23 - allwinner,sun8i-a83t-i2c
24 - allwinner,sun8i-v536-i2c
25 - allwinner,sun50i-a64-i2c
26 - allwinner,sun50i-h6-i2c
27 - const: allwinner,sun6i-a31-i2c
28 - description: Allwinner SoCs with offload support
29 items:
30 - enum:
31 - allwinner,sun20i-d1-i2c
32 - allwinner,sun50i-a100-i2c
33 - allwinner,sun50i-h616-i2c
34 - allwinner,sun50i-r329-i2c
35 - const: allwinner,sun8i-v536-i2c
36 - const: allwinner,sun6i-a31-i2c
37 - const: marvell,mv64xxx-i2c
38 - const: marvell,mv78230-i2c
39 - const: marvell,mv78230-a0-i2c
40
41 description:
42 Only use "marvell,mv78230-a0-i2c" for a very rare, initial
43 version of the SoC which had broken offload support. Linux
44 auto-detects this and sets it appropriately.
45
46 reg:
47 maxItems: 1
48
49 interrupts:
50 maxItems: 1
51
52 clocks:
53 minItems: 1
54 items:
55 - description: Reference clock for the I2C bus
56 - description: Bus clock (Only for Armada 7K/8K)
57
58 clock-names:
59 minItems: 1
60 items:
61 - const: core
62 - const: reg
63 description:
64 Mandatory if two clocks are used (only for Armada 7k and 8k).
65
66 resets:
67 maxItems: 1
68
69 required:
70 - compatible
71 - reg
72 - interrupts
73
74 allOf:
75 - $ref: /schemas/i2c/i2c-controller.yaml#
76 - if:
77 properties:
78 compatible:
79 contains:
80 enum:
81 - allwinner,sun4i-a10-i2c
82 - allwinner,sun6i-a31-i2c
83
84 then:
85 required:
86 - clocks
87
88 - if:
89 properties:
90 compatible:
91 contains:
92 const: allwinner,sun6i-a31-i2c
93
94 then:
95 required:
96 - resets
97
98 unevaluatedProperties: false
99
100 examples:
101 - |
102 i2c@11000 {
103 compatible = "marvell,mv64xxx-i2c";
104 reg = <0x11000 0x20>;
105 interrupts = <29>;
106 clock-frequency = <100000>;
107 };
108
109 - |
110 i2c@11000 {
111 compatible = "marvell,mv78230-i2c";
112 reg = <0x11000 0x100>;
113 interrupts = <29>;
114 clock-frequency = <100000>;
115 };
116
117 - |
118 i2c@701000 {
119 compatible = "marvell,mv78230-i2c";
120 reg = <0x701000 0x20>;
121 interrupts = <29>;
122 clock-frequency = <100000>;
123 clock-names = "core", "reg";
124 clocks = <&core_clock>, <®_clock>;
125 };
126
127 ...
Cache object: 17014bc1374a9797e7365d5f94caf3ef
|