lkml.org 
[lkml]   [2018]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 3/4] dt-bindings: power: supply: qcom_bms: Add bindings
    Date
    Add bindings for the Qualcomm Battery Monitoring system.

    Signed-off-by: Craig Tatlor <ctatlor97@gmail.com>
    ---
    * Changes from v4:
    Uses proper units and expands some definitions,
    along with changing vadc@ to adc@.

    .../bindings/power/supply/qcom_bms.txt | 91 +++++++++++++++++++
    1 file changed, 91 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..a1a32d6ab460
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/power/supply/qcom_bms.txt
    @@ -0,0 +1,91 @@
    +Qualcomm Battery Monitoring System
    +
    +The Qualcomm Battery Monitoring System is found inside of Qualcomm PM8941
    +PMICs. It provides open circuit voltage (OCV) and coulomb counter registers
    +that allow the OS to infer a capacity level.
    +
    +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-celcius: An array containing the temperature, in degC,
    + for each column of the full charge capacity
    + lookup table.
    +- qcom,fcc-lut-microamp-hours: An array of full charge capacity values in uah,
    + one entry for each temperature defined in in
    + qcom,fcc-temp-legend-celcius.
    +- qcom,ocv-temp-legend-celcius: 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-microvolt: An array of OCV values in uV, one entry for each
    + capacity defined in qcom,ocv-capacity-legend.
    +
    +Example:
    + pm8941_vadc: adc@3100 {
    + 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-celsius = /bits/ 8 <(-10) 0 25 50 65>;
    + qcom,fcc-lut-microamp-hours = <3230000 3260000 3380000 3410000 3360000>;
    +
    + 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-celsius = /bits/ 8 <(-10) 0 25 50 65>;
    + qcom,ocv-lut-microvolt = <43050000 43050000 43030000 42990000 42950000
    + 42770000 42570000 42550000 42510000 42310000
    + 42180000 41980000 41970000 41920000 41720000
    + 41590000 41390000 41450000 41400000 41200000
    + 41010000 40810000 40920000 40890000 40690000
    + 40480000 40280000 40440000 40420000 40220000
    + 40040000 39840000 40010000 39980000 39780000
    + 39620000 39420000 39550000 39560000 39360000
    + 39210000 39010000 39090000 39160000 38960000
    + 38830000 38630000 38740000 38790000 38590000
    + 38550000 38350000 38440000 38430000 38230000
    + 38310000 38110000 38230000 38180000 37980000
    + 38190000 37990000 38040000 38000000 37800000
    + 38060000 37860000 37900000 37840000 37640000
    + 37890000 37690000 37770000 37660000 37460000
    + 37720000 37520000 37560000 37450000 37250000
    + 37480000 37280000 37290000 37250000 37050000
    + 37240000 37040000 37020000 36990000 36790000
    + 37030000 36830000 36730000 36700000 36500000
    + 36940000 36740000 36670000 36640000 36440000
    + 36850000 36650000 36600000 36590000 36390000
    + 36750000 36550000 36520000 36550000 36350000
    + 36690000 36490000 36380000 36400000 36200000
    + 36460000 36260000 36180000 36120000 35920000
    + 36080000 35880000 35680000 35640000 35440000
    + 35510000 35310000 35050000 35020000 34820000
    + 34730000 34530000 34300000 34250000 34050000
    + 33870000 33670000 33040000 32820000 32620000
    + 30000000 30000000 30000000 30000000 30000000>;
    + };
    + };
    +};
    --
    2.17.0
    \
     
     \ /
      Last update: 2018-06-07 20:14    [W:2.855 / U:0.256 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site