Jacek
On 9/21/19 7:57 AM, Jacek Anaszewski wrote:
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.
Ack
Dan
+
+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>;
+ };
+ };
+
+};