dt-bindings: leds: leds-qcom-lpg: Add support for LPG PPG

Update leds-qcom-lpg binding to support LPG PPG.

Signed-off-by: Anjelique Melendez <quic_amelende@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231221185838.28440-3-quic_amelende@quicinc.com
Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
Anjelique Melendez 2023-12-21 10:58:32 -08:00 committed by Lee Jones
parent f574751cdf
commit d7d0efaf52

View File

@ -11,7 +11,7 @@ maintainers:
description: >
The Qualcomm Light Pulse Generator consists of three different hardware blocks;
a ramp generator with lookup table, the light pulse generator and a three
a ramp generator with lookup table (LUT), the light pulse generator and a three
channel current sink. These blocks are found in a wide range of Qualcomm PMICs.
properties:
@ -63,6 +63,29 @@ properties:
- description: dtest line to attach
- description: flags for the attachment
nvmem:
description: >
This property is required for PMICs that supports PPG, which is when a
PMIC stores LPG per-channel data and pattern LUT in SDAM modules instead
of in a LUT peripheral. For PMICs, such as PM8350C, per-channel data
and pattern LUT is separated into 2 SDAM modules. In that case, phandles
to both SDAM modules need to be specified.
minItems: 1
maxItems: 2
nvmem-names:
minItems: 1
items:
- const: lpg_chan_sdam
- const: lut_sdam
qcom,pbs:
$ref: /schemas/types.yaml#/definitions/phandle
description: >
Phandle of the Qualcomm Programmable Boot Sequencer node (PBS).
PBS node is used to trigger LPG pattern sequences for PMICs that support
single SDAM PPG.
multi-led:
type: object
$ref: leds-class-multicolor.yaml#
@ -106,6 +129,32 @@ required:
additionalProperties: false
allOf:
- if:
properties:
compatible:
contains:
const: qcom,pmi632-lpg
then:
properties:
nvmem:
maxItems: 1
nvmem-names:
maxItems: 1
- if:
properties:
compatible:
contains:
enum:
- qcom,pm8350c-pwm
- qcom,pm8550-pwm
then:
properties:
nvmem:
minItems: 2
nvmem-names:
minItems: 2
examples:
- |
#include <dt-bindings/leds/common.h>
@ -191,4 +240,35 @@ examples:
compatible = "qcom,pm8916-pwm";
#pwm-cells = <2>;
};
- |
#include <dt-bindings/leds/common.h>
led-controller {
compatible = "qcom,pmi632-lpg";
#address-cells = <1>;
#size-cells = <0>;
#pwm-cells = <2>;
nvmem-names = "lpg_chan_sdam";
nvmem = <&pmi632_sdam_7>;
qcom,pbs = <&pmi632_pbs_client3>;
led@1 {
reg = <1>;
color = <LED_COLOR_ID_RED>;
label = "red";
};
led@2 {
reg = <2>;
color = <LED_COLOR_ID_GREEN>;
label = "green";
};
led@3 {
reg = <3>;
color = <LED_COLOR_ID_BLUE>;
label = "blue";
};
};
...