Message ID | 1585064650-16235-3-git-send-email-jprakash@codeaurora.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | iio: adc: Add support for QCOM SPMI PMIC7 ADC | expand |
On Tue, 24 Mar 2020 21:14:09 +0530 Jishnu Prakash <jprakash@codeaurora.org> wrote: > Add documentation for PMIC7 ADC peripheral. For PMIC7 ADC, all SW > communication to ADC goes through PMK8350, which communicates with > other PMICs through PBS. > > Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org> > --- > .../bindings/iio/adc/qcom,spmi-vadc.yaml | 28 ++++++++++++++++------ > 1 file changed, 21 insertions(+), 7 deletions(-) > > diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml > index 72db14c..20f010c 100644 > --- a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml > +++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml > @@ -13,7 +13,7 @@ maintainers: > description: | > SPMI PMIC voltage ADC (VADC) provides interface to clients to read > voltage. The VADC is a 15-bit sigma-delta ADC. > - SPMI PMIC5 voltage ADC (ADC) provides interface to clients to read > + SPMI PMIC5/PMIC7 voltage ADC (ADC) provides interface to clients to read > voltage. The VADC is a 16-bit sigma-delta ADC. > > properties: > @@ -23,6 +23,7 @@ properties: > - qcom,spmi-adc5 > - qcom,spmi-adc-rev2 > - qcom,pms405-adc > + - qcom,spmi-adc7 > > reg: > description: VADC base address in the SPMI PMIC register map > @@ -65,6 +66,8 @@ patternProperties: > description: | > ADC channel number. > See include/dt-bindings/iio/qcom,spmi-vadc.h > + For PMIC7 ADC, the channel numbers are specified separately per PMIC > + in the PMIC-specific files in include/dt-bindings/iio/. That makes me thing we really should have separate compatibles. The parts clearly have differences, even if we haven't needed to use them explicitly as yet. > > label: > description: | > @@ -72,7 +75,7 @@ patternProperties: > For thermistor inputs connected to generic AMUX or GPIO inputs > these can vary across platform for the same pins. Hence select > the platform schematics name for this channel. It is required > - for "qcom,spmi-adc5" and "qcom,spmi-adc-rev2". > + for "qcom,spmi-adc5", "qcom,spmi-adc7" and "qcom,spmi-adc-rev2". > allOf: > - $ref: /schemas/types.yaml#/definitions/string > > @@ -85,6 +88,8 @@ patternProperties: > of 512 will be used. > - For compatible property "qcom,spmi-adc5", valid values are 250, 420 > and 840. If property is not found, default value of 840 is used. > + - For compatible property "qcom,spmi-adc7", valid values are 85, 340 > + and 1360. If property is not found, default value of 1360 is used. > - For compatible property "qcom,spmi-adc-rev2", valid values are 256, > 512 and 1024. If property is not present, default value is 1024. > allOf: > @@ -109,11 +114,11 @@ patternProperties: > channel calibration. If property is not found, channel will be > calibrated with 0.625V and 1.25V reference channels, also > known as absolute calibration. > - - For compatible property "qcom,spmi-adc5" and "qcom,spmi-adc-rev2", > - if this property is specified VADC will use the VDD reference (1.875V) > - and GND for channel calibration. If property is not found, channel > - will be calibrated with 0V and 1.25V reference channels, also known > - as absolute calibration. > + - For compatible property "qcom,spmi-adc5", "qcom,spmi-adc7" and > + "qcom,spmi-adc-rev2", if this property is specified VADC will use > + the VDD reference (1.875V) and GND for channel calibration. If > + property is not found, channel will be calibrated with 0V and 1.25V > + reference channels, also known as absolute calibration. > type: boolean > > qcom,hw-settle-time: > @@ -135,6 +140,12 @@ patternProperties: > Certain controller digital versions have valid values of > 15, 100, 200, 300, 400, 500, 600, 700, 1, 2, 4, 8, 16, 32, 64, 128 ms > If property is not found, channel will use 15us. > + - For compatible property "qcom,spmi-adc7", delay = 15us for > + value 0, 100us * (value) for values < 8, 1ms for value 8 > + and 2ms * (value - 8) otherwise. > + Valid values are: 15, 100, 200, 300, 400, 500, 600, 700, 1000, 2000, > + 4000, 8000, 16000, 32000, 64000, 128000 us. > + If property is not found, channel will use 15us. > allOf: > - $ref: /schemas/types.yaml#/definitions/uint32 > > @@ -147,6 +158,9 @@ patternProperties: > - For compatible property "qcom,spmi-vadc", valid values > are: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 > If property is not found, 1 sample will be used. > + - For compatible property "qcom,spmi-adc5", "qcom,spmi-adc7" > + and "qcom,spmi-adc-rev2", valid values are: 1, 2, 4, 8, 16. > + If property is not found, 1 sample will be used. > allOf: > - $ref: /schemas/types.yaml#/definitions/uint32 >
Hi Jishnu, On Tue, Mar 24, 2020 at 9:15 PM Jishnu Prakash <jprakash@codeaurora.org> wrote: > > Add documentation for PMIC7 ADC peripheral. For PMIC7 ADC, all SW > communication to ADC goes through PMK8350, which communicates with > other PMICs through PBS. What is PMK8350? What is PBS? Please expand the acronyms and describe more verbosely. > > Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org> > --- > .../bindings/iio/adc/qcom,spmi-vadc.yaml | 28 ++++++++++++++++------ > 1 file changed, 21 insertions(+), 7 deletions(-) > > diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml > index 72db14c..20f010c 100644 > --- a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml > +++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml > @@ -13,7 +13,7 @@ maintainers: > description: | > SPMI PMIC voltage ADC (VADC) provides interface to clients to read > voltage. The VADC is a 15-bit sigma-delta ADC. > - SPMI PMIC5 voltage ADC (ADC) provides interface to clients to read > + SPMI PMIC5/PMIC7 voltage ADC (ADC) provides interface to clients to read > voltage. The VADC is a 16-bit sigma-delta ADC. > > properties: > @@ -23,6 +23,7 @@ properties: > - qcom,spmi-adc5 > - qcom,spmi-adc-rev2 > - qcom,pms405-adc > + - qcom,spmi-adc7 > > reg: > description: VADC base address in the SPMI PMIC register map > @@ -65,6 +66,8 @@ patternProperties: > description: | > ADC channel number. > See include/dt-bindings/iio/qcom,spmi-vadc.h > + For PMIC7 ADC, the channel numbers are specified separately per PMIC > + in the PMIC-specific files in include/dt-bindings/iio/. > > label: > description: | > @@ -72,7 +75,7 @@ patternProperties: > For thermistor inputs connected to generic AMUX or GPIO inputs > these can vary across platform for the same pins. Hence select > the platform schematics name for this channel. It is required > - for "qcom,spmi-adc5" and "qcom,spmi-adc-rev2". > + for "qcom,spmi-adc5", "qcom,spmi-adc7" and "qcom,spmi-adc-rev2". > allOf: > - $ref: /schemas/types.yaml#/definitions/string > > @@ -85,6 +88,8 @@ patternProperties: > of 512 will be used. > - For compatible property "qcom,spmi-adc5", valid values are 250, 420 > and 840. If property is not found, default value of 840 is used. > + - For compatible property "qcom,spmi-adc7", valid values are 85, 340 > + and 1360. If property is not found, default value of 1360 is used. > - For compatible property "qcom,spmi-adc-rev2", valid values are 256, > 512 and 1024. If property is not present, default value is 1024. > allOf: > @@ -109,11 +114,11 @@ patternProperties: > channel calibration. If property is not found, channel will be > calibrated with 0.625V and 1.25V reference channels, also > known as absolute calibration. > - - For compatible property "qcom,spmi-adc5" and "qcom,spmi-adc-rev2", > - if this property is specified VADC will use the VDD reference (1.875V) > - and GND for channel calibration. If property is not found, channel > - will be calibrated with 0V and 1.25V reference channels, also known > - as absolute calibration. > + - For compatible property "qcom,spmi-adc5", "qcom,spmi-adc7" and > + "qcom,spmi-adc-rev2", if this property is specified VADC will use > + the VDD reference (1.875V) and GND for channel calibration. If > + property is not found, channel will be calibrated with 0V and 1.25V > + reference channels, also known as absolute calibration. > type: boolean > > qcom,hw-settle-time: > @@ -135,6 +140,12 @@ patternProperties: > Certain controller digital versions have valid values of > 15, 100, 200, 300, 400, 500, 600, 700, 1, 2, 4, 8, 16, 32, 64, 128 ms > If property is not found, channel will use 15us. > + - For compatible property "qcom,spmi-adc7", delay = 15us for > + value 0, 100us * (value) for values < 8, 1ms for value 8 > + and 2ms * (value - 8) otherwise. > + Valid values are: 15, 100, 200, 300, 400, 500, 600, 700, 1000, 2000, > + 4000, 8000, 16000, 32000, 64000, 128000 us. > + If property is not found, channel will use 15us. > allOf: > - $ref: /schemas/types.yaml#/definitions/uint32 > > @@ -147,6 +158,9 @@ patternProperties: > - For compatible property "qcom,spmi-vadc", valid values > are: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 > If property is not found, 1 sample will be used. > + - For compatible property "qcom,spmi-adc5", "qcom,spmi-adc7" > + and "qcom,spmi-adc-rev2", valid values are: 1, 2, 4, 8, 16. > + If property is not found, 1 sample will be used. > allOf: > - $ref: /schemas/types.yaml#/definitions/uint32 > > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project
Hi Jonathan, On 3/28/2020 10:24 PM, Jonathan Cameron wrote: > On Tue, 24 Mar 2020 21:14:09 +0530 > Jishnu Prakash <jprakash@codeaurora.org> wrote: > >> Add documentation for PMIC7 ADC peripheral. For PMIC7 ADC, all SW >> communication to ADC goes through PMK8350, which communicates with >> other PMICs through PBS. >> >> Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org> >> --- >> .../bindings/iio/adc/qcom,spmi-vadc.yaml | 28 ++++++++++++++++------ >> 1 file changed, 21 insertions(+), 7 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml >> index 72db14c..20f010c 100644 >> --- a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml >> +++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml >> @@ -13,7 +13,7 @@ maintainers: >> description: | >> SPMI PMIC voltage ADC (VADC) provides interface to clients to read >> voltage. The VADC is a 15-bit sigma-delta ADC. >> - SPMI PMIC5 voltage ADC (ADC) provides interface to clients to read >> + SPMI PMIC5/PMIC7 voltage ADC (ADC) provides interface to clients to read >> voltage. The VADC is a 16-bit sigma-delta ADC. >> >> properties: >> @@ -23,6 +23,7 @@ properties: >> - qcom,spmi-adc5 >> - qcom,spmi-adc-rev2 >> - qcom,pms405-adc >> + - qcom,spmi-adc7 >> >> reg: >> description: VADC base address in the SPMI PMIC register map >> @@ -65,6 +66,8 @@ patternProperties: >> description: | >> ADC channel number. >> See include/dt-bindings/iio/qcom,spmi-vadc.h >> + For PMIC7 ADC, the channel numbers are specified separately per PMIC >> + in the PMIC-specific files in include/dt-bindings/iio/. > That makes me thing we really should have separate compatibles. The > parts clearly have differences, even if we haven't needed to use them > explicitly as yet. I'm not sure what you mean by this. We have added a new compatible property "qcom,spmi-adc7" for PMIC7 ADC. > >> >> label: >> description: | >> @@ -72,7 +75,7 @@ patternProperties: >> For thermistor inputs connected to generic AMUX or GPIO inputs >> these can vary across platform for the same pins. Hence select >> the platform schematics name for this channel. It is required >> - for "qcom,spmi-adc5" and "qcom,spmi-adc-rev2". >> + for "qcom,spmi-adc5", "qcom,spmi-adc7" and "qcom,spmi-adc-rev2". >> allOf: >> - $ref: /schemas/types.yaml#/definitions/string >> >>
Hi Amit, On 4/3/2020 5:41 PM, Amit Kucheria wrote: > Hi Jishnu, > > On Tue, Mar 24, 2020 at 9:15 PM Jishnu Prakash <jprakash@codeaurora.org> wrote: >> Add documentation for PMIC7 ADC peripheral. For PMIC7 ADC, all SW >> communication to ADC goes through PMK8350, which communicates with >> other PMICs through PBS. > What is PMK8350? What is PBS? Please expand the acronyms and describe > more verbosely. PMK8350 is just the name of one of the PMIC7 family of PMICs. I'll expand the description in the next post. > >> Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org> >> --- >> .../bindings/iio/adc/qcom,spmi-vadc.yaml | 28 ++++++++++++++++------ >> 1 file changed, 21 insertions(+), 7 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml >> index 72db14c..20f010c 100644 >> --- a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml >> +++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml >> @@ -13,7 +13,7 @@ maintainers: >> description: | >> SPMI PMIC voltage ADC (VADC) provides interface to clients to read >> voltage. The VADC is a 15-bit sigma-delta ADC. >> - SPMI PMIC5 voltage ADC (ADC) provides interface to clients to read >> + SPMI PMIC5/PMIC7 voltage ADC (ADC) provides interface to clients to read >> voltage. The VADC is a 16-bit sigma-delta ADC. >> >>
On Mon, 6 Apr 2020 17:15:21 +0530 Jishnu Prakash <jprakash@codeaurora.org> wrote: > Hi Jonathan, > > On 3/28/2020 10:24 PM, Jonathan Cameron wrote: > > On Tue, 24 Mar 2020 21:14:09 +0530 > > Jishnu Prakash <jprakash@codeaurora.org> wrote: > > > >> Add documentation for PMIC7 ADC peripheral. For PMIC7 ADC, all SW > >> communication to ADC goes through PMK8350, which communicates with > >> other PMICs through PBS. > >> > >> Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org> > >> --- > >> .../bindings/iio/adc/qcom,spmi-vadc.yaml | 28 ++++++++++++++++------ > >> 1 file changed, 21 insertions(+), 7 deletions(-) > >> > >> diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml > >> index 72db14c..20f010c 100644 > >> --- a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml > >> +++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml > >> @@ -13,7 +13,7 @@ maintainers: > >> description: | > >> SPMI PMIC voltage ADC (VADC) provides interface to clients to read > >> voltage. The VADC is a 15-bit sigma-delta ADC. > >> - SPMI PMIC5 voltage ADC (ADC) provides interface to clients to read > >> + SPMI PMIC5/PMIC7 voltage ADC (ADC) provides interface to clients to read > >> voltage. The VADC is a 16-bit sigma-delta ADC. > >> > >> properties: > >> @@ -23,6 +23,7 @@ properties: > >> - qcom,spmi-adc5 > >> - qcom,spmi-adc-rev2 > >> - qcom,pms405-adc > >> + - qcom,spmi-adc7 > >> > >> reg: > >> description: VADC base address in the SPMI PMIC register map > >> @@ -65,6 +66,8 @@ patternProperties: > >> description: | > >> ADC channel number. > >> See include/dt-bindings/iio/qcom,spmi-vadc.h > >> + For PMIC7 ADC, the channel numbers are specified separately per PMIC > >> + in the PMIC-specific files in include/dt-bindings/iio/. > > That makes me thing we really should have separate compatibles. The > > parts clearly have differences, even if we haven't needed to use them > > explicitly as yet. > I'm not sure what you mean by this. We have added a new compatible > property "qcom,spmi-adc7" for PMIC7 ADC. I've no idea what I meant either :) Jonathan > > > >> > >> label: > >> description: | > >> @@ -72,7 +75,7 @@ patternProperties: > >> For thermistor inputs connected to generic AMUX or GPIO inputs > >> these can vary across platform for the same pins. Hence select > >> the platform schematics name for this channel. It is required > >> - for "qcom,spmi-adc5" and "qcom,spmi-adc-rev2". > >> + for "qcom,spmi-adc5", "qcom,spmi-adc7" and "qcom,spmi-adc-rev2". > >> allOf: > >> - $ref: /schemas/types.yaml#/definitions/string > >> > >>
diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml index 72db14c..20f010c 100644 --- a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml +++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml @@ -13,7 +13,7 @@ maintainers: description: | SPMI PMIC voltage ADC (VADC) provides interface to clients to read voltage. The VADC is a 15-bit sigma-delta ADC. - SPMI PMIC5 voltage ADC (ADC) provides interface to clients to read + SPMI PMIC5/PMIC7 voltage ADC (ADC) provides interface to clients to read voltage. The VADC is a 16-bit sigma-delta ADC. properties: @@ -23,6 +23,7 @@ properties: - qcom,spmi-adc5 - qcom,spmi-adc-rev2 - qcom,pms405-adc + - qcom,spmi-adc7 reg: description: VADC base address in the SPMI PMIC register map @@ -65,6 +66,8 @@ patternProperties: description: | ADC channel number. See include/dt-bindings/iio/qcom,spmi-vadc.h + For PMIC7 ADC, the channel numbers are specified separately per PMIC + in the PMIC-specific files in include/dt-bindings/iio/. label: description: | @@ -72,7 +75,7 @@ patternProperties: For thermistor inputs connected to generic AMUX or GPIO inputs these can vary across platform for the same pins. Hence select the platform schematics name for this channel. It is required - for "qcom,spmi-adc5" and "qcom,spmi-adc-rev2". + for "qcom,spmi-adc5", "qcom,spmi-adc7" and "qcom,spmi-adc-rev2". allOf: - $ref: /schemas/types.yaml#/definitions/string @@ -85,6 +88,8 @@ patternProperties: of 512 will be used. - For compatible property "qcom,spmi-adc5", valid values are 250, 420 and 840. If property is not found, default value of 840 is used. + - For compatible property "qcom,spmi-adc7", valid values are 85, 340 + and 1360. If property is not found, default value of 1360 is used. - For compatible property "qcom,spmi-adc-rev2", valid values are 256, 512 and 1024. If property is not present, default value is 1024. allOf: @@ -109,11 +114,11 @@ patternProperties: channel calibration. If property is not found, channel will be calibrated with 0.625V and 1.25V reference channels, also known as absolute calibration. - - For compatible property "qcom,spmi-adc5" and "qcom,spmi-adc-rev2", - if this property is specified VADC will use the VDD reference (1.875V) - and GND for channel calibration. If property is not found, channel - will be calibrated with 0V and 1.25V reference channels, also known - as absolute calibration. + - For compatible property "qcom,spmi-adc5", "qcom,spmi-adc7" and + "qcom,spmi-adc-rev2", if this property is specified VADC will use + the VDD reference (1.875V) and GND for channel calibration. If + property is not found, channel will be calibrated with 0V and 1.25V + reference channels, also known as absolute calibration. type: boolean qcom,hw-settle-time: @@ -135,6 +140,12 @@ patternProperties: Certain controller digital versions have valid values of 15, 100, 200, 300, 400, 500, 600, 700, 1, 2, 4, 8, 16, 32, 64, 128 ms If property is not found, channel will use 15us. + - For compatible property "qcom,spmi-adc7", delay = 15us for + value 0, 100us * (value) for values < 8, 1ms for value 8 + and 2ms * (value - 8) otherwise. + Valid values are: 15, 100, 200, 300, 400, 500, 600, 700, 1000, 2000, + 4000, 8000, 16000, 32000, 64000, 128000 us. + If property is not found, channel will use 15us. allOf: - $ref: /schemas/types.yaml#/definitions/uint32 @@ -147,6 +158,9 @@ patternProperties: - For compatible property "qcom,spmi-vadc", valid values are: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 If property is not found, 1 sample will be used. + - For compatible property "qcom,spmi-adc5", "qcom,spmi-adc7" + and "qcom,spmi-adc-rev2", valid values are: 1, 2, 4, 8, 16. + If property is not found, 1 sample will be used. allOf: - $ref: /schemas/types.yaml#/definitions/uint32
Add documentation for PMIC7 ADC peripheral. For PMIC7 ADC, all SW communication to ADC goes through PMK8350, which communicates with other PMICs through PBS. Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org> --- .../bindings/iio/adc/qcom,spmi-vadc.yaml | 28 ++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-)