Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: Marvell MV64XXX I2C Controller
8
9maintainers:
10 - Gregory CLEMENT <gregory.clement@bootlin.com>
11
12properties:
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,suniv-f1c100s-i2c
23 - allwinner,sun8i-a23-i2c
24 - allwinner,sun8i-a83t-i2c
25 - allwinner,sun8i-v536-i2c
26 - allwinner,sun50i-a64-i2c
27 - allwinner,sun50i-h6-i2c
28 - const: allwinner,sun6i-a31-i2c
29 - description: Allwinner SoCs with offload support
30 items:
31 - enum:
32 - allwinner,sun20i-d1-i2c
33 - allwinner,sun50i-a100-i2c
34 - allwinner,sun50i-h616-i2c
35 - allwinner,sun50i-r329-i2c
36 - allwinner,sun55i-a523-i2c
37 - const: allwinner,sun8i-v536-i2c
38 - const: allwinner,sun6i-a31-i2c
39 - const: marvell,mv64xxx-i2c
40 - const: marvell,mv78230-i2c
41 - const: marvell,mv78230-a0-i2c
42
43 description:
44 Only use "marvell,mv78230-a0-i2c" for a very rare, initial
45 version of the SoC which had broken offload support. Linux
46 auto-detects this and sets it appropriately.
47
48 reg:
49 maxItems: 1
50
51 interrupts:
52 maxItems: 1
53
54 clocks:
55 minItems: 1
56 items:
57 - description: Reference clock for the I2C bus
58 - description: Bus clock (Only for Armada 7K/8K)
59
60 clock-names:
61 minItems: 1
62 items:
63 - const: core
64 - const: reg
65 description:
66 Mandatory if two clocks are used (only for Armada 7k and 8k).
67
68 resets:
69 maxItems: 1
70
71 dmas:
72 items:
73 - description: RX DMA Channel
74 - description: TX DMA Channel
75
76 dma-names:
77 items:
78 - const: rx
79 - const: tx
80
81dependencies:
82 dmas: [ dma-names ]
83
84required:
85 - compatible
86 - reg
87 - interrupts
88
89allOf:
90 - $ref: /schemas/i2c/i2c-controller.yaml#
91 - if:
92 properties:
93 compatible:
94 contains:
95 enum:
96 - allwinner,sun4i-a10-i2c
97 - allwinner,sun6i-a31-i2c
98
99 then:
100 required:
101 - clocks
102
103 - if:
104 properties:
105 compatible:
106 contains:
107 const: allwinner,sun6i-a31-i2c
108
109 then:
110 required:
111 - resets
112
113unevaluatedProperties: false
114
115examples:
116 - |
117 i2c@11000 {
118 compatible = "marvell,mv64xxx-i2c";
119 reg = <0x11000 0x20>;
120 interrupts = <29>;
121 clock-frequency = <100000>;
122 };
123
124 - |
125 i2c@11000 {
126 compatible = "marvell,mv78230-i2c";
127 reg = <0x11000 0x100>;
128 interrupts = <29>;
129 clock-frequency = <100000>;
130 };
131
132 - |
133 i2c@701000 {
134 compatible = "marvell,mv78230-i2c";
135 reg = <0x701000 0x20>;
136 interrupts = <29>;
137 clock-frequency = <100000>;
138 clock-names = "core", "reg";
139 clocks = <&core_clock>, <®_clock>;
140 };
141
142...