mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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®