Re: [PATCH v2] arm64:?==?utf-8?q? dts: rockchip: Turn all LEDs on at boot for Radxa boards
Dragan Simic
dsimic at manjaro.org
Tue Nov 11 08:14:59 PST 2025
Hello all,
(+ Quentin)
On Tuesday, November 11, 2025 16:32 CET, FUKAUMI Naoki <naoki at radxa.com> wrote:
> On 11/11/25 23:46, Dragan Simic wrote:
> > On Tuesday, November 11, 2025 14:07 CET, "Diederik de Haas" <diederik at cknow-tech.com> wrote:
> >> On Tue Nov 11, 2025 at 6:41 AM CET, FUKAUMI Naoki wrote:
> >>> Radxa's boards turn all LEDs on at boot(loader), but some boards don't
> >>> have `default-state` property in Linux kernel tree but have it in
> >>> U-Boot tree instead[1].
> >>>
> >>> This patch adds `default-state = "on"` for (almost) all LEDs (with a
> >>> few exceptions which should be "off" such as RGB LEDs on E25 and LAN/
> >>> WAN LEDs on E20C/E52C).
> >>
> >> I'm missing the *why* these changes would be an improvement.
> >>
> >> Personally, for both 'heartbeat' and 'netdev' triggers, I want them to
> >> be off by default and once it gets a 'heartbeat' or a 'netdev' trigger,
> >> THEN I want the LED to be on/blinking.
> >
> > That's a good question for Naoki. My own preference would also
> > be to have the device's power LED turned on by U-Boot as quickly
> > as possible after supplying power to the board or turning it on
> > by pressing the power button. I'm actually not a big fan of
> > having all the LEDs shining for a couple of seconds or so, which
> > may actually look like some error condition to me.
> >
> > Having all that in mind, I may suggest that just the U-Boot's
> > behavior is changed to turn the power LEDs on only.
>
> I can't quite explain it, but...
>
> - 1st (Power) LED
>
> The 1st (power) LED turns on automatically/immediately without software
> intervention. (On some boards, this LED cannot be controlled by software
> at all.)
>
> In DTS, this should be described using `default-state = "on"`. The use
> of the Linux-specific property `linux,default-trigger = "default-on"` is
> unsuitable for non-Linux environments.
>
> - 2nd (Heartbeat) LED
>
> The 2nd (heartbeat) LED can be controlled by software. It should be lit
> up as quickly as possible to indicate that the very first software
> (e.g., the bootloader) is running.
>
> On Linux, usually this is used as `linux,default-trigger = "heartbeat"`.
> It indicates that kernel is running (regardless of the `default-state`
> setting), and its behavior can be modified in user space.
As discussed already in the #linux-rockchip IRC channel, [1] perhaps
the best option would be to have the power LEDs turned on as quickly
upon powering on the board as possible, and to have U-Boot pulsate
the heartbeat LEDs using the LED_BOOT feature. In such a scenario,
no other LEDs would be turned on early, and the LED-related DT parts
specific to U-Boot would be migrated to the kernel DTs.
[1] https://libera.catirclogs.org/linux-rockchip/2025-11-11#38997824;
More information about the Linux-rockchip
mailing list