Rtwo/kernel/motorola/sm8550-devicetrees/bindings/power/supply/qcom/qcom,qbg.yaml
2025-09-30 19:22:48 -05:00

125 lines
3.5 KiB
YAML

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 <dt-bindings/interrupt-controller/irq.h>
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>;
};
};
};
...