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