Skip to content

Commit 67072c8

Browse files
author
Yixun Lan
committed
riscv: dts: spacemit: k3: add clock tree
Add clock support to SpacemiT K3 SoC, the clock tree consist of several blocks which are APBC, APMU, DCIU, MPUM. Link: https://lore.kernel.org/r/20260304-01-dts-uart-full-v1-1-50a0aa53a245@kernel.org Signed-off-by: Yixun Lan <dlan@kernel.org>
1 parent 606a6b8 commit 67072c8

1 file changed

Lines changed: 75 additions & 0 deletions

File tree

  • arch/riscv/boot/dts/spacemit

arch/riscv/boot/dts/spacemit/k3.dtsi

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
* Copyright (c) 2026 Guodong Xu <guodong@riscstar.com>
55
*/
66

7+
#include <dt-bindings/clock/spacemit,k3-clocks.h>
78
#include <dt-bindings/interrupt-controller/irq.h>
89

910
/dts-v1/;
@@ -398,6 +399,36 @@
398399
};
399400
};
400401

402+
clocks {
403+
vctcxo_1m: clock-1m {
404+
compatible = "fixed-clock";
405+
clock-frequency = <1000000>;
406+
clock-output-names = "vctcxo_1m";
407+
#clock-cells = <0>;
408+
};
409+
410+
vctcxo_24m: clock-24m {
411+
compatible = "fixed-clock";
412+
clock-frequency = <24000000>;
413+
clock-output-names = "vctcxo_24m";
414+
#clock-cells = <0>;
415+
};
416+
417+
vctcxo_3m: clock-3m {
418+
compatible = "fixed-clock";
419+
clock-frequency = <3000000>;
420+
clock-output-names = "vctcxo_3m";
421+
#clock-cells = <0>;
422+
};
423+
424+
osc_32k: clock-32k {
425+
compatible = "fixed-clock";
426+
clock-frequency = <32000>;
427+
clock-output-names = "osc_32k";
428+
#clock-cells = <0>;
429+
};
430+
};
431+
401432
soc: soc {
402433
compatible = "simple-bus";
403434
interrupt-parent = <&saplic>;
@@ -406,6 +437,15 @@
406437
dma-noncoherent;
407438
ranges;
408439

440+
syscon_apbc: system-controller@d4015000 {
441+
compatible = "spacemit,k3-syscon-apbc";
442+
reg = <0x0 0xd4015000 0x0 0x1000>;
443+
clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>;
444+
clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m";
445+
#clock-cells = <1>;
446+
#reset-cells = <1>;
447+
};
448+
409449
uart0: serial@d4017000 {
410450
compatible = "spacemit,k3-uart", "intel,xscale-uart";
411451
reg = <0x0 0xd4017000 0x0 0x100>;
@@ -506,6 +546,41 @@
506546
status = "disabled";
507547
};
508548

549+
syscon_mpmu: system-controller@d4050000 {
550+
compatible = "spacemit,k3-syscon-mpmu";
551+
reg = <0x0 0xd4050000 0x0 0x10000>;
552+
clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>;
553+
clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m";
554+
#clock-cells = <1>;
555+
#power-domain-cells = <1>;
556+
#reset-cells = <1>;
557+
};
558+
559+
pll: clock-controller@d4090000 {
560+
compatible = "spacemit,k3-pll";
561+
reg = <0x0 0xd4090000 0x0 0x10000>;
562+
clocks = <&vctcxo_24m>;
563+
spacemit,mpmu = <&syscon_mpmu>;
564+
#clock-cells = <1>;
565+
};
566+
567+
syscon_apmu: system-controller@d4282800 {
568+
compatible = "spacemit,k3-syscon-apmu";
569+
reg = <0x0 0xd4282800 0x0 0x400>;
570+
clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>;
571+
clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m";
572+
#clock-cells = <1>;
573+
#power-domain-cells = <1>;
574+
#reset-cells = <1>;
575+
};
576+
577+
syscon_dciu: system-controller@d8440000 {
578+
compatible = "spacemit,k3-syscon-dciu";
579+
reg = <0x0 0xd8440000 0x0 0xc000>;
580+
#clock-cells = <1>;
581+
#reset-cells = <1>;
582+
};
583+
509584
simsic: interrupt-controller@e0400000 {
510585
compatible = "spacemit,k3-imsics", "riscv,imsics";
511586
reg = <0x0 0xe0400000 0x0 0x200000>;

0 commit comments

Comments
 (0)