Qualcomm Technologies, Inc. Battery Gauge (QBG) binding description: | Qualcomm Technologies, Inc. Battery Gauge (QBG) uses the periodic samples of battery voltage and current to determine the battery state-of-charge (SOC) and supports other battery management features. properties: compatible: const: qcom,qbg reg: description: Base address of QBG MAIN peripheral. maxItems: 1 interrupts: description: Specifies the interrupts for nvmem devices used by QBG. maxItems: 1 interrupt-names: description: Specifies the interrupt names for nvmem devices used by QBG. minItems: 1 items: - const: qbg-sdam $ref: /schemas/types.yaml#/definitions/string-array qcom,num-data-sdams: $ref: /schemas/types.yaml#/definitions/uint32 description: Number of SDAMs used for storing QBG FIFO data. qcom,sdam-base: $ref: /schemas/types.yaml#/definitions/uint32 description: Base address of QBG SDAM peripheral. qcom,vbat-cutoff-mv: allOf: - $ref: "/schemas/types.yaml#/definitions/uint32" description: The battery voltage threshold (in mV) at which the battery power cuts off. The SOC is forced to 0 when battery voltage reaches this value. default: 3100 qcom,ibat-cutoff-ma: allOf: - $ref: /schemas/types.yaml#/definitions/uint32 description: The battery current threshold (in mA) at which the battery power cuts off. The SOC is forced to 0 when battery current reaches this value. default: 150 qcom,vph-min-mv: allOf: - $ref: /schemas/types.yaml#/definitions/uint32 description: Minimum sustainable system power (in mV). default: 2700 qcom,iterm-ma: allOf: - $ref: /schemas/types.yaml#/definitions/uint32 description: The battery current (in mA) at which the QBG algorithm converges the SOC to 100% during charging and can be used to terminate charging. default: 100 qcom,rconn-mohm: $ref: /schemas/types.yaml#/definitions/uint32 description: Resistance of the battery connector in mOhms. qcom,qbg-vbatt-empty-threshold-mv: $ref: /schemas/types.yaml#/definitions/uint32 description: Vbatt empty threshold in mv at which QBG generates low Vbatt interrupt. nvmem-cell-names: minItems: 2 maxItems: 3 items: - const: qbg_debug_mask_low - const: qbg_debug_mask_high - const: skip_esr_state nvmem-cells: minItems: 2 minItems: 3 description: | Use nvmem cell device to indicate SDAM register. qbg_debug_mask_low/qbg_debug_mask_high used to store the qbg debug mask skip_esr_state used to get GPS de-modulating status required: - compatible - reg - interrupt-names - interrupts - qcom,num-data-sdams - qcom,sdam-base examples: - | #include spmi_bus { #address-cells = <2>; #size-cells = <0>; interrupt-controller; #interrupt-cells = <4>; qcom,pm5100@0 { #address-cells = <1>; #size-cells = <0>; qbg@4f00 { compatible = "qcom,qbg"; reg = <0x4f00>; #address-cells = <1>; #size-cells = <1>; interrupt-names = "qbg-sdam"; interrupts = <0x0 0x76 0x1 IRQ_TYPE_EDGE_RISING>; qcom,num-data-sdams = <6>; qcom,sdam-base = <0x7600>; nvmem-cell-names = "qbg_debug_mask_low", "qbg_debug_mask_high"; nvmem-cells = <&qbg_debug_mask_low>, <&qbg_debug_mask_high>; }; }; }; ...