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