Re: Define LEDs with mixed colors

From: Pavel Machek
Date: Mon Nov 01 2021 - 08:18:56 EST


Hi!

> > > I am toying with the idea of writing a multicolor LED GPIO driver. What
> > would be the right way to define mixed color LEDs (for leds-gpio), in device
> > tree or ACPI?
> > > Consider the following:
> > >
> > > leds {
> > > compatible = "gpio-leds";
> > > led0 {
> > > gpios = <&mcu_pio 0 GPIO_ACTIVE_LOW>;
> > > color = <LED_COLOR_ID_RED>;
> > > };
> > >
> > > led1 {
> > > gpios = <&mcu_pio 1 GPIO_ACTIVE_HIGH>;
> > > color = <LED_COLOR_ID_GREEN>;
> > > };
> > > led2 {
> > > gpios = <&mcu_pio 0 GPIO_ACTIVE_LOW
> > > &mcu_pio 1 GPIO_ACTIVE_LOW>;
> > > color = <LED_COLOR_ID_AMBER>;
> > > };
> > > };
> > >
> > > This probably won't work as "gpios" seem to be single object in gpio-leds
> > driver code, but what can I do to achieve something similar?
> > > It is important to define this LED in DT/ACPI in order for the user app to see
> > it in the /sys/class/led folder, without having to write platform-specific
> > driver.
> > >
> >
> > So you have one package with red and green LED, each connected to one
> > GPIO?
> Right. It is possible to create orange color, and I want to use DT/ACPI to present this info to the userland.
>
> >
> > Can you take a look at Documentation/leds/leds-class-multicolor.rst?
> Couldn't find a hint there therefore this email thread. I might eventually write a multicolor led-gpio driver so want to know how to handle mixed LED.
>

There's no similar driver in the tree, and we don't have estabilished
API. You are mostly on your own.

Best regards,
Pavel

--
http://www.livejournal.com/~pavelmachek

Attachment: signature.asc
Description: PGP signature