[PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro

Rudraksha Gupta via B4 Relay posted 3 patches 3 weeks, 5 days ago
[PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro
Posted by Rudraksha Gupta via B4 Relay 3 weeks, 5 days ago
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


Re: [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro
Posted by Ondřej Jirman 3 weeks, 5 days ago
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
> 
> 
Re: [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro
Posted by Krzysztof Kozlowski 3 weeks, 5 days ago
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
Re: [PATCH 3/3] arm64: dts: rockchip: Remove interrupt GPIO for WiFi for the Pinephone Pro
Posted by Heiko Stübner 3 weeks, 5 days ago
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