Re: [PATCH v4 2/3] dt-bindings: power: supply: qcom_bms: Add bindings
From: Craig Tatlor
Date: Fri Apr 13 2018 - 13:11:28 EST
On 13 April 2018 18:08:54 BST, Craig Tatlor <ctatlor97@xxxxxxxxx> wrote:
>
>
>On 13 April 2018 17:35:27 BST, Rob Herring <robh@xxxxxxxxxx> wrote:
>>On Sat, Apr 07, 2018 at 06:57:45PM +0100, Craig Tatlor wrote:
>>> Add bindings for the Qualcomm Battery Monitoring system.
>>>
>>> Signed-off-by: Craig Tatlor <ctatlor97@xxxxxxxxx>
>>> ---
>>> .../bindings/power/supply/qcom_bms.txt | 93
>>+++++++++++++++++++
>>> 1 file changed, 93 insertions(+)
>>> create mode 100644
>>Documentation/devicetree/bindings/power/supply/qcom_bms.txt
>>>
>>> diff --git
>>a/Documentation/devicetree/bindings/power/supply/qcom_bms.txt
>>b/Documentation/devicetree/bindings/power/supply/qcom_bms.txt
>>> new file mode 100644
>>> index 000000000000..6296399edc09
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/power/supply/qcom_bms.txt
>>> @@ -0,0 +1,93 @@
>>> +Qualcomm Battery Measurement System
>>> +
>>> +The Qualcomm Battery Measurement System is found inside of Qualcomm
>>PM8941
>>
>>Is it Monitoring or Measurment?
Monitoring, not sure how I missed that :)
>>
>>> +PMICs. It provides OCV and coulomb counter registers that allow the
>>kernel
>>> +to infer a capacity level.
>>
>>s/kernel/OS/
>>
>>OCV?
>Open Circuit Voltage - should I expand this?
>>
>>> +
>>> +Required properties:
>>> +- compatible: Should contain "qcom,pm8941-bms".
>>> +- reg: Specifies the SPMI address and length
>of
>>the
>>> + controller's registers.
>>> +- interrupts: OCV threshold interrupt.
>>> +- io-channels: Should contain IIO channel specifier
>for
>>the
>>> + ADC channel that reports battery temperature.
>>> +- io-channel-names: Should contain "temp".
>>> +- qcom,fcc-temp-legend: An array containing the temperature, in
>>degC,
>>> + for each column of the FCC lookup table.
>>
>>What's FCC?
>Full charge capacity - Should i also expand this? or maybe explain in
>header paragraph?
>>
>>> +- qcom,fcc-lut: An array of FCC values in mah, one
>entry
>>for each
>>> + temperature defined in in qcom,fcc-temp-legend.
>>> +- qcom,ocv-temp-legend: An array containing the temperature, in
>>degC,
>>> + for each column of the OCV lookup table.
>>> +- qcom,ocv-capacity-legend: An array containing the capacity for
>>each
>>> + row of the OCV lookup table.
>>> +- qcom,ocv-lut: An array of OCV values in mV, one entry
>>for each
>>> + capacity defined in qcom,ocv-capacity-legend.
>>
>>Need to specify the sizes of these if not 32-bit.
>Right.
>>
>>All these seem to have units, so add unit suffixes as defined in
>>property-units.txt.
>Will do.
>>
>>> +
>>> +Example:
>>> +
>>> + pm8941_vadc: vadc@3100 {
>>
>>adc@...
>Okay.
>>
>>> + compatible = "qcom,spmi-vadc";
>>> + reg = <0x3100>;
>>> + interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> + #io-channel-cells = <1>;
>>> +
>>> + bat_temp {
>>> + reg = <VADC_LR_MUX1_BAT_THERM>;
>>> + };
>>> + };
>>> +
>>> + bms@4000 {
>>> + compatible = "qcom,pm8941-bms";
>>> + reg = <0x4000>;
>>> + interrupts = <0x0 0x40 0x4 IRQ_TYPE_EDGE_RISING>;
>>> + interrupt-names = "ocv_thr";
>>> +
>>> + io-channels = <&pm8941_vadc VADC_LR_MUX1_BAT_THERM>;
>>> + io-channel-names = "temp";
>>> +
>>> + qcom,fcc-temp-legend = /bits/ 8 <(-10) 0 25 50 65>;
>>> + qcom,fcc-lut = /bits/ 16 <6010 6070 6680 6780 6670>;
>>> +
>>> + qcom,ocv-capacity-legend = /bits/ 8 <100 95 90 85
>>> + 80 75 70 65
>>> + 60 55 50 45
>>> + 40 35 30 25
>>> + 20 15 10 9
>>> + 8 7 6 5 4
>>> + 3 2 1 0>;
>>> +
>>> + qcom,ocv-temp-legend = /bits/ 8 <(-10) 0 25 50 65>;
>>> + qcom,ocv-lut = /bits/ 16 <4288 4288 4306 4315 4315
>>> + 4261 4241 4259 4266 4246
>>> + 4201 4181 4201 4207 4187
>>> + 4153 4133 4150 4155 4135
>>> + 4105 4085 4100 4104 4084
>>> + 4058 4038 4052 4058 4038
>>> + 4012 3992 4004 4014 3994
>>> + 3970 3950 3959 3971 3951
>>> + 3931 3911 3915 3927 3907
>>> + 3899 3879 3880 3884 3864
>>> + 3873 3853 3851 3853 3833
>>> + 3848 3828 3827 3829 3809
>>> + 3829 3809 3808 3809 3789
>>> + 3815 3795 3791 3791 3771
>>> + 3801 3781 3775 3772 3752
>>> + 3785 3765 3751 3746 3726
>>> + 3767 3747 3727 3719 3699
>>> + 3750 3730 3702 3692 3672
>>> + 3728 3708 3680 3672 3652
>>> + 3720 3700 3676 3665 3645
>>> + 3712 3692 3670 3660 3645
>>> + 3695 3675 3658 3648 3633
>>> + 3662 3647 3629 3620 3610
>>> + 3620 3605 3589 3580 3570
>>> + 3562 3552 3538 3529 3519
>>> + 3490 3480 3474 3470 3465
>>> + 3403 3398 3388 3380 3375
>>> + 3320 3300 3255 3221 3206
>>> + 3000 3000 3000 3000 3000>;
>>> + };
>>> + };
>>> +};
>>> --
>>> 2.17.0
>>>