| 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>; |
| }; |
| }; |
| }; |