[PATCH 2/3] arm64: dts: rockchip: Enable M.2 B-key WWAN slot on Radxa ROCK 3B
Adam Wermuth
adam at wermuth.pl
Thu Sep 24 00:14:44 PDT 2026
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 at 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
More information about the linux-arm-kernel
mailing list