[PATCH 10/11] sam9x60-curiosity: migrate Boot LED setup to use /options/u-boot/boot-led
Alexander Dahl
ada at thorsis.com
Thu Nov 13 09:44:11 CET 2025
Hello Quentin,
thanks for your effort. I'm all in for common behaviour.
See more remarks below.
Am Wed, Nov 12, 2025 at 06:48:15PM +0100 schrieb Quentin Schulz:
> From: Quentin Schulz <quentin.schulz at cherry.de>
>
> This board is one of the last users of /config/u-boot,boot-led property
> which is a U-Boot property out of the DT spec.
Well, I introduced it back in 2023 with commit 1818b44b7bc ("board:
sam9x60-curiosity: Let LED subsystem init leds if enabled"), maybe
because I found the old property in the documentation?
Not sure since when CONFIG_LED_BOOT and the new property is a thing,
but I have no hard feelings here.
> Let's migrate it to use the in-spec /options/u-boot/boot-led property.
> When enabling LED_BOOT, U-Boot proper will lit the LED right before
> entering the main loop, so nothing needs to be done in board files.
Fine. Using specified properties and having less board code are both
good things!
> As explained in the commit adding support for this u-boot,boot-led
> property, let's keep backward compatibility in case LED_BOOT isn't
> selected.
Would be nice to hear the opinion of someone from Microchip for this?!
These properties did not gain adoption on their new boards. It's a
bit dissapointing their boards are not maintained in mainline U-Boot
by themselves anymore. :-/
> Note that this is not tested as I do not own this device.
Tested-by: Alexander Dahl <ada at thorsis.com>
Note: With CONFIG_LED_BOOT enabled, the LED turns to on in a later boot
phase as with that option disabled. I don't think this is a problem,
just wanted to share the observation.
Greets
Alex
>
> Cc: Alexander Dahl <ada at thorsis.com>
> Signed-off-by: Quentin Schulz <quentin.schulz at cherry.de>
> ---
> arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi | 9 ++++++---
> board/atmel/sam9x60_curiosity/sam9x60_curiosity.c | 16 +---------------
> 2 files changed, 7 insertions(+), 18 deletions(-)
>
> diff --git a/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi b/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi
> index 9144387861e..b8f16c0b0c0 100644
> --- a/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi
> +++ b/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi
> @@ -21,8 +21,11 @@
> bootph-all;
> };
>
> - config {
> - u-boot,boot-led = "blue";
> + options {
> + u-boot {
> + compatible = "u-boot,config";
> + boot-led = <&led_blue>;
> + };
> };
>
> leds {
> @@ -34,7 +37,7 @@
> default-state = "off";
> };
>
> - led-blue {
> + led_blue: led-blue {
> default-state = "off";
> };
> };
> diff --git a/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c b/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c
> index e75043ec00f..3393478e4c8 100644
> --- a/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c
> +++ b/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c
> @@ -28,21 +28,7 @@ void at91_prepare_cpu_var(void);
>
> static void board_leds_init(void)
> {
> -#if CONFIG_IS_ENABLED(LED)
> - const char *led_name;
> - struct udevice *dev;
> - int ret;
> -
> - led_name = ofnode_conf_read_str("u-boot,boot-led");
> - if (!led_name)
> - return;
> -
> - ret = led_get_by_label(led_name, &dev);
> - if (ret)
> - return;
> -
> - led_set_state(dev, LEDST_ON);
> -#else
> +#if !CONFIG_IS_ENABLED(LED_BOOT)
> at91_set_pio_output(AT91_PIO_PORTD, 17, 0); /* LED RED */
> at91_set_pio_output(AT91_PIO_PORTD, 19, 0); /* LED GREEN */
> at91_set_pio_output(AT91_PIO_PORTD, 21, 1); /* LED BLUE */
>
> --
> 2.51.1
>
More information about the U-Boot
mailing list