blob: 29267ddd45f98e680157ee1d8cf925c850ad6ae3 [file] [log] [blame]
Qualcomm QPNP BSI - battery serial interface devices
qpnp-bsi is a BIF driver which supports the BSI peripheral inside of PMICs
that utilize the MSM SPMI implementation.
Required properties:
- compatible: Must be "qcom,qpnp-bsi".
- reg: Specifies the SPMI address and size for this BSI device as
well as the address of the BATT_ID status register.
- reg-names: A list of strings identifying the reg property entries. The
list must contain both "bsi-base" and "batt-id-status".
- label: A string used as a descriptive name for this BIF controller.
- interrupts: Specifies a list of four interrupts corresponding to
IRQ ERR, IRQ RX, IRQ TX, and IRQ BATT_PRESENT in any order.
- interrupt-names: Must be a list of strings containing all three of these
strings: "err", "rx", "tx", "batt-present". The ordering of
these strings must match the ordering of the interrupts in
the "interrupts" property.
Required structure:
- A qcom,qpnp-bsi node must be a child of an SPMI node that has specified the
spmi-slave-container property.
Optional properties:
- qcom,min-clock-period: This property specifies a minimum clock period for the
Tau BIF reference in nanoseconds. It can be used to
impose a minimum period which is higher (i.e. more
restrictive) than that supported by the hardware.
The BSI module supports 8 possible periods between
2080 ns and 150420 ns.
- qcom,max-clock-period: This property specifies a maximum clock period for the
Tau BIF reference in nanoseconds. It can be used to
impose a maximum period which is lower (i.e. more
restrictive) than that supported by the hardware.
The BSI module supports 8 possible periods between
2080 ns and 150420 ns.
- qcom,sample-rate: Specifies the rate at which the BIF BCL should be
sampled during communication with respect to the Tau
BIF reference rate. Supported values are 4 and 8
which represent 4x and 8x sampling rates
respectively. If this property is not specified,
then 4x sampling is assumed.
- qcom,channel-num: VADC channel number associated PMIC BATT_ID pin. If
no channel is specified, then it will not be
possible to measure the slave Rid.
- qcom,pullup-ohms: Host side pull-up resistance present on BCL in ohms.
If no value is specified, then 100000 ohms is
assumed.
- qcom,vref-microvolts: Reference voltage used for BCL divider circuit in
microvolts. If no value is specified, then
1800000 uV is assumed.
All properties specified within for the BIF framework can also be used. These
properties can be found in bif.txt.
Example:
qcom,spmi@fc4c0000 {
#address-cells = <1>;
#size-cells = <0>;
interrupt-controller;
#interrupt-cells = <3>;
qcom,pm8941@1 {
spmi-slave-container;
reg = <0x1>;
#address-cells = <1>;
#size-cells = <1>;
qcom,bsi@1b00 {
compatible = "qcom,qpnp-bsi";
reg = <0x1b00 0x100>,
<0x1208 0x1>;
reg-names = "bsi-base", "batt-id-status";
label = "pm8941-bsi";
interrupts = <0x0 0x1b 0x0>,
<0x0 0x1b 0x1>,
<0x0 0x1b 0x2>,
<0x0 0x12 0x0>;
interrupt-names = "err",
"rx",
"tx",
"batt-present";
qcom,sample-rate = <8>;
qcom,min-clock-period = <15830>;
qcom,max-clock-period = <122080>;
qcom,channel-num = <0x31>;
qcom,pullup-ohms = <100000>;
qcom,vref-microvolts = <1800000>;
};
};
};