arm64: dts: rockchip: Add Pinephone Pro support for GPIO LEDs
authorPeter Robinson <pbrobinson@gmail.com>
Sun, 23 Jun 2024 16:53:20 +0000 (17:53 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Mon, 24 Jun 2024 16:14:02 +0000 (18:14 +0200)
The PinePhone Pro has a cluster of 3 single RGB GPIO LEDs.
Add the GPIO entries for the 3 red/green/blue LEDs and an
entry for the multi-color group to allow them to be used
as a combined RGB LED.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Link: https://lore.kernel.org/r/20240623165326.1273944-1-pbrobinson@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts

index f474c2268753070ab4783761323a8d77c158e0ac..f1209dc3f761b5bc01a1df5e1f0894d219dda6ab 100644 (file)
@@ -12,6 +12,7 @@
 /dts-v1/;
 #include <dt-bindings/input/gpio-keys.h>
 #include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/leds/common.h>
 #include "rk3399.dtsi"
 #include "rk3399-opp.dtsi"
 
                };
        };
 
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&red_led_pin &green_led_pin &blue_led_pin>;
+
+               led_red: led-0 {
+                       color = <LED_COLOR_ID_RED>;
+                       gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
+               };
+
+               led_green: led-1 {
+                       color = <LED_COLOR_ID_GREEN>;
+                       gpios = <&gpio4 RK_PD5 GPIO_ACTIVE_HIGH>;
+               };
+
+               led_blue: led-2 {
+                       color = <LED_COLOR_ID_BLUE>;
+                       gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
+       multi-led {
+               compatible = "leds-group-multicolor";
+               color = <LED_COLOR_ID_RGB>;
+               function = LED_FUNCTION_INDICATOR;
+               leds = <&led_red>, <&led_green>, <&led_blue>;
+       };
+
        vcc_sys: vcc-sys-regulator {
                compatible = "regulator-fixed";
                regulator-name = "vcc_sys";
                };
        };
 
+       leds {
+               red_led_pin: red-led-pin {
+                       rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               green_led_pin: green-led-pin {
+                       rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               blue_led_pin: blue-led-pin {
+                       rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        pmic {
                pmic_int_l: pmic-int-l {
                        rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;