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

Emil Renner Berthing emil.renner.berthing at canonical.com
Sat Oct 12 07:41:09 PDT 2024


Drew Fustini wrote:
> From: Emil Renner Berthing <emil.renner.berthing at canonical.com>
>
> Add nodes for the 5 user controllable LEDs on the BeagleV Ahead board.
>
> Tested-by: Thomas Bonnefille <thomas.bonnefille at bootlin.com>
> Signed-off-by: Emil Renner Berthing <emil.renner.berthing at canonical.com>
> Signed-off-by: Drew Fustini <dfustini at tenstorrent.com>
> ---
>  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 at 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
>



More information about the linux-riscv mailing list