Skip to content

Commit d86a4e6

Browse files
robherringarndb
authored andcommitted
arm64: dts: sprd: sc9860: Simplify clock nodes
The various "syscon" nodes in SC9860 are only referenced by clock provider nodes in a 1:1 relationship, and nothing else references the "syscon" nodes. There's no apparent reason for this split. The 2 nodes can simply be merged into 1 node. The clock driver has supported using either "reg" or "sprd,syscon" to access registers from the start, so there shouldn't be any compatibility issues. With this, DT schema warnings for missing a specific compatible with "syscon" and non-MMIO devices on "simple-bus" are fixed. Reviewed-by: Chunyan Zhang <zhang.lyra@gmail.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/20251124210031.767382-2-robh@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1 parent a609974 commit d86a4e6

2 files changed

Lines changed: 36 additions & 80 deletions

File tree

arch/arm64/boot/dts/sprd/sc9860.dtsi

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -184,20 +184,6 @@
184184
| IRQ_TYPE_LEVEL_HIGH)>;
185185
};
186186

187-
pmu_gate: pmu-gate {
188-
compatible = "sprd,sc9860-pmu-gate";
189-
sprd,syscon = <&pmu_regs>; /* 0x402b0000 */
190-
clocks = <&ext_26m>;
191-
#clock-cells = <1>;
192-
};
193-
194-
pll: pll {
195-
compatible = "sprd,sc9860-pll";
196-
sprd,syscon = <&ana_regs>; /* 0x40400000 */
197-
clocks = <&pmu_gate 0>;
198-
#clock-cells = <1>;
199-
};
200-
201187
ap_clk: clock-controller@20000000 {
202188
compatible = "sprd,sc9860-ap-clk";
203189
reg = <0 0x20000000 0 0x400>;
@@ -214,19 +200,6 @@
214200
#clock-cells = <1>;
215201
};
216202

217-
apahb_gate: apahb-gate {
218-
compatible = "sprd,sc9860-apahb-gate";
219-
sprd,syscon = <&ap_ahb_regs>; /* 0x20210000 */
220-
clocks = <&aon_prediv 0>;
221-
#clock-cells = <1>;
222-
};
223-
224-
aon_gate: aon-gate {
225-
compatible = "sprd,sc9860-aon-gate";
226-
sprd,syscon = <&aon_regs>; /* 0x402e0000 */
227-
clocks = <&aon_prediv 0>;
228-
#clock-cells = <1>;
229-
};
230203

231204
aonsecure_clk: clock-controller@40880000 {
232205
compatible = "sprd,sc9860-aonsecure-clk";
@@ -235,13 +208,6 @@
235208
#clock-cells = <1>;
236209
};
237210

238-
agcp_gate: agcp-gate {
239-
compatible = "sprd,sc9860-agcp-gate";
240-
sprd,syscon = <&agcp_regs>; /* 0x415e0000 */
241-
clocks = <&aon_prediv 0>;
242-
#clock-cells = <1>;
243-
};
244-
245211
gpu_clk: clock-controller@60200000 {
246212
compatible = "sprd,sc9860-gpu-clk";
247213
reg = <0 0x60200000 0 0x400>;
@@ -256,48 +222,20 @@
256222
#clock-cells = <1>;
257223
};
258224

259-
vsp_gate: vsp-gate {
260-
compatible = "sprd,sc9860-vsp-gate";
261-
sprd,syscon = <&vsp_regs>; /* 0x61100000 */
262-
clocks = <&vsp_clk 0>;
263-
#clock-cells = <1>;
264-
};
265-
266225
cam_clk: clock-controller@62000000 {
267226
compatible = "sprd,sc9860-cam-clk";
268227
reg = <0 0x62000000 0 0x4000>;
269228
clocks = <&ext_26m>, <&pll 0>;
270229
#clock-cells = <1>;
271230
};
272231

273-
cam_gate: cam-gate {
274-
compatible = "sprd,sc9860-cam-gate";
275-
sprd,syscon = <&cam_regs>; /* 0x62100000 */
276-
clocks = <&cam_clk 0>;
277-
#clock-cells = <1>;
278-
};
279-
280232
disp_clk: clock-controller@63000000 {
281233
compatible = "sprd,sc9860-disp-clk";
282234
reg = <0 0x63000000 0 0x400>;
283235
clocks = <&ext_26m>, <&pll 0>;
284236
#clock-cells = <1>;
285237
};
286238

287-
disp_gate: disp-gate {
288-
compatible = "sprd,sc9860-disp-gate";
289-
sprd,syscon = <&disp_regs>; /* 0x63100000 */
290-
clocks = <&disp_clk 0>;
291-
#clock-cells = <1>;
292-
};
293-
294-
apapb_gate: apapb-gate {
295-
compatible = "sprd,sc9860-apapb-gate";
296-
sprd,syscon = <&ap_apb_regs>; /* 0x70b00000 */
297-
clocks = <&ap_clk 0>;
298-
#clock-cells = <1>;
299-
};
300-
301239
funnel@10001000 { /* SoC Funnel */
302240
compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
303241
reg = <0 0x10001000 0 0x1000>;

arch/arm64/boot/dts/sprd/whale2.dtsi

Lines changed: 36 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,49 +18,67 @@
1818
#size-cells = <2>;
1919
ranges;
2020

21-
ap_ahb_regs: syscon@20210000 {
22-
compatible = "syscon";
21+
apahb_gate: clock-controller@20210000 {
2322
reg = <0 0x20210000 0 0x10000>;
23+
compatible = "sprd,sc9860-apahb-gate";
24+
clocks = <&aon_prediv 0>;
25+
#clock-cells = <1>;
2426
};
2527

26-
pmu_regs: syscon@402b0000 {
27-
compatible = "syscon";
28+
pmu_gate: clock-controller@402b0000 {
2829
reg = <0 0x402b0000 0 0x10000>;
30+
compatible = "sprd,sc9860-pmu-gate";
31+
clocks = <&ext_26m>;
32+
#clock-cells = <1>;
2933
};
3034

31-
aon_regs: syscon@402e0000 {
32-
compatible = "syscon";
35+
aon_gate: clock-controller@402e0000 {
3336
reg = <0 0x402e0000 0 0x10000>;
37+
compatible = "sprd,sc9860-aon-gate";
38+
clocks = <&aon_prediv 0>;
39+
#clock-cells = <1>;
3440
};
3541

36-
ana_regs: syscon@40400000 {
37-
compatible = "syscon";
42+
pll: clock-controller@40400000 {
3843
reg = <0 0x40400000 0 0x10000>;
44+
compatible = "sprd,sc9860-pll";
45+
clocks = <&pmu_gate 0>;
46+
#clock-cells = <1>;
3947
};
4048

41-
agcp_regs: syscon@415e0000 {
42-
compatible = "syscon";
49+
agcp_gate: clock-controller@415e0000 {
4350
reg = <0 0x415e0000 0 0x1000000>;
51+
compatible = "sprd,sc9860-agcp-gate";
52+
clocks = <&aon_prediv 0>;
53+
#clock-cells = <1>;
4454
};
4555

46-
vsp_regs: syscon@61100000 {
47-
compatible = "syscon";
56+
vsp_gate: clock-controller@61100000 {
4857
reg = <0 0x61100000 0 0x10000>;
58+
compatible = "sprd,sc9860-vsp-gate";
59+
clocks = <&vsp_clk 0>;
60+
#clock-cells = <1>;
4961
};
5062

51-
cam_regs: syscon@62100000 {
52-
compatible = "syscon";
63+
cam_gate: clock-controller@62100000 {
5364
reg = <0 0x62100000 0 0x10000>;
65+
compatible = "sprd,sc9860-cam-gate";
66+
clocks = <&cam_clk 0>;
67+
#clock-cells = <1>;
5468
};
5569

56-
disp_regs: syscon@63100000 {
57-
compatible = "syscon";
70+
disp_gate: clock-controller@63100000 {
5871
reg = <0 0x63100000 0 0x10000>;
72+
compatible = "sprd,sc9860-disp-gate";
73+
clocks = <&disp_clk 0>;
74+
#clock-cells = <1>;
5975
};
6076

61-
ap_apb_regs: syscon@70b00000 {
62-
compatible = "syscon";
77+
apapb_gate: clock-controller@70b00000 {
6378
reg = <0 0x70b00000 0 0x40000>;
79+
compatible = "sprd,sc9860-apapb-gate";
80+
clocks = <&ap_clk 0>;
81+
#clock-cells = <1>;
6482
};
6583

6684
ap-apb@70000000 {

0 commit comments

Comments
 (0)