Add CMU (Clock Management Unit) nodes and required
fixed clocks.
Signed-off-by: Alexandru Chimac <alex@chimac.ro>
---
arch/arm64/boot/dts/exynos/exynos9610-gta4xl.dts | 1 +
arch/arm64/boot/dts/exynos/exynos9610.dtsi | 205 +++++++++++++++++++++++
2 files changed, 206 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/exynos9610-gta4xl.dts b/arch/arm64/boot/dts/exynos/exynos9610-gta4xl.dts
index f455af22ff872c6f07b9bcfc68b1ae1f45d0def3..1a09d5e8ebaa130e9cd0b7f3266ee2c9dac4cf9a 100644
--- a/arch/arm64/boot/dts/exynos/exynos9610-gta4xl.dts
+++ b/arch/arm64/boot/dts/exynos/exynos9610-gta4xl.dts
@@ -10,6 +10,7 @@
#include "exynos9610.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
+#include <dt-bindings/clock/samsung,exynos9610.h>
/ {
compatible = "samsung,gta4xl", "samsung,exynos9610";
diff --git a/arch/arm64/boot/dts/exynos/exynos9610.dtsi b/arch/arm64/boot/dts/exynos/exynos9610.dtsi
index 852f7111e5cdfd82b5afc350792e8b539fe87d39..2a15986c459d6af9f83362c27cdcc3a2646c256b 100644
--- a/arch/arm64/boot/dts/exynos/exynos9610.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos9610.dtsi
@@ -6,6 +6,7 @@
*/
#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/samsung,exynos9610.h>
/ {
compatible = "samsung,exynos9610";
@@ -161,6 +162,41 @@ oscclk: clock-osc {
clock-frequency = <26000000>;
};
+ dll_dco: clock-dll-dco {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-output-names = "dll_dco";
+ clock-frequency = <360000000>;
+ };
+
+ oscclk_rco_cmgp: clock-osc-rco {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-output-names = "oscclk_rco";
+ clock-frequency = <30000000>;
+ };
+
+ ioclk_audiocdclk0: clock-audiocdclk0 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-output-names = "ioclk_audiocdclk0";
+ clock-frequency = <10000000>;
+ };
+
+ ioclk_audiocdclk1: clock-audiocdclk1 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-output-names = "ioclk_audiocdclk1";
+ clock-frequency = <100000000>;
+ };
+
+ tick_usb: clock-tick-usb {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-output-names = "tick_usb";
+ clock-frequency = <60000000>;
+ };
+
soc: soc@0 {
compatible = "simple-bus";
ranges = <0x0 0x0 0x0 0x20000000>;
@@ -174,12 +210,81 @@ chipid@10000000 {
reg = <0x10000000 0x100>;
};
+ cmu_peri: clock-controller@10030000 {
+ compatible = "samsung,exynos9610-cmu-peri";
+ reg = <0x10030000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&cmu_top CLK_DOUT_CMU_PERI_BUS>,
+ <&cmu_top CLK_DOUT_CMU_PERI_IP>,
+ <&cmu_top CLK_DOUT_CMU_PERI_UART>;
+ clock-names = "oscclk",
+ "dout_cmu_peri_bus",
+ "dout_cmu_peri_ip",
+ "dout_cmu_peri_uart";
+ };
+
+ cmu_cpucl1: clock-controller@0x10800000 {
+ compatible = "samsung,exynos9610-cmu-cpucl1";
+ reg = <0x10800000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&cmu_top CLK_DOUT_CMU_CPUCL1_SWITCH>,
+ <&cmu_top CLK_DOUT_CMU_HPM>;
+ clock-names = "oscclk",
+ "dout_cmu_cpucl1_switch",
+ "dout_cmu_hpm";
+ };
+
+ cmu_cpucl0: clock-controller@0x10900000 {
+ compatible = "samsung,exynos9610-cmu-cpucl0";
+ reg = <0x10900000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&cmu_top CLK_DOUT_CMU_CPUCL0_DBG>,
+ <&cmu_top CLK_DOUT_CMU_CPUCL0_SWITCH>,
+ <&cmu_top CLK_DOUT_CMU_HPM>;
+ clock-names = "oscclk",
+ "dout_cmu_cpucl0_dbg",
+ "dout_cmu_cpucl0_switch",
+ "dout_cmu_hpm";
+ };
+
pinctrl_shub: pinctrl@11080000 {
compatible = "samsung,exynos9610-pinctrl";
reg = <0x11080000 0x1000>;
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
};
+ cmu_g3d: clock-controller@11430000 {
+ compatible = "samsung,exynos9610-cmu-g3d";
+ reg = <0x11430000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&cmu_top CLK_DOUT_CMU_G3D_SWITCH>,
+ <&cmu_top CLK_DOUT_CMU_HPM>;
+ clock-names = "oscclk",
+ "dout_cmu_g3d_switch",
+ "dout_cmu_hpm";
+ };
+
+ cmu_apm: clock-controller@11800000 {
+ compatible = "samsung,exynos9610-cmu-apm";
+ reg = <0x11800000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&dll_dco>,
+ <&cmu_top CLK_DOUT_CMU_APM_BUS>;
+ clock-names = "oscclk",
+ "dll_dco",
+ "dout_cmu_apm_bus";
+ };
+
pinctrl_alive: pinctrl@11850000 {
compatible = "samsung,exynos9610-pinctrl";
reg = <0x11850000 0x1000>;
@@ -191,11 +296,48 @@ wakeup-interrupt-controller {
};
};
+ cmu_cmgp: clock-controller@11c00000 {
+ compatible = "samsung,exynos9610-cmu-cmgp";
+ reg = <0x11c00000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&oscclk_rco_cmgp>,
+ <&cmu_apm CLK_GOUT_CMU_CMGP_BUS>;
+ clock-names = "oscclk",
+ "oscclk_rco",
+ "gout_cmu_cmgp_bus";
+ };
+
pinctrl_cmgp: pinctrl@11c20000 {
compatible = "samsung,exynos9610-pinctrl";
reg = <0x11c20000 0x1000>;
};
+ cmu_core: clock-controller@120f0000 {
+ compatible = "samsung,exynos9610-cmu-core";
+ reg = <0x120f0000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&cmu_top CLK_DOUT_CMU_CORE_BUS>,
+ <&cmu_top CLK_DOUT_CMU_CORE_CCI>,
+ <&cmu_top CLK_DOUT_CMU_CORE_G3D>;
+ clock-names = "oscclk",
+ "dout_cmu_core_bus",
+ "dout_cmu_core_cci",
+ "dout_cmu_core_g3d";
+ };
+
+ cmu_top: clock-controller@12100000 {
+ compatible = "samsung,exynos9610-cmu-top";
+ reg = <0x12100000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>;
+ clock-names = "oscclk";
+ };
+
gic: interrupt-controller@12300000 {
compatible = "arm,gic-400";
#interrupt-cells = <3>;
@@ -209,6 +351,37 @@ gic: interrupt-controller@12300000 {
IRQ_TYPE_LEVEL_HIGH)>;
};
+ cmu_g2d: clock-controller@12e00000 {
+ compatible = "samsung,exynos9610-cmu-g2d";
+ reg = <0x12e00000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&cmu_top CLK_DOUT_CMU_G2D_G2D>,
+ <&cmu_top CLK_DOUT_CMU_G2D_MSCL>;
+
+ clock-names = "oscclk",
+ "dout_cmu_g2d_g2d",
+ "dout_cmu_g2d_mscl";
+ };
+
+ cmu_fsys: clock-controller@13400000 {
+ compatible = "samsung,exynos9610-cmu-fsys";
+ reg = <0x13400000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&cmu_top CLK_DOUT_CMU_FSYS_BUS>,
+ <&cmu_top CLK_DOUT_CMU_FSYS_MMC_CARD>,
+ <&cmu_top CLK_DOUT_CMU_FSYS_MMC_EMBD>,
+ <&cmu_top CLK_DOUT_CMU_FSYS_UFS_EMBD>;
+ clock-names = "oscclk",
+ "dout_cmu_fsys_bus",
+ "dout_cmu_fsys_mmc_card",
+ "dout_cmu_fsys_mmc_embd",
+ "dout_cmu_fsys_ufs_embd";
+ };
+
pinctrl_fsys: pinctrl@13490000 {
compatible = "samsung,exynos9610-pinctrl";
reg = <0x13490000 0x1000>;
@@ -221,6 +394,38 @@ pinctrl_top: pinctrl@139b0000 {
interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
};
+ cmu_cam: clock-controller@14500000 {
+ compatible = "samsung,exynos9610-cmu-cam";
+ reg = <0x14500000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&cmu_top CLK_DOUT_CMU_CAM_BUS>;
+ clock-names = "oscclk",
+ "dout_cmu_cam_bus";
+ };
+
+ cmu_dispaud: clock-controller@14980000 {
+ compatible = "samsung,exynos9610-cmu-dispaud";
+ reg = <0x14980000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&oscclk>,
+ <&ioclk_audiocdclk0>,
+ <&ioclk_audiocdclk1>,
+ <&tick_usb>,
+ <&cmu_top CLK_DOUT_CMU_DISPAUD_AUD>,
+ <&cmu_top CLK_DOUT_CMU_DISPAUD_CPU>,
+ <&cmu_top CLK_DOUT_CMU_DISPAUD_DISP>;
+ clock-names = "oscclk",
+ "ioclk_audiocdclk0",
+ "ioclk_audiocdclk1",
+ "tick_usb",
+ "dout_cmu_dispaud_aud",
+ "dout_cmu_dispaud_cpu",
+ "dout_cmu_dispaud_disp";
+ };
+
pinctrl_dispaud: pinctrl@14a60000 {
compatible = "samsung,exynos9610-pinctrl";
reg = <0x14a60000 0x1000>;
--
2.47.3
On 14/09/2025 23:19, Alexandru Chimac wrote: > Add CMU (Clock Management Unit) nodes and required > fixed clocks. > > Signed-off-by: Alexandru Chimac <alex@chimac.ro> > --- > arch/arm64/boot/dts/exynos/exynos9610-gta4xl.dts | 1 + > arch/arm64/boot/dts/exynos/exynos9610.dtsi | 205 +++++++++++++++++++++++ There is no such file, which means you did not explain the dependencies and this should not be separate patch at all. You must squash it. Best regards, Krzysztof
© 2016 - 2025 Red Hat, Inc.