[PATCH v2 4/8] arm64: dts: exynos990: Add USI nodes for PERIC0 and PERIC1

Denzeel Oliva
2025-09-07T22:13:38Z

Add USI nodes for PERIC0 and PERIC1 blocks.
These nodes provide the base for serial communication controllers like
I2C, SPI and UART.

Signed-off-by: Denzeel Oliva <wachiturroxd150@gmail.com>
---
arch/arm64/boot/dts/exynos/exynos990.dtsi | 247 ++++++++++++++++++++++++++++++
1 file changed, 247 insertions(+)

diff --git a/arch/arm64/boot/dts/exynos/exynos990.dtsi b/arch/arm64/boot/dts/exynos/exynos990.dtsi
index f8e2a31b4b7519b83aa31deefbc40e5edbb8186a..1e09f3efe685748789ffd346cd914f9a8ba68f8b 100644
--- a/arch/arm64/boot/dts/exynos/exynos990.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos990.dtsi
@@ -272,6 +272,123 @@ pinctrl_peric0: pinctrl@10430000 {
interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH>;
};

+ usi0: usi@105500c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x105500c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_PCLK_5>,
+ <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_IPCLK_5>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric0 0x1004>;
+ status = "disabled";
+ };
+
+ usi1: usi@105700c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x105700c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_PCLK_7>,
+ <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_IPCLK_7>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric0 0x100c>;
+ status = "disabled";
+ };
+
+ usi2: usi@105900c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x105900c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_PCLK_9>,
+ <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_IPCLK_9>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric0 0x1014>;
+ status = "disabled";
+ };
+
+ usi3: usi@105b00c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x105b00c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_PCLK_11>,
+ <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_IPCLK_11>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric0 0x101c>;
+ status = "disabled";
+ };
+
+ usi4: usi@105d00c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x105d00c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_PCLK_13>,
+ <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_IPCLK_13>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric0 0x1024>;
+ status = "disabled";
+ };
+
+ usi5: usi@105f00c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x105f00c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_PCLK_15>,
+ <&cmu_peric0 CLK_GOUT_PERIC0_TOP0_IPCLK_15>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric0 0x102c>;
+ status = "disabled";
+ };
+
+ usi13: usi@106300c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x106300c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric0 CLK_GOUT_PERIC0_TOP1_PCLK_3>,
+ <&cmu_peric0 CLK_GOUT_PERIC0_TOP1_IPCLK_3>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric0 0x103c>;
+ status = "disabled";
+ };
+
+ usi14: usi@106500c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x106500c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric0 CLK_GOUT_PERIC0_TOP1_PCLK_5>,
+ <&cmu_peric0 CLK_GOUT_PERIC0_TOP1_IPCLK_5>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric0 0x1044>;
+ status = "disabled";
+ };
+
+ usi15: usi@106700c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x106700c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric0 CLK_GOUT_PERIC0_TOP1_PCLK_7>,
+ <&cmu_peric0 CLK_GOUT_PERIC0_TOP1_IPCLK_7>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric0 0x104c>;
+ status = "disabled";
+ };
+
cmu_peric1: clock-controller@10700000 {
compatible = "samsung,exynos990-cmu-peric1";
reg = <0x10700000 0x8000>;
@@ -295,6 +412,136 @@ pinctrl_peric1: pinctrl@10730000 {
interrupts = <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>;
};

+ usi6: usi@108a00c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x108a00c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_TOP0_PCLK_10>,
+ <&cmu_peric1 CLK_GOUT_PERIC1_TOP0_IPCLK_10>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric1 0x1018>;
+ status = "disabled";
+ };
+
+ usi7: usi@108c00c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x108c00c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_TOP0_PCLK_12>,
+ <&cmu_peric1 CLK_GOUT_PERIC1_TOP0_IPCLK_12>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric1 0x1020>;
+ status = "disabled";
+ };
+
+ usi8: usi@108e00c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x108e00c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_TOP0_PCLK_14>,
+ <&cmu_peric1 CLK_GOUT_PERIC1_TOP0_IPCLK_14>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric1 0x1028>;
+ status = "disabled";
+ };
+
+ usi9: usi@109000c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x109000c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_PCLK_0>,
+ <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_IPCLK_0>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric1 0x1030>;
+ status = "disabled";
+ };
+
+ usi10: usi@109200c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x109200c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_PCLK_2>,
+ <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_IPCLK_2>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric1 0x1038>;
+ status = "disabled";
+ };
+
+ usi11: usi@109400c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x109400c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_PCLK_4>,
+ <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_IPCLK_4>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric1 0x1040>;
+ status = "disabled";
+ };
+
+ usi12: usi@109c00c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x109c00c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_PCLK_12>,
+ <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_IPCLK_12>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric1 0x2000>;
+ status = "disabled";
+ };
+
+ usi16: usi@109600c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x109600c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_PCLK_6>,
+ <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_IPCLK_6>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric1 0x1048>;
+ status = "disabled";
+ };
+
+ usi17: usi@109900c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x109900c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_PCLK_9>,
+ <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_IPCLK_9>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric1 0x1050>;
+ status = "disabled";
+ };
+
+ usi18: usi@109e00c0 {
+ compatible = "samsung,exynos990-usi", "samsung,exynos850-usi";
+ reg = <0x109e00c0 0x20>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_PCLK_14>,
+ <&cmu_peric1 CLK_GOUT_PERIC1_TOP1_IPCLK_14>;
+ clock-names = "pclk", "ipclk";
+ samsung,sysreg = <&sysreg_peric1 0x2008>;
+ status = "disabled";
+ };
+
cmu_hsi0: clock-controller@10a00000 {
compatible = "samsung,exynos990-cmu-hsi0";
reg = <0x10a00000 0x8000>;

--
2.50.1