* [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
* 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
* [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
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