Skip to content

Commit 4d023be

Browse files
superna9999jbrun3t
authored andcommitted
dt-bindings: soc: amlogic: document System Control registers
Document the System Control registers regions found on all Amlogic SoC families and it's clock, power, pinctrl and phy subnodes. The regions has various independent registers tied to other hardware devices, thus the syscon compatible. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20230706-b4-amlogic-bindings-convert-take2-v3-3-f63de6f12dcc@linaro.org Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
1 parent 74f3d86 commit 4d023be

File tree

1 file changed

+160
-0
lines changed

1 file changed

+160
-0
lines changed
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/amlogic/amlogic,meson-gx-hhi-sysctrl.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic Meson System Control registers
8+
9+
maintainers:
10+
- Neil Armstrong <neil.armstrong@linaro.org>
11+
12+
properties:
13+
compatible:
14+
items:
15+
- enum:
16+
- amlogic,meson-gx-hhi-sysctrl
17+
- amlogic,meson-gx-ao-sysctrl
18+
- amlogic,meson-axg-hhi-sysctrl
19+
- amlogic,meson-axg-ao-sysctrl
20+
- const: simple-mfd
21+
- const: syscon
22+
23+
reg:
24+
maxItems: 1
25+
26+
clock-controller:
27+
type: object
28+
29+
power-controller:
30+
$ref: /schemas/power/amlogic,meson-ee-pwrc.yaml
31+
32+
pinctrl:
33+
type: object
34+
35+
phy:
36+
type: object
37+
38+
allOf:
39+
- if:
40+
properties:
41+
compatible:
42+
enum:
43+
- amlogic,meson-gx-hhi-sysctrl
44+
- amlogic,meson-axg-hhi-sysctrl
45+
then:
46+
properties:
47+
clock-controller:
48+
$ref: /schemas/clock/amlogic,gxbb-clkc.yaml#
49+
50+
required:
51+
- power-controller
52+
53+
- if:
54+
properties:
55+
compatible:
56+
enum:
57+
- amlogic,meson-gx-ao-sysctrl
58+
- amlogic,meson-axg-ao-sysctrl
59+
then:
60+
properties:
61+
clock-controller:
62+
$ref: /schemas/clock/amlogic,gxbb-aoclkc.yaml#
63+
64+
power-controller: false
65+
phy: false
66+
67+
- if:
68+
properties:
69+
compatible:
70+
enum:
71+
- amlogic,meson-gx-hhi-sysctrl
72+
then:
73+
properties:
74+
phy: false
75+
76+
- if:
77+
properties:
78+
compatible:
79+
enum:
80+
- amlogic,meson-axg-hhi-sysctrl
81+
then:
82+
properties:
83+
phy:
84+
oneOf:
85+
- $ref: /schemas/phy/amlogic,g12a-mipi-dphy-analog.yaml
86+
- $ref: /schemas/phy/amlogic,meson-axg-mipi-pcie-analog.yaml
87+
88+
required:
89+
- compatible
90+
- reg
91+
- clock-controller
92+
93+
additionalProperties: false
94+
95+
examples:
96+
- |
97+
bus@c883c000 {
98+
compatible = "simple-bus";
99+
reg = <0xc883c000 0x2000>;
100+
#address-cells = <1>;
101+
#size-cells = <1>;
102+
ranges = <0x0 0xc883c000 0x2000>;
103+
104+
sysctrl: system-controller@0 {
105+
compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon";
106+
reg = <0 0x400>;
107+
108+
clock-controller {
109+
compatible = "amlogic,gxbb-clkc";
110+
#clock-cells = <1>;
111+
clocks = <&xtal>;
112+
clock-names = "xtal";
113+
};
114+
115+
power-controller {
116+
compatible = "amlogic,meson-gxbb-pwrc";
117+
#power-domain-cells = <1>;
118+
amlogic,ao-sysctrl = <&sysctrl_AO>;
119+
120+
resets = <&reset_viu>,
121+
<&reset_venc>,
122+
<&reset_vcbus>,
123+
<&reset_bt656>,
124+
<&reset_dvin>,
125+
<&reset_rdma>,
126+
<&reset_venci>,
127+
<&reset_vencp>,
128+
<&reset_vdac>,
129+
<&reset_vdi6>,
130+
<&reset_vencl>,
131+
<&reset_vid_lock>;
132+
reset-names = "viu", "venc", "vcbus", "bt656", "dvin",
133+
"rdma", "venci", "vencp", "vdac", "vdi6",
134+
"vencl", "vid_lock";
135+
clocks = <&clk_vpu>, <&clk_vapb>;
136+
clock-names = "vpu", "vapb";
137+
};
138+
};
139+
};
140+
141+
bus@c8100000 {
142+
compatible = "simple-bus";
143+
reg = <0xc8100000 0x100000>;
144+
#address-cells = <1>;
145+
#size-cells = <1>;
146+
ranges = <0x0 0xc8100000 0x100000>;
147+
148+
sysctrl_AO: system-controller@0 {
149+
compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon";
150+
reg = <0 0x100>;
151+
152+
clock-controller {
153+
compatible = "amlogic,meson-gxbb-aoclkc", "amlogic,meson-gx-aoclkc";
154+
#clock-cells = <1>;
155+
#reset-cells = <1>;
156+
clocks = <&xtal>, <&clk81>;
157+
clock-names = "xtal", "mpeg-clk";
158+
};
159+
};
160+
};

0 commit comments

Comments
 (0)