mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
dt-bindings: leds: nxp,pca963x: Add multicolor LED support
Add support for grouping individual PCA963x channels into a multicolor LED by introducing a multi-led@N node pattern. This follows the convention established by other multicolor LED drivers such as kinetic,ktd202x. This is necessary to support and model hardware setups where multiple PWM channels drive a single physical RGB LED. Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com> Link: https://patch.msgid.link/20260727-monza-leds-v8-2-6e7e93d44dba@oss.qualcomm.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
b765b508bd
commit
160c78e69c
|
|
@ -74,6 +74,40 @@ patternProperties:
|
|||
required:
|
||||
- reg
|
||||
|
||||
"^multi-led@[0-9a-f]$":
|
||||
type: object
|
||||
$ref: leds-class-multicolor.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maximum: 15
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^led@[0-9a-f]$":
|
||||
type: object
|
||||
$ref: common.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maximum: 15
|
||||
|
||||
required:
|
||||
- reg
|
||||
- color
|
||||
|
||||
required:
|
||||
- reg
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
|
|
@ -84,10 +118,16 @@ allOf:
|
|||
- nxp,pca9633
|
||||
then:
|
||||
patternProperties:
|
||||
"^led@[0-9a-f]+$":
|
||||
"^.*led@[0-9a-f]$":
|
||||
properties:
|
||||
reg:
|
||||
maximum: 3
|
||||
"^multi-led@[0-9a-f]$":
|
||||
patternProperties:
|
||||
"^led@[0-9a-f]$":
|
||||
properties:
|
||||
reg:
|
||||
maximum: 3
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
|
@ -96,10 +136,16 @@ allOf:
|
|||
- nxp,pca9634
|
||||
then:
|
||||
patternProperties:
|
||||
"^led@[0-9a-f]+$":
|
||||
"^.*led@[0-9a-f]$":
|
||||
properties:
|
||||
reg:
|
||||
maximum: 7
|
||||
"^multi-led@[0-9a-f]$":
|
||||
patternProperties:
|
||||
"^led@[0-9a-f]$":
|
||||
properties:
|
||||
reg:
|
||||
maximum: 7
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
|
|
@ -143,4 +189,50 @@ examples:
|
|||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led-controller@62 {
|
||||
compatible = "nxp,pca9633";
|
||||
reg = <0x62>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* Three channels controlling one RGB LED */
|
||||
multi-led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_RGB>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
};
|
||||
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Remaining channel used as a plain white LED */
|
||||
led@3 {
|
||||
reg = <3>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user