* [PATCH 0/3] Subject: [PATCH 0/3] arm64: dts: rockchip: Enable M.2 B-key slot and fan on Radxa ROCK 3B
@ 2026-09-24 7:14 Adam Wermuth
2026-09-24 7:14 ` [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 " Adam Wermuth
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Adam Wermuth @ 2026-09-24 7:14 UTC (permalink / raw)
To: Heiko Stuebner
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Adam Wermuth
The Radxa ROCK 3B has an M.2 B-key slot intended for 4G/5G modules and
a 2-pin fan header, neither of which is currently described in the
mainline device tree.
Patch 1 enables the second USB 2.0 host controller, which serves the
USB lines of the B-key slot. Patch 2 describes the power, reset and
W_DISABLE# controls of the slot. Patch 3 adds the PWM fan and ties it
to the CPU thermal zone.
Pin assignments were checked against the ROCK 3B V1.51 schematic.
Tested on a ROCK 3B with a SIMCom SIM7600G-H module and a 5V fan,
running Linux 6.12 (OpenWrt) with the same changes applied.
Adam Wermuth (3):
arm64: dts: rockchip: Enable USB 2.0 host1 on Radxa ROCK 3B
arm64: dts: rockchip: Enable M.2 B-key WWAN slot on Radxa ROCK 3B
arm64: dts: rockchip: Add PWM fan to Radxa ROCK 3B
.../boot/dts/rockchip/rk3568-rock-3b.dts | 102 ++++++++++++++++++
1 file changed, 102 insertions(+)
base-commit: 23d8f49fcae5d72b77744c7f349c12462c3bb748
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 on Radxa ROCK 3B
2026-09-24 7:14 [PATCH 0/3] Subject: [PATCH 0/3] arm64: dts: rockchip: Enable M.2 B-key slot and fan on Radxa ROCK 3B Adam Wermuth
@ 2026-09-24 7:14 ` Adam Wermuth
2026-09-24 7:21 ` sashiko-bot
2026-09-24 16:12 ` Jonas Karlman
2026-09-24 7:14 ` [PATCH 2/3] arm64: dts: rockchip: Enable M.2 B-key WWAN slot " Adam Wermuth
2026-09-24 7:14 ` [PATCH 3/3] arm64: dts: rockchip: Add PWM fan to " Adam Wermuth
2 siblings, 2 replies; 10+ messages in thread
From: Adam Wermuth @ 2026-09-24 7:14 UTC (permalink / raw)
To: Heiko Stuebner
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Adam Wermuth
The USB 2.0 data lines of the M.2 B-key slot are routed to USB2_HOST3,
which is served by usb_host1_ehci/ohci through the host port of
usb2phy1. Enable the controllers and the PHY port so that modules in
the B-key slot, such as LTE modems, can enumerate.
Signed-off-by: Adam Wermuth <adam@wermuth.pl>
---
arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
index 149a5306bb03..ad9a91c0d0d0 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
@@ -758,6 +758,14 @@ &usb_host0_xhci {
status = "okay";
};
+&usb_host1_ehci {
+ status = "okay";
+};
+
+&usb_host1_ohci {
+ status = "okay";
+};
+
&usb_host1_xhci {
status = "okay";
};
@@ -780,6 +788,11 @@ &usb2phy1 {
status = "okay";
};
+&usb2phy1_host {
+ phy-supply = <&vcc5v0_usb_host>;
+ status = "okay";
+};
+
&usb2phy1_otg {
phy-supply = <&vcc5v0_usb_host>;
status = "okay";
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/3] arm64: dts: rockchip: Enable M.2 B-key WWAN slot on Radxa ROCK 3B
2026-09-24 7:14 [PATCH 0/3] Subject: [PATCH 0/3] arm64: dts: rockchip: Enable M.2 B-key slot and fan on Radxa ROCK 3B Adam Wermuth
2026-09-24 7:14 ` [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 " Adam Wermuth
@ 2026-09-24 7:14 ` Adam Wermuth
2026-09-24 7:14 ` [PATCH 3/3] arm64: dts: rockchip: Add PWM fan to " Adam Wermuth
2 siblings, 0 replies; 10+ messages in thread
From: Adam Wermuth @ 2026-09-24 7:14 UTC (permalink / raw)
To: Heiko Stuebner
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Adam Wermuth
The M.2 B-key slot on the ROCK 3B is controlled by three GPIOs:
- GPIO0_C6 (4G_PWREN_H) enables the 3.3V supply of the slot, which
is generated from vcc5v0_sys by a dedicated buck converter,
- GPIO0_D6 (4G_RESET) drives the RESET# signal of the slot,
- GPIO1_B0 (4G_DISABLE) drives W_DISABLE1#.
Unless the supply is enabled and both active-low signals are
deasserted, the module never enumerates on USB. Describe the supply
as an always-on fixed regulator and hog RESET# and W_DISABLE1# in
their inactive state.
Tested with a SIMCom SIM7600G-H module.
Signed-off-by: Adam Wermuth <adam@wermuth.pl>
---
.../boot/dts/rockchip/rk3568-rock-3b.dts | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
index ad9a91c0d0d0..908bb4425e81 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
@@ -98,6 +98,20 @@ vcc3v3_sys2: regulator-3v3-vcc-sys2 {
vin-supply = <&vcc5v0_sys>;
};
+ vcc3v3_wwan: regulator-3v3-vcc-wwan {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&wwan_pwren_h>;
+ regulator-name = "vcc3v3_wwan";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vcc5v0_sys>;
+ };
+
vcc5v0_sys: regulator-5v0-vcc-sys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
@@ -220,6 +234,24 @@ &gmac1m1_rgmii_bus
status = "okay";
};
+&gpio0 {
+ wwan-reset-hog {
+ gpio-hog;
+ gpios = <RK_PD6 GPIO_ACTIVE_LOW>;
+ output-low;
+ line-name = "wwan-reset";
+ };
+};
+
+&gpio1 {
+ wwan-disable-hog {
+ gpio-hog;
+ gpios = <RK_PB0 GPIO_ACTIVE_LOW>;
+ output-low;
+ line-name = "wwan-w-disable";
+ };
+};
+
&gpu {
mali-supply = <&vdd_gpu>;
status = "okay";
@@ -655,6 +687,12 @@ wifi_wake_host_h: wifi-wake-host-h {
rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
+
+ wwan {
+ wwan_pwren_h: wwan-pwren-h {
+ rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
};
&pmu_io_domains {
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/3] arm64: dts: rockchip: Add PWM fan to Radxa ROCK 3B
2026-09-24 7:14 [PATCH 0/3] Subject: [PATCH 0/3] arm64: dts: rockchip: Enable M.2 B-key slot and fan on Radxa ROCK 3B Adam Wermuth
2026-09-24 7:14 ` [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 " Adam Wermuth
2026-09-24 7:14 ` [PATCH 2/3] arm64: dts: rockchip: Enable M.2 B-key WWAN slot " Adam Wermuth
@ 2026-09-24 7:14 ` Adam Wermuth
2 siblings, 0 replies; 10+ messages in thread
From: Adam Wermuth @ 2026-09-24 7:14 UTC (permalink / raw)
To: Heiko Stuebner
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Adam Wermuth
The ROCK 3B has a 2-pin fan header powered from vcc5v0_sys and
switched by a MOSFET driven from PWM8 (pwm8m0 pins). Enable the PWM
controller, describe the fan as a pwm-fan cooling device and add
active trip points to the CPU thermal zone:
- 50 C: fan at 25%
- 60 C: fan at 50-75%
- 70 C: fan at 100%
each with 5 C hysteresis. The existing passive and critical trip
points are left unchanged.
Signed-off-by: Adam Wermuth <adam@wermuth.pl>
---
.../boot/dts/rockchip/rk3568-rock-3b.dts | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
index 908bb4425e81..815f67988ab7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
@@ -24,6 +24,14 @@ chosen {
stdout-path = "serial2:1500000n8";
};
+ fan: fan {
+ compatible = "pwm-fan";
+ cooling-levels = <0 64 128 192 255>;
+ fan-supply = <&vcc5v0_sys>;
+ pwms = <&pwm8 0 10000 0>;
+ #cooling-cells = <2>;
+ };
+
hdmi-con {
compatible = "hdmi-connector";
type = "a";
@@ -200,6 +208,45 @@ &cpu3 {
cpu-supply = <&vdd_cpu>;
};
+&cpu_thermal {
+ trips {
+ cpu_fan0: cpu-fan0 {
+ hysteresis = <5000>;
+ temperature = <50000>;
+ type = "active";
+ };
+
+ cpu_fan1: cpu-fan1 {
+ hysteresis = <5000>;
+ temperature = <60000>;
+ type = "active";
+ };
+
+ cpu_fan2: cpu-fan2 {
+ hysteresis = <5000>;
+ temperature = <70000>;
+ type = "active";
+ };
+ };
+
+ cooling-maps {
+ map1 {
+ trip = <&cpu_fan0>;
+ cooling-device = <&fan THERMAL_NO_LIMIT 1>;
+ };
+
+ map2 {
+ trip = <&cpu_fan1>;
+ cooling-device = <&fan 2 3>;
+ };
+
+ map3 {
+ trip = <&cpu_fan2>;
+ cooling-device = <&fan 4 THERMAL_NO_LIMIT>;
+ };
+ };
+};
+
&gmac0 {
assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>;
@@ -708,6 +755,10 @@ &pmu_io_domains {
status = "okay";
};
+&pwm8 {
+ status = "okay";
+};
+
&saradc {
vref-supply = <&vcca_1v8>;
status = "okay";
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 on Radxa ROCK 3B
2026-09-24 7:14 ` [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 " Adam Wermuth
@ 2026-09-24 7:21 ` sashiko-bot
2026-09-24 16:12 ` Jonas Karlman
1 sibling, 0 replies; 10+ messages in thread
From: sashiko-bot @ 2026-09-24 7:21 UTC (permalink / raw)
To: Adam Wermuth; +Cc: devicetree, conor+dt, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] dts: false 5V VBUS dependency for M.2 WWAN slot
--
commit 87931f73c3a7da52681aaf73a831d1638bf48ff3
Author: Adam Wermuth <adam@wermuth.pl>
arm64: dts: rockchip: Enable USB 2.0 host1 on Radxa ROCK 3B
This commit routes the USB 2.0 data lines of the M.2 B-key slot to USB2_HOST3
by enabling the ehci/ohci controllers and the usb2phy1 host port, allowing
LTE modems and other modules to enumerate.
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> index 149a5306bb032..ad9a91c0d0d0e 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
[ ... ]
> @@ -780,6 +788,11 @@ &usb2phy1 {
> status = "okay";
> };
>
> +&usb2phy1_host {
> + phy-supply = <&vcc5v0_usb_host>;
[Severity: Medium]
Does this create a false 5V VBUS dependency for the M.2 WWAN slot?
The M.2 specification dictates 3.3V power and no VBUS pin. By associating the
5V external Type-A VBUS regulator (vcc5v0_usb_host) with the M.2 slot's PHY
here, the PHY core will automatically enable this regulator when initialized.
Will this force the 5V rail to remain active as long as the M.2 LTE modem's
USB PHY is active, leading to unnecessary power consumption even when external
ports are unused?
> + status = "okay";
> +};
> +
> &usb2phy1_otg {
> phy-supply = <&vcc5v0_usb_host>;
> status = "okay";
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260924071445.441822-1-adam@wermuth.pl?part=1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 on Radxa ROCK 3B
2026-09-24 7:14 ` [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 " Adam Wermuth
2026-09-24 7:21 ` sashiko-bot
@ 2026-09-24 16:12 ` Jonas Karlman
2026-09-24 19:03 ` Adam Wermuth
1 sibling, 1 reply; 10+ messages in thread
From: Jonas Karlman @ 2026-09-24 16:12 UTC (permalink / raw)
To: Adam Wermuth, Heiko Stuebner
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel
Hi Adam,
On 9/24/2026 9:14 AM, Adam Wermuth wrote:
> The USB 2.0 data lines of the M.2 B-key slot are routed to USB2_HOST3,
> which is served by usb_host1_ehci/ohci through the host port of
> usb2phy1. Enable the controllers and the PHY port so that modules in
> the B-key slot, such as LTE modems, can enumerate.
This and next patch is likely best suited as an dt-overlay.
Regards,
Jonas
>
> Signed-off-by: Adam Wermuth <adam@wermuth.pl>
> ---
> arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> index 149a5306bb03..ad9a91c0d0d0 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> @@ -758,6 +758,14 @@ &usb_host0_xhci {
> status = "okay";
> };
>
> +&usb_host1_ehci {
> + status = "okay";
> +};
> +
> +&usb_host1_ohci {
> + status = "okay";
> +};
> +
> &usb_host1_xhci {
> status = "okay";
> };
> @@ -780,6 +788,11 @@ &usb2phy1 {
> status = "okay";
> };
>
> +&usb2phy1_host {
> + phy-supply = <&vcc5v0_usb_host>;
> + status = "okay";
> +};
> +
> &usb2phy1_otg {
> phy-supply = <&vcc5v0_usb_host>;
> status = "okay";
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 on Radxa ROCK 3B
2026-09-24 16:12 ` Jonas Karlman
@ 2026-09-24 19:03 ` Adam Wermuth
2026-09-25 13:25 ` Sebastian Reichel
0 siblings, 1 reply; 10+ messages in thread
From: Adam Wermuth @ 2026-09-24 19:03 UTC (permalink / raw)
To: Jonas Karlman
Cc: Heiko Stuebner, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
devicetree, linux-arm-kernel, linux-rockchip, linux-kernel
Hi Jonas,
On Thu, 24 Sep 2026 6:12 PM, Jonas Karlman wrote:
> This and next patch is likely best suited as an dt-overlay.
Thanks for the review. That makes sense, as the B-key slot is not
always populated.
For v2 I will move the host1 enablement and the WWAN power, RESET#
and W_DISABLE1# handling into a new rk3568-rock-3b-wwan.dtso overlay,
and keep only the fan patch in the base DT.
Adam
czw., 24 wrz 2026 o 18:12 Jonas Karlman <jonas@kwiboo.se> napisał(a):
>
> Hi Adam,
>
> On 9/24/2026 9:14 AM, Adam Wermuth wrote:
> > The USB 2.0 data lines of the M.2 B-key slot are routed to USB2_HOST3,
> > which is served by usb_host1_ehci/ohci through the host port of
> > usb2phy1. Enable the controllers and the PHY port so that modules in
> > the B-key slot, such as LTE modems, can enumerate.
>
> This and next patch is likely best suited as an dt-overlay.
>
> Regards,
> Jonas
>
> >
> > Signed-off-by: Adam Wermuth <adam@wermuth.pl>
> > ---
> > arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 13 +++++++++++++
> > 1 file changed, 13 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> > index 149a5306bb03..ad9a91c0d0d0 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> > @@ -758,6 +758,14 @@ &usb_host0_xhci {
> > status = "okay";
> > };
> >
> > +&usb_host1_ehci {
> > + status = "okay";
> > +};
> > +
> > +&usb_host1_ohci {
> > + status = "okay";
> > +};
> > +
> > &usb_host1_xhci {
> > status = "okay";
> > };
> > @@ -780,6 +788,11 @@ &usb2phy1 {
> > status = "okay";
> > };
> >
> > +&usb2phy1_host {
> > + phy-supply = <&vcc5v0_usb_host>;
> > + status = "okay";
> > +};
> > +
> > &usb2phy1_otg {
> > phy-supply = <&vcc5v0_usb_host>;
> > status = "okay";
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 on Radxa ROCK 3B
2026-09-24 19:03 ` Adam Wermuth
@ 2026-09-25 13:25 ` Sebastian Reichel
2026-09-25 13:56 ` Adam Wermuth
0 siblings, 1 reply; 10+ messages in thread
From: Sebastian Reichel @ 2026-09-25 13:25 UTC (permalink / raw)
To: Adam Wermuth
Cc: Jonas Karlman, Heiko Stuebner, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2619 bytes --]
Hi,
On Thu, Sep 24, 2026 at 09:03:00PM +0200, Adam Wermuth wrote:
> On Thu, 24 Sep 2026 6:12 PM, Jonas Karlman wrote:
> > This and next patch is likely best suited as an dt-overlay.
>
> Thanks for the review. That makes sense, as the B-key slot is not
> always populated.
>
> For v2 I will move the host1 enablement and the WWAN power, RESET#
> and W_DISABLE1# handling into a new rk3568-rock-3b-wwan.dtso overlay,
> and keep only the fan patch in the base DT.
Why would this be better suited as an Overlay? Nothing describes the
specific card plugged in as it is auto-discovered via USB. The
overlays are mostly required for things that cannot easily be
auto-detected. FWIW we don't have M.2 Key M as a DT overlay either.
Something to consider is, that for Key E and Key M there is a proper
DT binding now: Documentation/devicetree/bindings/connector/pcie-m2-*.yaml
We probably want the same for Key B.
Greetings,
-- Sebastian
>
>
> czw., 24 wrz 2026 o 18:12 Jonas Karlman <jonas@kwiboo.se> napisał(a):
> >
> > Hi Adam,
> >
> > On 9/24/2026 9:14 AM, Adam Wermuth wrote:
> > > The USB 2.0 data lines of the M.2 B-key slot are routed to USB2_HOST3,
> > > which is served by usb_host1_ehci/ohci through the host port of
> > > usb2phy1. Enable the controllers and the PHY port so that modules in
> > > the B-key slot, such as LTE modems, can enumerate.
> >
> > This and next patch is likely best suited as an dt-overlay.
> >
> > Regards,
> > Jonas
> >
> > >
> > > Signed-off-by: Adam Wermuth <adam@wermuth.pl>
> > > ---
> > > arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 13 +++++++++++++
> > > 1 file changed, 13 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> > > index 149a5306bb03..ad9a91c0d0d0 100644
> > > --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> > > +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> > > @@ -758,6 +758,14 @@ &usb_host0_xhci {
> > > status = "okay";
> > > };
> > >
> > > +&usb_host1_ehci {
> > > + status = "okay";
> > > +};
> > > +
> > > +&usb_host1_ohci {
> > > + status = "okay";
> > > +};
> > > +
> > > &usb_host1_xhci {
> > > status = "okay";
> > > };
> > > @@ -780,6 +788,11 @@ &usb2phy1 {
> > > status = "okay";
> > > };
> > >
> > > +&usb2phy1_host {
> > > + phy-supply = <&vcc5v0_usb_host>;
> > > + status = "okay";
> > > +};
> > > +
> > > &usb2phy1_otg {
> > > phy-supply = <&vcc5v0_usb_host>;
> > > status = "okay";
> >
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 on Radxa ROCK 3B
2026-09-25 13:25 ` Sebastian Reichel
@ 2026-09-25 13:56 ` Adam Wermuth
2026-09-25 15:42 ` Alexey Charkov
0 siblings, 1 reply; 10+ messages in thread
From: Adam Wermuth @ 2026-09-25 13:56 UTC (permalink / raw)
To: Sebastian Reichel
Cc: Jonas Karlman, Heiko Stuebner, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel
Hi,
On Thu, 25 Sep 2026 3:26 PM, Sebastian Reichel wrote:
> Why would this be better suited as an Overlay? Nothing describes the
> specific card plugged in as it is auto-discovered via USB. The
> overlays are mostly required for things that cannot easily be
> auto-detected. FWIW we don't have M.2 Key M as a DT overlay either.
The overlay was Jonas' suggestion, so I'll let him explain his
reasoning. My own understanding was that it would avoid powering the
slot (always-on supply plus RESET#/W_DISABLE1# hogs) on boards where
nothing is plugged in.
That said, I agree that the module itself is auto-discovered via USB,
and the Key M slot on this board is described in the base DT as well,
so I'm fine with keeping the B-key slot there, as in v1.
> Something to consider is, that for Key E and Key M there is a proper
> DT binding now: Documentation/devicetree/bindings/connector/pcie-m2-*.yaml
>
> We probably want the same for Key B.
Thanks for the pointer. As far as I can see, a Key B binding would
also need driver support to handle the supply, RESET# and W_DISABLE1#,
so it is a larger piece of work. Would it be acceptable to describe
the slot in the base DT for now and move to a connector binding once
one exists for Key B?
Jonas, Heiko, what do you think?
The fan patch is independent of this, so I could resend it on its
own in the meantime.
Adam
pt., 25 wrz 2026 o 15:26 Sebastian Reichel
<sebastian.reichel@collabora.com> napisał(a):
>
> Hi,
>
> On Thu, Sep 24, 2026 at 09:03:00PM +0200, Adam Wermuth wrote:
> > On Thu, 24 Sep 2026 6:12 PM, Jonas Karlman wrote:
> > > This and next patch is likely best suited as an dt-overlay.
> >
> > Thanks for the review. That makes sense, as the B-key slot is not
> > always populated.
> >
> > For v2 I will move the host1 enablement and the WWAN power, RESET#
> > and W_DISABLE1# handling into a new rk3568-rock-3b-wwan.dtso overlay,
> > and keep only the fan patch in the base DT.
>
> Why would this be better suited as an Overlay? Nothing describes the
> specific card plugged in as it is auto-discovered via USB. The
> overlays are mostly required for things that cannot easily be
> auto-detected. FWIW we don't have M.2 Key M as a DT overlay either.
>
> Something to consider is, that for Key E and Key M there is a proper
> DT binding now: Documentation/devicetree/bindings/connector/pcie-m2-*.yaml
>
> We probably want the same for Key B.
>
> Greetings,
>
> -- Sebastian
>
>
> >
> >
> > czw., 24 wrz 2026 o 18:12 Jonas Karlman <jonas@kwiboo.se> napisał(a):
> > >
> > > Hi Adam,
> > >
> > > On 9/24/2026 9:14 AM, Adam Wermuth wrote:
> > > > The USB 2.0 data lines of the M.2 B-key slot are routed to USB2_HOST3,
> > > > which is served by usb_host1_ehci/ohci through the host port of
> > > > usb2phy1. Enable the controllers and the PHY port so that modules in
> > > > the B-key slot, such as LTE modems, can enumerate.
> > >
> > > This and next patch is likely best suited as an dt-overlay.
> > >
> > > Regards,
> > > Jonas
> > >
> > > >
> > > > Signed-off-by: Adam Wermuth <adam@wermuth.pl>
> > > > ---
> > > > arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 13 +++++++++++++
> > > > 1 file changed, 13 insertions(+)
> > > >
> > > > diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> > > > index 149a5306bb03..ad9a91c0d0d0 100644
> > > > --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> > > > +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> > > > @@ -758,6 +758,14 @@ &usb_host0_xhci {
> > > > status = "okay";
> > > > };
> > > >
> > > > +&usb_host1_ehci {
> > > > + status = "okay";
> > > > +};
> > > > +
> > > > +&usb_host1_ohci {
> > > > + status = "okay";
> > > > +};
> > > > +
> > > > &usb_host1_xhci {
> > > > status = "okay";
> > > > };
> > > > @@ -780,6 +788,11 @@ &usb2phy1 {
> > > > status = "okay";
> > > > };
> > > >
> > > > +&usb2phy1_host {
> > > > + phy-supply = <&vcc5v0_usb_host>;
> > > > + status = "okay";
> > > > +};
> > > > +
> > > > &usb2phy1_otg {
> > > > phy-supply = <&vcc5v0_usb_host>;
> > > > status = "okay";
> > >
> >
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 on Radxa ROCK 3B
2026-09-25 13:56 ` Adam Wermuth
@ 2026-09-25 15:42 ` Alexey Charkov
0 siblings, 0 replies; 10+ messages in thread
From: Alexey Charkov @ 2026-09-25 15:42 UTC (permalink / raw)
To: Adam Wermuth
Cc: Sebastian Reichel, Jonas Karlman, Heiko Stuebner, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, linux-arm-kernel,
linux-rockchip, linux-kernel
On Fri, Sep 25, 2026 at 5:56 PM Adam Wermuth <adam@wermuth.pl> wrote:
>
> Hi,
>
> On Thu, 25 Sep 2026 3:26 PM, Sebastian Reichel wrote:
> > Why would this be better suited as an Overlay? Nothing describes the
> > specific card plugged in as it is auto-discovered via USB. The
> > overlays are mostly required for things that cannot easily be
> > auto-detected. FWIW we don't have M.2 Key M as a DT overlay either.
>
> The overlay was Jonas' suggestion, so I'll let him explain his
> reasoning. My own understanding was that it would avoid powering the
> slot (always-on supply plus RESET#/W_DISABLE1# hogs) on boards where
> nothing is plugged in.
>
> That said, I agree that the module itself is auto-discovered via USB,
> and the Key M slot on this board is described in the base DT as well,
> so I'm fine with keeping the B-key slot there, as in v1.
>
> > Something to consider is, that for Key E and Key M there is a proper
> > DT binding now: Documentation/devicetree/bindings/connector/pcie-m2-*.yaml
> >
> > We probably want the same for Key B.
>
> Thanks for the pointer. As far as I can see, a Key B binding would
> also need driver support to handle the supply, RESET# and W_DISABLE1#,
> so it is a larger piece of work. Would it be acceptable to describe
> the slot in the base DT for now and move to a connector binding once
> one exists for Key B?
Key B binding would be somewhat more involved than key E or key M. The
spec defines 16 distinct interface mux configurations selected by the
four CONFIG_X pins, which neither key M nor key E have (PCIe vs. SATA,
USB3 vs. SSIC, different audio configs, different I2C configs, etc.).
So it's a bit more than the supply, RESET# and W_DISABLE1#.
See for example [1] where just the PCIe vs. SATA selection is defined.
A proper binding will be needed sooner or later, though.
[1] https://github.com/flipperdevices/u-boot/blob/rk3576/board/flipper/flipper-one/flipper-one-rk3576.c#L41-L172
Best regards,
Alexey
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-09-25 15:42 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-24 7:14 [PATCH 0/3] Subject: [PATCH 0/3] arm64: dts: rockchip: Enable M.2 B-key slot and fan on Radxa ROCK 3B Adam Wermuth
2026-09-24 7:14 ` [PATCH 1/3] arm64: dts: rockchip: Enable USB 2.0 host1 " Adam Wermuth
2026-09-24 7:21 ` sashiko-bot
2026-09-24 16:12 ` Jonas Karlman
2026-09-24 19:03 ` Adam Wermuth
2026-09-25 13:25 ` Sebastian Reichel
2026-09-25 13:56 ` Adam Wermuth
2026-09-25 15:42 ` Alexey Charkov
2026-09-24 7:14 ` [PATCH 2/3] arm64: dts: rockchip: Enable M.2 B-key WWAN slot " Adam Wermuth
2026-09-24 7:14 ` [PATCH 3/3] arm64: dts: rockchip: Add PWM fan to " Adam Wermuth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox