From 23da82069541689bcfaa259fa07e18c68773def8 Mon Sep 17 00:00:00 2001 From: defcom5-rockchip <286489597+defcom5-rockchip@users.noreply.github.com> Date: Sat, 8 Aug 2026 13:44:36 -0700 Subject: [PATCH 1/2] board: orangepi-5b: fix BT host-wake IRQ direction GPIO0_C5 boots as an output, so gpiochip_lock_as_irq() returns -EIO and the bcm_host_wake IRQ never registers. pcfg_pull_down sets bias only; PIN_CONFIG_INPUT_ENABLE forces the GPIO mux and calls direction_input(). Tested on Orange Pi 5B: the IRQ registers and delivers, WiFi and Bluetooth otherwise unchanged. Fixes #10370. --- .../archive/rockchip64-7.1/dt/rk3588s-orangepi-5b.dts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/patch/kernel/archive/rockchip64-7.1/dt/rk3588s-orangepi-5b.dts b/patch/kernel/archive/rockchip64-7.1/dt/rk3588s-orangepi-5b.dts index d6534473d6f2..4b5727d8003c 100644 --- a/patch/kernel/archive/rockchip64-7.1/dt/rk3588s-orangepi-5b.dts +++ b/patch/kernel/archive/rockchip64-7.1/dt/rk3588s-orangepi-5b.dts @@ -26,6 +26,11 @@ }; &pinctrl { + pcfg_input_enable: pcfg-input-enable { + bias-disable; + input-enable; + }; + wireless-bluetooth { bt_reset_pin: bt-reset-pin { rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; @@ -36,7 +41,7 @@ }; bt_wake_host_irq: bt-wake-host-irq { - rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_input_enable>; }; }; From ceaa6d86931acd3d93999a136c6086b6775854e6 Mon Sep 17 00:00:00 2001 From: defcom5-rockchip <286489597+defcom5-rockchip@users.noreply.github.com> Date: Sun, 9 Aug 2026 10:31:24 -0700 Subject: [PATCH 2/2] board: orangepi-5b: apply BT host-wake fix to 6.18 and 7.2 patchsets The same bt_wake_host_irq pin config is present in rockchip64-6.18 and rockchip64-7.2, so the fix would otherwise be lost on transition to either branch. All three dts files are byte-identical, so this is the same two hunks applied unchanged. rockchip64-6.12 has no bt_wake_host_irq node and is not affected. Tested on hardware with 7.1 only; 6.18 and 7.2 carry the identical pin config and pinctrl-rockchip has implemented PIN_CONFIG_INPUT_ENABLE for many releases, but those branches are not separately boot-tested here. --- .../archive/rockchip64-6.18/dt/rk3588s-orangepi-5b.dts | 7 ++++++- .../archive/rockchip64-7.2/dt/rk3588s-orangepi-5b.dts | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/patch/kernel/archive/rockchip64-6.18/dt/rk3588s-orangepi-5b.dts b/patch/kernel/archive/rockchip64-6.18/dt/rk3588s-orangepi-5b.dts index d6534473d6f2..4b5727d8003c 100644 --- a/patch/kernel/archive/rockchip64-6.18/dt/rk3588s-orangepi-5b.dts +++ b/patch/kernel/archive/rockchip64-6.18/dt/rk3588s-orangepi-5b.dts @@ -26,6 +26,11 @@ }; &pinctrl { + pcfg_input_enable: pcfg-input-enable { + bias-disable; + input-enable; + }; + wireless-bluetooth { bt_reset_pin: bt-reset-pin { rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; @@ -36,7 +41,7 @@ }; bt_wake_host_irq: bt-wake-host-irq { - rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_input_enable>; }; }; diff --git a/patch/kernel/archive/rockchip64-7.2/dt/rk3588s-orangepi-5b.dts b/patch/kernel/archive/rockchip64-7.2/dt/rk3588s-orangepi-5b.dts index d6534473d6f2..4b5727d8003c 100644 --- a/patch/kernel/archive/rockchip64-7.2/dt/rk3588s-orangepi-5b.dts +++ b/patch/kernel/archive/rockchip64-7.2/dt/rk3588s-orangepi-5b.dts @@ -26,6 +26,11 @@ }; &pinctrl { + pcfg_input_enable: pcfg-input-enable { + bias-disable; + input-enable; + }; + wireless-bluetooth { bt_reset_pin: bt-reset-pin { rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; @@ -36,7 +41,7 @@ }; bt_wake_host_irq: bt-wake-host-irq { - rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_input_enable>; }; };