Re: [PATCH v3 8/8] riscv: dtb: thead: Add BeagleV Ahead LEDs

From: Emil Renner Berthing
Date: Sat Oct 12 2024 - 10:42:11 EST


Drew Fustini wrote:
> From: Emil Renner Berthing <emil.renner.berthing@xxxxxxxxxxxxx>
>
> Add nodes for the 5 user controllable LEDs on the BeagleV Ahead board.
>
> Tested-by: Thomas Bonnefille <thomas.bonnefille@xxxxxxxxxxx>
> Signed-off-by: Emil Renner Berthing <emil.renner.berthing@xxxxxxxxxxxxx>
> Signed-off-by: Drew Fustini <dfustini@xxxxxxxxxxxxxxx>
> ---
> arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts | 55 ++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
>
> diff --git a/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts b/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts
> index 6c0b768e8d17..5a5888f4eda6 100644
> --- a/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts
> +++ b/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts
> @@ -7,6 +7,8 @@
> /dts-v1/;
>
> #include "th1520.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/leds/common.h>
>
> / {
> model = "BeagleV Ahead";
> @@ -35,7 +37,42 @@ chosen {
> memory@0 {
> device_type = "memory";
> reg = <0x0 0x00000000 0x1 0x00000000>;
> + };
> +
> + leds {
> + pinctrl-names = "default";
> + pinctrl-0 = <&led_pins>;
> + compatible = "gpio-leds";
> +
> + led-1 {
> + gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;

Here you're also missing important changes from the tree I told you to use.
These should be GPIO_ACTIVE_HIGH otherwise the LEDs will be on when they should
be off.

> + color = <LED_COLOR_ID_BLUE>;
> + label = "led1";
> + };
> +
> + led-2 {
> + gpios = <&gpio4 9 GPIO_ACTIVE_LOW>;
> + color = <LED_COLOR_ID_BLUE>;
> + label = "led2";
> + };
> +
> + led-3 {
> + gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;
> + color = <LED_COLOR_ID_BLUE>;
> + label = "led3";
> + };
> +
> + led-4 {
> + gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
> + color = <LED_COLOR_ID_BLUE>;
> + label = "led4";
> + };
>
> + led-5 {
> + gpios = <&gpio4 12 GPIO_ACTIVE_LOW>;
> + color = <LED_COLOR_ID_BLUE>;
> + label = "led5";
> + };
> };
> };
>
> @@ -71,6 +108,24 @@ &sdio0 {
> status = "okay";
> };
>
> +&padctrl_aosys {
> + led_pins: led-0 {
> + led-pins {
> + pins = "AUDIO_PA8", /* GPIO4_8 */
> + "AUDIO_PA9", /* GPIO4_9 */
> + "AUDIO_PA10", /* GPIO4_10 */
> + "AUDIO_PA11", /* GPIO4_11 */
> + "AUDIO_PA12"; /* GPIO4_12 */
> + function = "gpio";

You've also added this line which results in an error like this:

pinctrl-th1520 fffff4a000.pinctrl: pin AUDIO_PA8 already requested
by leds; cannot claim for fffff52000.gpio:536

Did you run this on your BeagleV Ahead?

/Emil

> + bias-disable;
> + drive-strength = <3>;
> + input-disable;
> + input-schmitt-disable;
> + slew-rate = <0>;
> + };
> + };
> +};
> +
> &padctrl0_apsys {
> uart0_pins: uart0-0 {
> tx-pins {
>
> --
> 2.34.1
>