* [PATCH 0/3] Pinephone Pro Connectivity: Adding Modem, Bluetooth, and Wi-Fi
@ 2026-01-13 6:42 Rudraksha Gupta via B4 Relay
2026-01-13 6:42 ` [PATCH 1/3] arm64: dts: rockchip: Add modem to the Pinephone Pro Rudraksha Gupta via B4 Relay
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Rudraksha Gupta via B4 Relay @ 2026-01-13 6:42 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
Lee Jones
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Rudraksha Gupta, Martijn Braam, Kamil Trzciński,
Ondrej Jirman, Danct12
Continuing the work on upstreaming Pinephone Pro functionality,
this patch series gets the connectivity side of the Pinephone Pro
mainlined. Here are the following patches with sources to the original
implementation(s):
arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro
- arm64: dts: rockchip: Disable interrupt GPIO for WiFi for the Pinephone Pro
----- https://codeberg.org/megi/linux/commit/7395662eb6700ba19a92fbfb244d4858f08404f3
mfd: rk8xx-core: Configure `rk808-clkout2` function
- power: rk818: Configure rk808-clkout2 function
----- https://codeberg.org/megi/linux/commit/75be96faf939504d0fd5112846e73e437573f716
arm64: dts: rockchip: Add modem to the Pinephone Pro
- arm64: dts: rk3399-pinephone-pro: Add 5V power supply
----- https://codeberg.org/megi/linux/commit/808e7cdaf3ed
- arm64: dts: rk3399-pinephone-pro: Add modem support
----- https://codeberg.org/megi/linux/commit/8f7e3464
- arm64: dts: rk3399-pinephone-pro: Change modem codec samplerate to 16kHz
----- https://codeberg.org/megi/linux/commit/3bea535
- arm64: dts: rk3399-pinephone-pro: Remove modem node
----- https://gitlab.com/pine64-org/linux/-/commit/f9f847c6fd1
I've also included a short guide on how to test these patches. This
generally follows this page:
https://wiki.postmarketos.org/wiki/PINE64_PinePhone_Pro_(pine64-pinephonepro)
To test, please follow the following steps:
// Follow pmbootstrap installation instructions:
// https://docs.postmarketos.org/pmbootstrap/main/installation.html
// Next, follow the instructions here to put the Pinephone Pro into USB Mass Storage mode:
// https://wiki.postmarketos.org/wiki/PINE64_PinePhone_Pro_(pine64-pinephonepro)#Internal_storage_(eMMC)
cd /to/linux/directory/with/these/patches/on/top
// I typically choose Phosh. Defaults should work
pmbootstrap init
wget https://gitlab.postmarketos.org/postmarketOS/pmaports/-/raw/master/device/community/linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64 -O arch/arm64/configs/orangepi_defconfig
make LLVM=1 CC="ccache clang" O=.output ARCH=arm64 -j $(nproc) W=1 orangepi_defconfig all
pmbootstrap build --envkernel linux-pine64-pinephonepro
pmbootstrap build --force device-pine64-pinephonepro
// Change /dev/sdX appropriately
pmbootstrap install --sdcard=/dev/sdX
// Cleanup everything
pmbootstrap -y zap -a
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
---
Kamil Trzciński (1):
mfd: rk8xx-core: Configure `rk808-clkout2` function
Ondrej Jirman (1):
arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro
Rudraksha Gupta (1):
arm64: dts: rockchip: Add modem to the Pinephone Pro
.../boot/dts/rockchip/rk3399-pinephone-pro.dts | 86 +++++++++++++++++++++-
drivers/mfd/rk8xx-core.c | 1 +
include/linux/mfd/rk808.h | 2 +
3 files changed, 86 insertions(+), 3 deletions(-)
---
base-commit: d0e305301e82474223bf26185e86e7dc2eb85350
change-id: 20260112-ppp_connectivity-5edddd7b4904
prerequisite-message-id: <20251225-ppp_light_accel_mag_vol-down-v6-0-8c79a4e87001@gmail.com>
prerequisite-patch-id: 8b32de16edffc9f81d299e40107c95908ead6a81
prerequisite-patch-id: 7714aa0d065ea9bc58a8fe67f04d738153752221
Best regards,
--
Rudraksha Gupta <guptarud@gmail.com>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/3] arm64: dts: rockchip: Add modem to the Pinephone Pro
2026-01-13 6:42 [PATCH 0/3] Pinephone Pro Connectivity: Adding Modem, Bluetooth, and Wi-Fi Rudraksha Gupta via B4 Relay
@ 2026-01-13 6:42 ` Rudraksha Gupta via B4 Relay
2026-01-13 7:22 ` Krzysztof Kozlowski
2026-01-13 20:47 ` Ondřej Jirman
2026-01-13 6:42 ` [PATCH 2/3] mfd: rk8xx-core: Configure `rk808-clkout2` function Rudraksha Gupta via B4 Relay
2026-01-13 6:42 ` [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro Rudraksha Gupta via B4 Relay
2 siblings, 2 replies; 13+ messages in thread
From: Rudraksha Gupta via B4 Relay @ 2026-01-13 6:42 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
Lee Jones
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Rudraksha Gupta, Martijn Braam, Kamil Trzciński,
Ondrej Jirman, Danct12
From: Rudraksha Gupta <guptarud@gmail.com>
This adds the Quectel EG25-G modem to the Pinephone Pro.
Co-developed-by: Martijn Braam <martijn@brixit.nl>
Signed-off-by: Martijn Braam <martijn@brixit.nl>
Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
Co-developed-by: Ondrej Jirman <megi@xff.cz>
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Co-developed-by: Danct12 <danct12@disroot.org>
Signed-off-by: Danct12 <danct12@disroot.org>
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
---
.../boot/dts/rockchip/rk3399-pinephone-pro.dts | 83 ++++++++++++++++++++++
1 file changed, 83 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index 6b35f59cd58e..97d0bf455258 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -97,6 +97,46 @@ multi-led {
leds = <&led_red>, <&led_green>, <&led_blue>;
};
+ vcc_4g_5v: regulator-vcc-4g-5v {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&vcc_4g_5v_en>;
+ regulator-name = "vcc_4g_5v";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&vcc5v0_sys>;
+ regulator-always-on;
+ };
+
+ vcc_4g: regulator-vcc-4g {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&gpio4 RK_PC7 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&vcc_4g_en>;
+ regulator-name = "vcc_4g";
+ regulator-min-microvolt = <3800000>;
+ regulator-max-microvolt = <3800000>;
+ vin-supply = <&vcc_sys>;
+ regulator-always-on;
+ };
+
+ vcc5v0_sys: regulator-vcc5v0-host {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0_sys";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ regulator-boot-on;
+ vin-supply = <&boost_otg>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ };
+ };
+
vcc_sys: regulator-vcc-sys {
compatible = "regulator-fixed";
regulator-name = "vcc_sys";
@@ -274,6 +314,17 @@ rk818: pmic@1c {
vcc9-supply = <&vcc3v3_sys>;
regulators {
+ boost_otg: DCDC_BOOST {
+ regulator-name = "boost_otg";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ };
+ };
+
vdd_cpu_l: DCDC_REG1 {
regulator-name = "vdd_cpu_l";
regulator-always-on;
@@ -702,6 +753,16 @@ blue_led_pin: blue-led-pin {
};
};
+ modem {
+ vcc_4g_5v_en: vcc-4g-5v-en-pin {
+ rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+
+ vcc_4g_en: vcc-4g-en-pin {
+ rockchip,pins = <4 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
pmic {
pmic_int_l: pmic-int-l {
rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
@@ -827,6 +888,16 @@ &tsadc {
status = "okay";
};
+
+&u2phy1 {
+ status = "okay";
+};
+
+&u2phy1_host {
+ status = "okay";
+ phy-supply = <&vcc5v0_sys>;
+};
+
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
@@ -852,6 +923,18 @@ &uart2 {
status = "okay";
};
+&uart3 {
+ status = "okay";
+};
+
+&usb_host1_ehci {
+ status = "okay";
+};
+
+&usb_host1_ohci {
+ status = "okay";
+};
+
&vopb {
status = "okay";
assigned-clocks = <&cru DCLK_VOP0_DIV>, <&cru DCLK_VOP0>,
--
2.52.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/3] mfd: rk8xx-core: Configure `rk808-clkout2` function
2026-01-13 6:42 [PATCH 0/3] Pinephone Pro Connectivity: Adding Modem, Bluetooth, and Wi-Fi Rudraksha Gupta via B4 Relay
2026-01-13 6:42 ` [PATCH 1/3] arm64: dts: rockchip: Add modem to the Pinephone Pro Rudraksha Gupta via B4 Relay
@ 2026-01-13 6:42 ` Rudraksha Gupta via B4 Relay
2026-01-13 10:23 ` Heiko Stübner
` (2 more replies)
2026-01-13 6:42 ` [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro Rudraksha Gupta via B4 Relay
2 siblings, 3 replies; 13+ messages in thread
From: Rudraksha Gupta via B4 Relay @ 2026-01-13 6:42 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
Lee Jones
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Rudraksha Gupta, Kamil Trzciński, Martijn Braam,
Ondrej Jirman
From: Kamil Trzciński <ayufan@ayufan.eu>
While the Wifi and Bluetooth chip are defined in the Pinephone Pro's
DTS, it actually isn't able to be used. Let's define rk808-clkout2 so
that userspace can actually interact with Wifi and Bluetooth
Co-developed-by: Martijn Braam <martijn@brixit.nl>
Signed-off-by: Martijn Braam <martijn@brixit.nl>
Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
---
drivers/mfd/rk8xx-core.c | 1 +
include/linux/mfd/rk808.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/drivers/mfd/rk8xx-core.c b/drivers/mfd/rk8xx-core.c
index def4587fdfb8..602218694334 100644
--- a/drivers/mfd/rk8xx-core.c
+++ b/drivers/mfd/rk8xx-core.c
@@ -282,6 +282,7 @@ static const struct rk808_reg_data rk818_pre_init_reg[] = {
{ RK818_H5V_EN_REG, BIT(0), RK818_H5V_EN },
{ RK808_VB_MON_REG, MASK_ALL, VB_LO_ACT |
VB_LO_SEL_3500MV },
+ { RK808_CLK32OUT_REG, CLK32KOUT2_FUNC_MASK, CLK32KOUT2_FUNC },
};
static const struct regmap_irq rk805_irqs[] = {
diff --git a/include/linux/mfd/rk808.h b/include/linux/mfd/rk808.h
index 28170ee08898..077fe2e15b78 100644
--- a/include/linux/mfd/rk808.h
+++ b/include/linux/mfd/rk808.h
@@ -934,6 +934,8 @@ enum rk806_dvs_mode {
#define VOUT_LO_INT BIT(0)
#define CLK32KOUT2_EN BIT(0)
+#define CLK32KOUT2_FUNC (0 << 1)
+#define CLK32KOUT2_FUNC_MASK BIT(1)
#define TEMP105C 0x08
#define TEMP115C 0x0c
--
2.52.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro
2026-01-13 6:42 [PATCH 0/3] Pinephone Pro Connectivity: Adding Modem, Bluetooth, and Wi-Fi Rudraksha Gupta via B4 Relay
2026-01-13 6:42 ` [PATCH 1/3] arm64: dts: rockchip: Add modem to the Pinephone Pro Rudraksha Gupta via B4 Relay
2026-01-13 6:42 ` [PATCH 2/3] mfd: rk8xx-core: Configure `rk808-clkout2` function Rudraksha Gupta via B4 Relay
@ 2026-01-13 6:42 ` Rudraksha Gupta via B4 Relay
2026-01-13 7:23 ` Krzysztof Kozlowski
` (2 more replies)
2 siblings, 3 replies; 13+ messages in thread
From: Rudraksha Gupta via B4 Relay @ 2026-01-13 6:42 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
Lee Jones
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Rudraksha Gupta, Ondrej Jirman, Martijn Braam,
Kamil Trzciński
From: Ondrej Jirman <megi@xff.cz>
Wifi is currently unusable if interrupts are defined. Let's remove them
so that Wifi networks are actually discoverable.
Co-developed-by: Martijn Braam <martijn@brixit.nl>
Signed-off-by: Martijn Braam <martijn@brixit.nl>
Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
---
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 3 ---
1 file changed, 3 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index 97d0bf455258..69bb9de4ce55 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -834,9 +834,6 @@ &sdio0 {
brcmf: wifi@1 {
compatible = "brcm,bcm4329-fmac";
reg = <1>;
- interrupt-parent = <&gpio4>;
- interrupts = <RK_PD0 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "host-wake";
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_l>;
};
--
2.52.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] arm64: dts: rockchip: Add modem to the Pinephone Pro
2026-01-13 6:42 ` [PATCH 1/3] arm64: dts: rockchip: Add modem to the Pinephone Pro Rudraksha Gupta via B4 Relay
@ 2026-01-13 7:22 ` Krzysztof Kozlowski
2026-01-14 5:57 ` Danct12
2026-01-13 20:47 ` Ondřej Jirman
1 sibling, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-01-13 7:22 UTC (permalink / raw)
To: guptarud, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Heiko Stuebner, Lee Jones
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Martijn Braam, Kamil Trzciński, Ondrej Jirman, Danct12
On 13/01/2026 07:42, Rudraksha Gupta via B4 Relay wrote:
> From: Rudraksha Gupta <guptarud@gmail.com>
>
> This adds the Quectel EG25-G modem to the Pinephone Pro.
>
> Co-developed-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Martijn Braam <martijn@brixit.nl>
> Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
> Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
> Co-developed-by: Ondrej Jirman <megi@xff.cz>
> Signed-off-by: Ondrej Jirman <megi@xff.cz>
> Co-developed-by: Danct12 <danct12@disroot.org>
> Signed-off-by: Danct12 <danct12@disroot.org>
You need full names.
Are you sure so many people actually were co-developing this?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro
2026-01-13 6:42 ` [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro Rudraksha Gupta via B4 Relay
@ 2026-01-13 7:23 ` Krzysztof Kozlowski
2026-01-13 10:26 ` Heiko Stübner
2026-01-13 21:22 ` Ondřej Jirman
2 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-01-13 7:23 UTC (permalink / raw)
To: guptarud, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Heiko Stuebner, Lee Jones
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Ondrej Jirman, Martijn Braam, Kamil Trzciński
On 13/01/2026 07:42, Rudraksha Gupta via B4 Relay wrote:
> From: Ondrej Jirman <megi@xff.cz>
>
> Wifi is currently unusable if interrupts are defined. Let's remove them
> so that Wifi networks are actually discoverable.
>
> Co-developed-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Martijn Braam <martijn@brixit.nl>
> Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
> Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
> Signed-off-by: Ondrej Jirman <megi@xff.cz>
So three people were developing this simple interrupt removal patch? How so?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/3] mfd: rk8xx-core: Configure `rk808-clkout2` function
2026-01-13 6:42 ` [PATCH 2/3] mfd: rk8xx-core: Configure `rk808-clkout2` function Rudraksha Gupta via B4 Relay
@ 2026-01-13 10:23 ` Heiko Stübner
2026-01-13 11:04 ` Lee Jones
2026-01-13 20:20 ` Ondřej Jirman
2 siblings, 0 replies; 13+ messages in thread
From: Heiko Stübner @ 2026-01-13 10:23 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lee Jones,
guptarud
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Rudraksha Gupta, Kamil Trzciński, Martijn Braam,
Ondrej Jirman
Hi,
Am Dienstag, 13. Januar 2026, 07:42:25 Mitteleuropäische Normalzeit schrieb Rudraksha Gupta via B4 Relay:
> From: Kamil Trzciński <ayufan@ayufan.eu>
>
> While the Wifi and Bluetooth chip are defined in the Pinephone Pro's
> DTS, it actually isn't able to be used. Let's define rk808-clkout2 so
> that userspace can actually interact with Wifi and Bluetooth
Needs of one special device don't really justify changing core drivers.
So this commit message definitly needs a more general description on
why this is needed.
> Co-developed-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
> Signed-off-by: Ondrej Jirman <megi@xff.cz>
> Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
> ---
> drivers/mfd/rk8xx-core.c | 1 +
> include/linux/mfd/rk808.h | 2 ++
> 2 files changed, 3 insertions(+)
>
> diff --git a/drivers/mfd/rk8xx-core.c b/drivers/mfd/rk8xx-core.c
> index def4587fdfb8..602218694334 100644
> --- a/drivers/mfd/rk8xx-core.c
> +++ b/drivers/mfd/rk8xx-core.c
> @@ -282,6 +282,7 @@ static const struct rk808_reg_data rk818_pre_init_reg[] = {
> { RK818_H5V_EN_REG, BIT(0), RK818_H5V_EN },
> { RK808_VB_MON_REG, MASK_ALL, VB_LO_ACT |
> VB_LO_SEL_3500MV },
> + { RK808_CLK32OUT_REG, CLK32KOUT2_FUNC_MASK, CLK32KOUT2_FUNC },
So now you're unconditionally enabling this clock output, without anybody
being able to turn it off again?
Please look at drivers/clk/clk-rk808.c and adapt it to handle the rk8xx
variants, as that provides a real clock driver that your wifi node can
use.
Heiko
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro
2026-01-13 6:42 ` [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro Rudraksha Gupta via B4 Relay
2026-01-13 7:23 ` Krzysztof Kozlowski
@ 2026-01-13 10:26 ` Heiko Stübner
2026-01-13 21:22 ` Ondřej Jirman
2 siblings, 0 replies; 13+ messages in thread
From: Heiko Stübner @ 2026-01-13 10:26 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lee Jones,
guptarud
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Rudraksha Gupta, Ondrej Jirman, Martijn Braam,
Kamil Trzciński
Am Dienstag, 13. Januar 2026, 07:42:26 Mitteleuropäische Normalzeit schrieb Rudraksha Gupta via B4 Relay:
> From: Ondrej Jirman <megi@xff.cz>
>
> Wifi is currently unusable if interrupts are defined. Let's remove them
> so that Wifi networks are actually discoverable.
Please don't describe not what you're doing but why.
The interrupt seems to the one that is connected to wifi, so I'd expect
a description why that causes problems first, instead of going
"doesn't work for me" - "just remove it" .
As the below just looks like a temporary hack until the real cause is
found.
> Co-developed-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Martijn Braam <martijn@brixit.nl>
> Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
> Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
> Signed-off-by: Ondrej Jirman <megi@xff.cz>
> Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
> ---
> arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> index 97d0bf455258..69bb9de4ce55 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> @@ -834,9 +834,6 @@ &sdio0 {
> brcmf: wifi@1 {
> compatible = "brcm,bcm4329-fmac";
> reg = <1>;
> - interrupt-parent = <&gpio4>;
> - interrupts = <RK_PD0 IRQ_TYPE_LEVEL_HIGH>;
> - interrupt-names = "host-wake";
> pinctrl-names = "default";
> pinctrl-0 = <&wifi_host_wake_l>;
> };
>
>
Thanks
Heiko
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/3] mfd: rk8xx-core: Configure `rk808-clkout2` function
2026-01-13 6:42 ` [PATCH 2/3] mfd: rk8xx-core: Configure `rk808-clkout2` function Rudraksha Gupta via B4 Relay
2026-01-13 10:23 ` Heiko Stübner
@ 2026-01-13 11:04 ` Lee Jones
2026-01-13 20:20 ` Ondřej Jirman
2 siblings, 0 replies; 13+ messages in thread
From: Lee Jones @ 2026-01-13 11:04 UTC (permalink / raw)
To: guptarud
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Kamil Trzciński, Martijn Braam, Ondrej Jirman
On Mon, 12 Jan 2026, Rudraksha Gupta via B4 Relay wrote:
> From: Kamil Trzciński <ayufan@ayufan.eu>
>
> While the Wifi and Bluetooth chip are defined in the Pinephone Pro's
> DTS, it actually isn't able to be used. Let's define rk808-clkout2 so
> that userspace can actually interact with Wifi and Bluetooth
>
> Co-developed-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
> Signed-off-by: Ondrej Jirman <megi@xff.cz>
> Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
This is a bonkers amount of SoBs for a 3-line change.
What on earth is going on here?
> ---
> drivers/mfd/rk8xx-core.c | 1 +
> include/linux/mfd/rk808.h | 2 ++
> 2 files changed, 3 insertions(+)
>
> diff --git a/drivers/mfd/rk8xx-core.c b/drivers/mfd/rk8xx-core.c
> index def4587fdfb8..602218694334 100644
> --- a/drivers/mfd/rk8xx-core.c
> +++ b/drivers/mfd/rk8xx-core.c
> @@ -282,6 +282,7 @@ static const struct rk808_reg_data rk818_pre_init_reg[] = {
> { RK818_H5V_EN_REG, BIT(0), RK818_H5V_EN },
> { RK808_VB_MON_REG, MASK_ALL, VB_LO_ACT |
> VB_LO_SEL_3500MV },
> + { RK808_CLK32OUT_REG, CLK32KOUT2_FUNC_MASK, CLK32KOUT2_FUNC },
> };
>
> static const struct regmap_irq rk805_irqs[] = {
> diff --git a/include/linux/mfd/rk808.h b/include/linux/mfd/rk808.h
> index 28170ee08898..077fe2e15b78 100644
> --- a/include/linux/mfd/rk808.h
> +++ b/include/linux/mfd/rk808.h
> @@ -934,6 +934,8 @@ enum rk806_dvs_mode {
>
> #define VOUT_LO_INT BIT(0)
> #define CLK32KOUT2_EN BIT(0)
> +#define CLK32KOUT2_FUNC (0 << 1)
> +#define CLK32KOUT2_FUNC_MASK BIT(1)
>
> #define TEMP105C 0x08
> #define TEMP115C 0x0c
>
> --
> 2.52.0
>
>
--
Lee Jones [李琼斯]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/3] mfd: rk8xx-core: Configure `rk808-clkout2` function
2026-01-13 6:42 ` [PATCH 2/3] mfd: rk8xx-core: Configure `rk808-clkout2` function Rudraksha Gupta via B4 Relay
2026-01-13 10:23 ` Heiko Stübner
2026-01-13 11:04 ` Lee Jones
@ 2026-01-13 20:20 ` Ondřej Jirman
2 siblings, 0 replies; 13+ messages in thread
From: Ondřej Jirman @ 2026-01-13 20:20 UTC (permalink / raw)
To: guptarud
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
Lee Jones, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel, Kamil Trzciński, Martijn Braam
On Mon, Jan 12, 2026 at 10:42:25PM -0800, Rudraksha Gupta via B4 Relay wrote:
> From: Kamil Trzciński <ayufan@ayufan.eu>
>
> While the Wifi and Bluetooth chip are defined in the Pinephone Pro's
> DTS, it actually isn't able to be used. Let's define rk808-clkout2 so
> that userspace can actually interact with Wifi and Bluetooth
>
> Co-developed-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
> Signed-off-by: Ondrej Jirman <megi@xff.cz>
Hi Rudraksha, I don't belong here. Semi-original patch from 5 yrs ago is here:
https://codeberg.org/megi/linux/commit/75be96faf939504d0fd5112846e73e437573f716
thanks,
o.
> Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
> ---
> drivers/mfd/rk8xx-core.c | 1 +
> include/linux/mfd/rk808.h | 2 ++
> 2 files changed, 3 insertions(+)
>
> diff --git a/drivers/mfd/rk8xx-core.c b/drivers/mfd/rk8xx-core.c
> index def4587fdfb8..602218694334 100644
> --- a/drivers/mfd/rk8xx-core.c
> +++ b/drivers/mfd/rk8xx-core.c
> @@ -282,6 +282,7 @@ static const struct rk808_reg_data rk818_pre_init_reg[] = {
> { RK818_H5V_EN_REG, BIT(0), RK818_H5V_EN },
> { RK808_VB_MON_REG, MASK_ALL, VB_LO_ACT |
> VB_LO_SEL_3500MV },
> + { RK808_CLK32OUT_REG, CLK32KOUT2_FUNC_MASK, CLK32KOUT2_FUNC },
> };
>
> static const struct regmap_irq rk805_irqs[] = {
> diff --git a/include/linux/mfd/rk808.h b/include/linux/mfd/rk808.h
> index 28170ee08898..077fe2e15b78 100644
> --- a/include/linux/mfd/rk808.h
> +++ b/include/linux/mfd/rk808.h
> @@ -934,6 +934,8 @@ enum rk806_dvs_mode {
>
> #define VOUT_LO_INT BIT(0)
> #define CLK32KOUT2_EN BIT(0)
> +#define CLK32KOUT2_FUNC (0 << 1)
> +#define CLK32KOUT2_FUNC_MASK BIT(1)
>
> #define TEMP105C 0x08
> #define TEMP115C 0x0c
>
> --
> 2.52.0
>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] arm64: dts: rockchip: Add modem to the Pinephone Pro
2026-01-13 6:42 ` [PATCH 1/3] arm64: dts: rockchip: Add modem to the Pinephone Pro Rudraksha Gupta via B4 Relay
2026-01-13 7:22 ` Krzysztof Kozlowski
@ 2026-01-13 20:47 ` Ondřej Jirman
1 sibling, 0 replies; 13+ messages in thread
From: Ondřej Jirman @ 2026-01-13 20:47 UTC (permalink / raw)
To: guptarud
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
Lee Jones, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel, Martijn Braam, Kamil Trzciński, Danct12
Hello Rudraksha,
On Mon, Jan 12, 2026 at 10:42:24PM -0800, Rudraksha Gupta via B4 Relay wrote:
> From: Rudraksha Gupta <guptarud@gmail.com>
>
> This adds the Quectel EG25-G modem to the Pinephone Pro.
>
> Co-developed-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Martijn Braam <martijn@brixit.nl>
> Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
> Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
> Co-developed-by: Ondrej Jirman <megi@xff.cz>
> Signed-off-by: Ondrej Jirman <megi@xff.cz>
> Co-developed-by: Danct12 <danct12@disroot.org>
> Signed-off-by: Danct12 <danct12@disroot.org>
> Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
> ---
> .../boot/dts/rockchip/rk3399-pinephone-pro.dts | 83 ++++++++++++++++++++++
> 1 file changed, 83 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> index 6b35f59cd58e..97d0bf455258 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> @@ -97,6 +97,46 @@ multi-led {
> leds = <&led_red>, <&led_green>, <&led_blue>;
> };
>
> + vcc_4g_5v: regulator-vcc-4g-5v {
> + compatible = "regulator-fixed";
> + enable-active-high;
> + gpio = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&vcc_4g_5v_en>;
> + regulator-name = "vcc_4g_5v";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + vin-supply = <&vcc5v0_sys>;
> + regulator-always-on;
> + };
> +
> + vcc_4g: regulator-vcc-4g {
> + compatible = "regulator-fixed";
> + enable-active-high;
> + gpio = <&gpio4 RK_PC7 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&vcc_4g_en>;
> + regulator-name = "vcc_4g";
> + regulator-min-microvolt = <3800000>;
> + regulator-max-microvolt = <3800000>;
> + vin-supply = <&vcc_sys>;
> + regulator-always-on;
> + };
> +
> + vcc5v0_sys: regulator-vcc5v0-host {
> + compatible = "regulator-fixed";
> + regulator-name = "vcc5v0_sys";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-always-on;
> + regulator-boot-on;
> + vin-supply = <&boost_otg>;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + };
This does nothing for regulator-fixed. And in any case, there's no such
regulator in the schematic. vcc5v0_sys is just alias for boost output from
RK818.
See: https://xff.cz/dl/tmp/0864afaf8d21b1a5.png
So you can remove this completely and just add vcc5v0_sys alias to DCDC_BOOST.
Best regards,
o.
> + };
> +
> vcc_sys: regulator-vcc-sys {
> compatible = "regulator-fixed";
> regulator-name = "vcc_sys";
> @@ -274,6 +314,17 @@ rk818: pmic@1c {
> vcc9-supply = <&vcc3v3_sys>;
>
> regulators {
> + boost_otg: DCDC_BOOST {
> + regulator-name = "boost_otg";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + };
> + };
> +
> vdd_cpu_l: DCDC_REG1 {
> regulator-name = "vdd_cpu_l";
> regulator-always-on;
> @@ -702,6 +753,16 @@ blue_led_pin: blue-led-pin {
> };
> };
>
> + modem {
> + vcc_4g_5v_en: vcc-4g-5v-en-pin {
> + rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> +
> + vcc_4g_en: vcc-4g-en-pin {
> + rockchip,pins = <4 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> + };
> +
> pmic {
> pmic_int_l: pmic-int-l {
> rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
> @@ -827,6 +888,16 @@ &tsadc {
> status = "okay";
> };
>
> +
> +&u2phy1 {
> + status = "okay";
> +};
> +
> +&u2phy1_host {
> + status = "okay";
> + phy-supply = <&vcc5v0_sys>;
> +};
> +
> &uart0 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
> @@ -852,6 +923,18 @@ &uart2 {
> status = "okay";
> };
>
> +&uart3 {
> + status = "okay";
> +};
> +
> +&usb_host1_ehci {
> + status = "okay";
> +};
> +
> +&usb_host1_ohci {
> + status = "okay";
> +};
> +
> &vopb {
> status = "okay";
> assigned-clocks = <&cru DCLK_VOP0_DIV>, <&cru DCLK_VOP0>,
>
> --
> 2.52.0
>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro
2026-01-13 6:42 ` [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro Rudraksha Gupta via B4 Relay
2026-01-13 7:23 ` Krzysztof Kozlowski
2026-01-13 10:26 ` Heiko Stübner
@ 2026-01-13 21:22 ` Ondřej Jirman
2 siblings, 0 replies; 13+ messages in thread
From: Ondřej Jirman @ 2026-01-13 21:22 UTC (permalink / raw)
To: guptarud
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
Lee Jones, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel, Martijn Braam, Kamil Trzciński
Hi Rudraksha,
On Mon, Jan 12, 2026 at 10:42:26PM -0800, Rudraksha Gupta via B4 Relay wrote:
> From: Ondrej Jirman <megi@xff.cz>
>
> Wifi is currently unusable if interrupts are defined. Let's remove them
> so that Wifi networks are actually discoverable.
>
> Co-developed-by: Martijn Braam <martijn@brixit.nl>
> Signed-off-by: Martijn Braam <martijn@brixit.nl>
> Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
> Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
^^ these lines are incorrect and the patch is not meant for upstreaming, really.
I think whether OOB interrupts work or not on PPP may be a function of
what FW and firmware config file is used.
So eg. in brcmfmac43455-sdio.pine64,pinephone-pro.txt you can have settings
like:
# OOB IRQ settings -- next 3 "sd" parameters uncommented for OOB IRQ. Edge sensitive interrupt via WL_HOST_WAKE line.
#muxenab=0x10
#sd_gpout=0
#sd_oobonly=1
#sd_gpval=1
That affect OOB interrupt behavior. So FW config needs to match kernel DT
and vice versa.
My FW config does not set any of these options, so I disabled the OOB interrupt
in DT, too. Better option may be to upstream NVRAM config file to
linux-firmware. But I don't think anyone has any idea which file is correct,
and satisfies regulatory requirements.
I guess adding muxenab=0x10 would fix this, since that's what Pinebook Pro uses
and it has the same WiFi chip and similar design, and OOB interrupts work there.
Best regards,
o.
> Signed-off-by: Ondrej Jirman <megi@xff.cz>
> Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
> ---
> arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> index 97d0bf455258..69bb9de4ce55 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> @@ -834,9 +834,6 @@ &sdio0 {
> brcmf: wifi@1 {
> compatible = "brcm,bcm4329-fmac";
> reg = <1>;
> - interrupt-parent = <&gpio4>;
> - interrupts = <RK_PD0 IRQ_TYPE_LEVEL_HIGH>;
> - interrupt-names = "host-wake";
> pinctrl-names = "default";
> pinctrl-0 = <&wifi_host_wake_l>;
> };
>
> --
> 2.52.0
>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] arm64: dts: rockchip: Add modem to the Pinephone Pro
2026-01-13 7:22 ` Krzysztof Kozlowski
@ 2026-01-14 5:57 ` Danct12
0 siblings, 0 replies; 13+ messages in thread
From: Danct12 @ 2026-01-14 5:57 UTC (permalink / raw)
To: guptarud, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Heiko Stuebner, Lee Jones, Krzysztof Kozlowski
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Martijn Braam, Kamil Trzciński, Ondrej Jirman
[-- Attachment #1: Type: text/plain, Size: 1367 bytes --]
Hi Krzysztof and Rudraksha,
On Tuesday, January 13, 2026 7:22:33 AM Coordinated Universal Time Krzysztof
Kozlowski wrote:
> On 13/01/2026 07:42, Rudraksha Gupta via B4 Relay wrote:
> > From: Rudraksha Gupta <guptarud@gmail.com>
> >
> > This adds the Quectel EG25-G modem to the Pinephone Pro.
> >
> > Co-developed-by: Martijn Braam <martijn@brixit.nl>
> > Signed-off-by: Martijn Braam <martijn@brixit.nl>
> > Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
> > Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
> > Co-developed-by: Ondrej Jirman <megi@xff.cz>
> > Signed-off-by: Ondrej Jirman <megi@xff.cz>
> > Co-developed-by: Danct12 <danct12@disroot.org>
> > Signed-off-by: Danct12 <danct12@disroot.org>
For clarification, I did not add my Signed-off-by.
I'm pretty sure the original patch came from [1] which was a distribution-
specific patch applied on top of [2] Linux fork, which does not have a Signed-
off tag.
Please remove my (nick)name, Signed-off-by and Co-developed-by from this patch.
>
> You need full names.
>
> Are you sure so many people actually were co-developing this?
>
> Best regards,
> Krzysztof
[1]: https://github.com/dreemurrs-embedded/danctnix-packages/blob/main/pine64/
linux-megi/dts-pinephone-pro-remove-modem-node.patch
[2]: https://codeberg.org/megi/linux
Best regards,
Dang
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2026-01-14 6:08 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-13 6:42 [PATCH 0/3] Pinephone Pro Connectivity: Adding Modem, Bluetooth, and Wi-Fi Rudraksha Gupta via B4 Relay
2026-01-13 6:42 ` [PATCH 1/3] arm64: dts: rockchip: Add modem to the Pinephone Pro Rudraksha Gupta via B4 Relay
2026-01-13 7:22 ` Krzysztof Kozlowski
2026-01-14 5:57 ` Danct12
2026-01-13 20:47 ` Ondřej Jirman
2026-01-13 6:42 ` [PATCH 2/3] mfd: rk8xx-core: Configure `rk808-clkout2` function Rudraksha Gupta via B4 Relay
2026-01-13 10:23 ` Heiko Stübner
2026-01-13 11:04 ` Lee Jones
2026-01-13 20:20 ` Ondřej Jirman
2026-01-13 6:42 ` [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro Rudraksha Gupta via B4 Relay
2026-01-13 7:23 ` Krzysztof Kozlowski
2026-01-13 10:26 ` Heiko Stübner
2026-01-13 21:22 ` Ondřej Jirman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox