* [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC
@ 2025-07-10 16:50 Igor Belwon
2025-07-10 16:50 ` [PATCH v2 1/5] arm64: dts: exynos990: Enable watchdog timer Igor Belwon
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Igor Belwon @ 2025-07-10 16:50 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
Igor Belwon
Hi all!
This series adds the nodes to enable the watchdog and USB support for
the Exynos990 SoC.
The watchdog consists of two clusters (cl0 and cl2). Unsure why Samsung has
skipped cl1 on this SoC. Both are enabled and working - tested on a
device from the -x1s family.
The USB controller of this SoC supports full-speed, high-speed and
super-speed operation modes. Due to my inability to get any of my
Exynos990 devices to enumerate as super-speed (even under the vendor
kernels) only the UTMI+ setup is done - as such, only the high-speed
mode is enabled. Dummy regulators are used in place of PMIC provided
ones until we implement PMIC.
Changes in V2:
- reordered USB DWC3 glue node and PHY node (sorted by address).
Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
---
Igor Belwon (5):
arm64: dts: exynos990: Enable watchdog timer
arm64: dts: exynos990: Add USB nodes
arm64: dts: exynos990-x1s-common: Enable USB
arm64: dts: exynos990-c1s: Enable USB
arm64: dts: exynos990-r8s: Enable USB
arch/arm64/boot/dts/exynos/exynos990-c1s.dts | 16 +++++++
arch/arm64/boot/dts/exynos/exynos990-r8s.dts | 16 +++++++
.../boot/dts/exynos/exynos990-x1s-common.dtsi | 16 +++++++
arch/arm64/boot/dts/exynos/exynos990.dtsi | 55 ++++++++++++++++++++++
4 files changed, 103 insertions(+)
---
base-commit: b551c4e2a98a177a06148cf16505643cd2108386
change-id: 20250710-resends-july-exynos990-dt-1d693ba89db9
Best regards,
--
Igor Belwon <igor.belwon@mentallysanemainliners.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/5] arm64: dts: exynos990: Enable watchdog timer
2025-07-10 16:50 [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC Igor Belwon
@ 2025-07-10 16:50 ` Igor Belwon
2025-07-10 16:50 ` [PATCH v2 2/5] arm64: dts: exynos990: Add USB nodes Igor Belwon
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Igor Belwon @ 2025-07-10 16:50 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
Igor Belwon
Enable the two watchdog timer clusters (cl0, cl2) present
on the Exynos990 SoC.
Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
---
arch/arm64/boot/dts/exynos/exynos990.dtsi | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/exynos990.dtsi b/arch/arm64/boot/dts/exynos/exynos990.dtsi
index dd7f99f51a75412f5c3b91c3425a63652546fa5e..4446a1a54ba2de56879353c9c4a898b1d697fc13 100644
--- a/arch/arm64/boot/dts/exynos/exynos990.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos990.dtsi
@@ -211,6 +211,30 @@ timer@10040000 {
<GIC_SPI 477 IRQ_TYPE_LEVEL_HIGH>;
};
+ watchdog_cl0: watchdog@10050000 {
+ compatible = "samsung,exynos990-wdt";
+ reg = <0x10050000 0x100>;
+ interrupts = <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cmu_peris CLK_GOUT_PERIS_WDT_CLUSTER0_PCLK>,
+ <&oscclk>;
+ clock-names = "watchdog",
+ "watchdog_src";
+ samsung,syscon-phandle = <&pmu_system_controller>;
+ samsung,cluster-index = <0>;
+ };
+
+ watchdog_cl2: watchdog@10060000 {
+ compatible = "samsung,exynos990-wdt";
+ reg = <0x10060000 0x100>;
+ interrupts = <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cmu_peris CLK_GOUT_PERIS_WDT_CLUSTER2_PCLK>,
+ <&oscclk>;
+ clock-names = "watchdog",
+ "watchdog_src";
+ samsung,syscon-phandle = <&pmu_system_controller>;
+ samsung,cluster-index = <2>;
+ };
+
gic: interrupt-controller@10101000 {
compatible = "arm,gic-400";
reg = <0x10101000 0x1000>,
--
2.47.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/5] arm64: dts: exynos990: Add USB nodes
2025-07-10 16:50 [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC Igor Belwon
2025-07-10 16:50 ` [PATCH v2 1/5] arm64: dts: exynos990: Enable watchdog timer Igor Belwon
@ 2025-07-10 16:50 ` Igor Belwon
2025-07-10 16:50 ` [PATCH v2 3/5] arm64: dts: exynos990-x1s-common: Enable USB Igor Belwon
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Igor Belwon @ 2025-07-10 16:50 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
Igor Belwon
Add USB controller and USB PHY controller nodes for use in
the Exynos990 SoC.
This SoC supports USB full-speed, high-speed and super-speed modes.
Due to the inability to test PIPE3, USB super-speed is not enabled, and
the USB PHY is only configured for UTMI+ operation for now.
Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
---
arch/arm64/boot/dts/exynos/exynos990.dtsi | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/exynos990.dtsi b/arch/arm64/boot/dts/exynos/exynos990.dtsi
index 4446a1a54ba2de56879353c9c4a898b1d697fc13..bd5e086ac46d3010ace413e2eeb2cd30d7f7672c 100644
--- a/arch/arm64/boot/dts/exynos/exynos990.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos990.dtsi
@@ -278,6 +278,37 @@ cmu_hsi0: clock-controller@10a00000 {
"dpgtc";
};
+ usbdrd_phy: phy@10c00000 {
+ compatible = "samsung,exynos990-usbdrd-phy";
+ reg = <0x10c00000 0x100>;
+ clocks = <&cmu_hsi0 CLK_GOUT_HSI0_USB31DRD_ACLK_PHYCTRL>,
+ <&oscclk>;
+ clock-names = "phy", "ref";
+ samsung,pmu-syscon = <&pmu_system_controller>;
+ #phy-cells = <1>;
+ status = "disabled";
+ };
+
+ usbdrd: usb@10e00000 {
+ compatible = "samsung,exynos990-dwusb3",
+ "samsung,exynos850-dwusb3";
+ ranges = <0x0 0x10e00000 0x10000>;
+ clocks = <&cmu_hsi0 CLK_GOUT_HSI0_USB31DRD_BUS_CLK_EARLY>,
+ <&cmu_hsi0 CLK_GOUT_HSI0_USB31DRD_USB31DRD_REF_CLK_40>;
+ clock-names = "bus_early", "ref";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+
+ usbdrd_dwc3: usb@0 {
+ compatible = "snps,dwc3";
+ reg = <0x0 0x10000>;
+ interrupts = <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&usbdrd_phy 0>;
+ phy-names = "usb2-phy";
+ };
+ };
+
pinctrl_hsi1: pinctrl@13040000 {
compatible = "samsung,exynos990-pinctrl";
reg = <0x13040000 0x1000>;
--
2.47.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 3/5] arm64: dts: exynos990-x1s-common: Enable USB
2025-07-10 16:50 [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC Igor Belwon
2025-07-10 16:50 ` [PATCH v2 1/5] arm64: dts: exynos990: Enable watchdog timer Igor Belwon
2025-07-10 16:50 ` [PATCH v2 2/5] arm64: dts: exynos990: Add USB nodes Igor Belwon
@ 2025-07-10 16:50 ` Igor Belwon
2025-07-10 16:50 ` [PATCH v2 4/5] arm64: dts: exynos990-c1s: " Igor Belwon
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Igor Belwon @ 2025-07-10 16:50 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
Igor Belwon
The x1s family uses a shared USB configuration. Enable both the
USB PHY as well as the DWC3 controller.
Since we do not have any PMIC for USB implemented yet, use dummy
regulators until we do.
Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
---
arch/arm64/boot/dts/exynos/exynos990-x1s-common.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/exynos990-x1s-common.dtsi b/arch/arm64/boot/dts/exynos/exynos990-x1s-common.dtsi
index 55fa8e9e05db8af51109d20d74cbd7b9a2af38df..7b97220cccb7442dbc5a9f31ae9b9124bee85c62 100644
--- a/arch/arm64/boot/dts/exynos/exynos990-x1s-common.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos990-x1s-common.dtsi
@@ -27,6 +27,12 @@ framebuffer0: framebuffer@f1000000 {
};
};
+ /* TODO: Remove this once PMIC is implemented */
+ reg_dummy: regulator-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "dummy_reg";
+ };
+
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
@@ -96,3 +102,13 @@ key_volup: key-volup-pins {
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
};
};
+
+&usbdrd {
+ status = "okay";
+ vdd10-supply = <®_dummy>;
+ vdd33-supply = <®_dummy>;
+};
+
+&usbdrd_phy {
+ status = "okay";
+};
--
2.47.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 4/5] arm64: dts: exynos990-c1s: Enable USB
2025-07-10 16:50 [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC Igor Belwon
` (2 preceding siblings ...)
2025-07-10 16:50 ` [PATCH v2 3/5] arm64: dts: exynos990-x1s-common: Enable USB Igor Belwon
@ 2025-07-10 16:50 ` Igor Belwon
2025-07-10 16:50 ` [PATCH v2 5/5] arm64: dts: exynos990-r8s: " Igor Belwon
2025-08-13 10:37 ` [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC Krzysztof Kozlowski
5 siblings, 0 replies; 7+ messages in thread
From: Igor Belwon @ 2025-07-10 16:50 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
Igor Belwon
Enable both the USB PHY as well as the DWC3 controller nodes.
Since we do not have any PMIC for USB implemented yet, use dummy
regulators until we do.
Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
---
arch/arm64/boot/dts/exynos/exynos990-c1s.dts | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/exynos990-c1s.dts b/arch/arm64/boot/dts/exynos/exynos990-c1s.dts
index 36a6f1377e92b40716c606cceb752f642ae603e3..9f0ad4f9673a87b4d75f3c7d208c8c37bb51fe2d 100644
--- a/arch/arm64/boot/dts/exynos/exynos990-c1s.dts
+++ b/arch/arm64/boot/dts/exynos/exynos990-c1s.dts
@@ -44,6 +44,12 @@ memory@80000000 {
<0x8 0x80000000 0x1 0x7ec00000>;
};
+ /* TODO: Remove this once PMIC is implemented */
+ reg_dummy: regulator-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "dummy_reg";
+ };
+
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
@@ -113,3 +119,13 @@ key_volup: key-volup-pins {
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
};
};
+
+&usbdrd {
+ status = "okay";
+ vdd10-supply = <®_dummy>;
+ vdd33-supply = <®_dummy>;
+};
+
+&usbdrd_phy {
+ status = "okay";
+};
--
2.47.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 5/5] arm64: dts: exynos990-r8s: Enable USB
2025-07-10 16:50 [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC Igor Belwon
` (3 preceding siblings ...)
2025-07-10 16:50 ` [PATCH v2 4/5] arm64: dts: exynos990-c1s: " Igor Belwon
@ 2025-07-10 16:50 ` Igor Belwon
2025-08-13 10:37 ` [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC Krzysztof Kozlowski
5 siblings, 0 replies; 7+ messages in thread
From: Igor Belwon @ 2025-07-10 16:50 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
Igor Belwon
Enable both the USB PHY as well as the DWC3 controller nodes.
Since we do not have any PMIC for USB implemented yet, use dummy
regulators until we do.
Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
---
arch/arm64/boot/dts/exynos/exynos990-r8s.dts | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/exynos990-r8s.dts b/arch/arm64/boot/dts/exynos/exynos990-r8s.dts
index 6bae3c0ecc1caae31d2c6b6e81bbd76a4ccd6f5f..55342db61979bc28e65f68c9ba7d6b452dbf6c07 100644
--- a/arch/arm64/boot/dts/exynos/exynos990-r8s.dts
+++ b/arch/arm64/boot/dts/exynos/exynos990-r8s.dts
@@ -44,6 +44,12 @@ memory@80000000 {
<0x8 0x80000000 0x0 0xc0000000>;
};
+ /* TODO: Remove this once PMIC is implemented */
+ reg_dummy: regulator-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "dummy_reg";
+ };
+
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
@@ -113,3 +119,13 @@ key_volup: key-volup-pins {
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
};
};
+
+&usbdrd {
+ status = "okay";
+ vdd10-supply = <®_dummy>;
+ vdd33-supply = <®_dummy>;
+};
+
+&usbdrd_phy {
+ status = "okay";
+};
--
2.47.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC
2025-07-10 16:50 [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC Igor Belwon
` (4 preceding siblings ...)
2025-07-10 16:50 ` [PATCH v2 5/5] arm64: dts: exynos990-r8s: " Igor Belwon
@ 2025-08-13 10:37 ` Krzysztof Kozlowski
5 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2025-08-13 10:37 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
Igor Belwon
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel
On Thu, 10 Jul 2025 18:50:04 +0200, Igor Belwon wrote:
> This series adds the nodes to enable the watchdog and USB support for
> the Exynos990 SoC.
>
> The watchdog consists of two clusters (cl0 and cl2). Unsure why Samsung has
> skipped cl1 on this SoC. Both are enabled and working - tested on a
> device from the -x1s family.
>
> [...]
Applied, thanks!
[1/5] arm64: dts: exynos990: Enable watchdog timer
https://git.kernel.org/krzk/linux/c/ad211501fff48d0cda35dd187aa7e356a4fb5581
[2/5] arm64: dts: exynos990: Add USB nodes
https://git.kernel.org/krzk/linux/c/d3830b5b0db59d0b8e33083462e4c0dd021ed300
[3/5] arm64: dts: exynos990-x1s-common: Enable USB
https://git.kernel.org/krzk/linux/c/707181264badf4f82c78c18348684cd06db31ce0
[4/5] arm64: dts: exynos990-c1s: Enable USB
https://git.kernel.org/krzk/linux/c/32532687a9ce2f1c5556e082f957200a81ba0ad7
[5/5] arm64: dts: exynos990-r8s: Enable USB
https://git.kernel.org/krzk/linux/c/e28c1117deda5a80df14b579170c1a90fc82bf5f
Best regards,
--
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-08-13 11:26 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-10 16:50 [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC Igor Belwon
2025-07-10 16:50 ` [PATCH v2 1/5] arm64: dts: exynos990: Enable watchdog timer Igor Belwon
2025-07-10 16:50 ` [PATCH v2 2/5] arm64: dts: exynos990: Add USB nodes Igor Belwon
2025-07-10 16:50 ` [PATCH v2 3/5] arm64: dts: exynos990-x1s-common: Enable USB Igor Belwon
2025-07-10 16:50 ` [PATCH v2 4/5] arm64: dts: exynos990-c1s: " Igor Belwon
2025-07-10 16:50 ` [PATCH v2 5/5] arm64: dts: exynos990-r8s: " Igor Belwon
2025-08-13 10:37 ` [PATCH v2 0/5] Add watchdog and USB nodes for the Exynos990 SoC Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).