diff --git a/patch/kernel/rockchip64-dev/board-rockpi4-dts-leds.patch b/patch/kernel/rockchip64-dev/board-rockpi4-dts-leds.patch new file mode 100644 index 000000000..a6a13ba4a --- /dev/null +++ b/patch/kernel/rockchip64-dev/board-rockpi4-dts-leds.patch @@ -0,0 +1,55 @@ +While mainlining Rock Pi 4 its leds were probably overlooked in the dts. +Power led is not usable in currently available board revisions <= 1.4 +and is disabled in dts to not confuse users who would like to fiddle with it. + +It could possibly be made controllable by its gpio with the help +of soldering iron, steady hands, patience (SMD0402) and additional overlay +to enable the led and its gpio pin in device tree. + +diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dts +index e03062715..a97e02bc0 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dts +@@ -111,6 +111,25 @@ + regulator-max-microvolt = <1400000>; + vin-supply = <&vcc5v0_sys>; + }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&power_led_gpio>, <&status_led_gpio>; ++ ++ power-status { ++ label = "power"; ++ gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "default-on"; ++ status = "disabled"; ++ }; ++ ++ system-status { ++ label = "status"; ++ gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "heartbeat"; ++ }; ++ }; + }; + + &cpu_l0 { +@@ -457,6 +476,16 @@ + }; + }; + ++ leds { ++ power_led_gpio: power_led_gpio { ++ rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ status_led_gpio: status_led_gpio { ++ rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ + pmic { + pmic_int_l: pmic-int-l { + rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;