Dan, On 9/20/19 7:41 PM, Dan Murphy wrote: > Add DT bindings for the LEDs multicolor class framework. > > Signed-off-by: Dan Murphy <dmurphy@xxxxxx> > --- > .../bindings/leds/leds-class-multicolor.txt | 95 +++++++++++++++++++ > 1 file changed, 95 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/leds-class-multicolor.txt > > diff --git a/Documentation/devicetree/bindings/leds/leds-class-multicolor.txt b/Documentation/devicetree/bindings/leds/leds-class-multicolor.txt > new file mode 100644 > index 000000000000..215d3c90f351 > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/leds-class-multicolor.txt > @@ -0,0 +1,95 @@ > +* Multicolor LED properties > + > +Monochrome LEDs can grouped into LED clusters. These clusters can provide a > +visible output that have a wide range of colors and intensities. Here is the same issue as I spotted in a review for the patch 2/9 from this set: " I'd say it won't be the most frequent use case. We can expect rather compound RGB, RGBA[UV] etc. LED elements being connected to iouts of multi color LED controllers like LP50xx. " How about: Bindings for multi color LEDs show how to describe current outputs of either integrated multi-color LED elements (like RGB, RGBW, RGBWA-UV etc.) or standalone LEDs, to achieve logically grouped multi-color LED modules. This is achieved by adding multi-led nodes layer to the monochrome LED bindings. > + > +The nodes and properties defined in this document are unique to the multicolor > +LED class. Common LED nodes and properties are inherited from the common.txt > +within this documentation directory. > + > +Required LED Child properties: > + - color : For multicolor LED support this property should be defined as > + LED_COLOR_ID_MULTI and further definition can be found in > + include/linux/leds/common.h. > + > +led-controller@30 { > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "ti,lp5024"; > + reg = <0x29>; > + > + multi-led@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <1>; > + color = <LED_COLOR_ID_MULTI>; > + function = LED_FUNCTION_STATUS; > + > + > + led@3 { > + reg = <3>; > + color = <LED_COLOR_ID_RED>; > + }; > + > + led@4 { > + reg = <4>; > + color = <LED_COLOR_ID_GREEN>; > + }; > + > + led@5 { > + reg = <5>; > + color = <LED_COLOR_ID_BLUE>; > + }; > + }; > + > + multi-led@2 { > + #address-cells = <1>; > + #size-cells = <0>; > + color = <LED_COLOR_ID_MULTI>; > + function = LED_FUNCTION_ACTIVITY; > + reg = <2>; > + ti,led-bank = <2 3 5>; > + > + led@6 { > + reg = <0x6>; > + color = <LED_COLOR_ID_RED>; > + led-sources = <6 9 15>; > + }; > + > + led@7 { > + reg = <0x7>; > + color = <LED_COLOR_ID_GREEN>; > + led-sources = <7 10 16>; > + }; > + > + led@8 { > + reg = <0x8>; > + color = <LED_COLOR_ID_BLUE>; > + led-sources = <8 11 17>; > + }; > + }; > + > + multi-led@4 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <4>; > + color = <LED_COLOR_ID_MULTI>; > + function = LED_FUNCTION_ACTIVITY; > + > + led@12 { > + reg = <12>; > + color = <LED_COLOR_ID_RED>; > + }; > + > + led@13 { > + reg = <13>; > + color = <LED_COLOR_ID_GREEN>; > + }; > + > + led@14 { > + reg = <14>; > + color = <LED_COLOR_ID_BLUE>; > + }; > + }; > + > +}; > -- Best regards, Jacek Anaszewski