* [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; 9+ 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] 9+ 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 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, 1 reply; 9+ 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 [flat|nested] 9+ 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; 9+ 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 [flat|nested] 9+ 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; 9+ 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 [flat|nested] 9+ 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 16:12 ` Jonas Karlman
2026-09-24 19:03 ` Adam Wermuth
0 siblings, 1 reply; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ messages in thread
end of thread, other threads:[~2026-09-25 15:42 UTC | newest]
Thread overview: 9+ 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 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
all inboxes | Powered by JetHome®