dt-bindings: pwm-qti-lpg: Update nvmem specification

Some targets such as PM8350C have a two-nvmem scheme in which LUT
pattern data is stored separately from the per-channel data. Update the
dt-bindings to reflect this.

Change-Id: I01c8e619c4bb758a3ea8436a689fa58059d10b0c
This commit is contained in:
Guru Das Srinagesh 2020-05-14 18:15:37 -07:00
commit c42d3d2131

View file

@ -36,27 +36,34 @@ device module in Qualcomm Technologies, Inc. PMIC chips.
- nvmem-names:
Usage: optional
Value type: <string>
Definition: The nvmem device name for the SDAM module where the LUT
pattern is stored. It must be "ppg_sdam". This property
is required only when LUT mode is supported with a SDAM
module instead of a LUT module.
Value type: <stringlist>
Definition: The nvmem device name(s) for the SDAM module(s) where the
LUT pattern data is stored. This property is required
only when LUT mode is supported with a SDAM module
instead of a LUT module. It can take the following
mutually exclusive sets of values:
(a) "ppg_sdam":
LUT pattern data and per-channel data are stored in a
single SDAM module.
(b) "lut_sdam", "lpg_chan_sdam":
LUT pattern data and per-channel data are stored in
two different SDAM modules.
- nvmem:
Usage: optional
Value type: <phandle>
Definition: Phandle of the nvmem device to access the LUT stored
in the SDAM module. This property is required only when
LUT mode is supported and the LUT pattern is stored in a
SDAM module instead of a LUT module.
Value type: <phandle-list>
Definition: Phandle(s) of the nvmem device(s) to access the LUT stored
in the SDAM module(s). This property is required only when
LUT mode is supported and the LUT pattern is stored in
SDAM modules instead of a LUT module.
- qcom,pbs-client
Usage: optional
Value type: <phandle>
Definition: Phandle of the PBS client used for sending the PBS
trigger. This property is required when LUT mode is
supported and the LUT pattern is stored in a SDAM
module instead of a LUT module.
supported and the LUT pattern is stored in a single SDAM
module (not two) instead of a LUT module.
- qcom,lut-sdam-base:
Usage: optional
@ -252,3 +259,44 @@ Example when LUT pattern is stored in a SDAM module:
qcom,lpg-sdam-base = <0x64>;
};
};
Example when LUT pattern is stored in two SDAM modules:
pm8350c_pwm_1: pwms@e800 {
compatible = "qcom,pwm-lpg";
reg = <0xe800>;
reg-names = "lpg-base";
#pwm-cells = <2>;
qcom,num-lpg-channels = <3>;
nvmem = <&pmk8350_sdam_21 &pmk8350_sdam_22>;
nvmem-names = "lpg_chan_sdam", "lut_sdam";
qcom,lut-sdam-base = <0x45>;
qcom,lut-patterns = <0 10 20 30 40 50 60 70 80 90 100
90 80 70 60 50 40 30 20 10 0>;
lpg@1 {
qcom,lpg-chan-id = <1>;
qcom,ramp-step-ms = <200>;
qcom,ramp-low-index = <0>;
qcom,ramp-high-index = <19>;
qcom,ramp-pattern-repeat;
qcom,lpg-sdam-base = <0x48>;
};
lpg@2 {
qcom,lpg-chan-id = <2>;
qcom,ramp-step-ms = <200>;
qcom,ramp-low-index = <0>;
qcom,ramp-high-index = <19>;
qcom,ramp-pattern-repeat;
qcom,lpg-sdam-base = <0x56>;
};
lpg@3 {
qcom,lpg-chan-id = <3>;
qcom,ramp-step-ms = <200>;
qcom,ramp-low-index = <0>;
qcom,ramp-high-index = <19>;
qcom,ramp-pattern-repeat;
qcom,lpg-sdam-base = <0x64>;
};
};