Binding for TI bq25890 Li-Ion Charger

This driver will support the bq25892, the bq25896 and the bq25890. There are
other ICs in the same family but those have not been tested.

Required properties:
- compatible: Should contain one of the following:
    * "ti,bq25890"
    * "ti,bq25892"
    * "ti,bq25895"
    * "ti,bq25896"
- reg: integer, i2c address of the device.
- interrupts: interrupt line;
- ti,battery-regulation-voltage: integer, maximum charging voltage (in uV);
- ti,charge-current: integer, maximum charging current (in uA);
- ti,termination-current: integer, charge will be terminated when current in
    constant-voltage phase drops below this value (in uA);
- ti,precharge-current: integer, maximum charge current during precharge
    phase (in uA);
- ti,minimum-sys-voltage: integer, when battery is charging and it is below
    minimum system voltage, the system will be regulated above
    minimum-sys-voltage setting (in uV);
- ti,boost-voltage: integer, VBUS voltage level in boost mode (in uV);
- ti,boost-max-current: integer, maximum allowed current draw in boost mode
    (in uA).

Optional properties:
- ti,boost-low-freq: boolean, if present boost mode frequency will be 500kHz,
    otherwise 1.5MHz;
- ti,use-ilim-pin: boolean, if present the ILIM resistor will be used and the
    input current will be the lower between the resistor setting and the IINLIM
    register setting;
- ti,thermal-regulation-threshold: integer, temperature above which the charge
    current is lowered, to avoid overheating (in degrees Celsius). If omitted,
    the default setting will be used (120 degrees);
- ti,ibatcomp-micro-ohms: integer, value of a resistor in series with
    the battery;
- ti,ibatcomp-clamp-microvolt: integer, maximum charging voltage adjustment due
    to expected voltage drop on in-series resistor;

Example:

bq25890 {
	compatible = "ti,bq25890";
	reg = <0x6a>;

	interrupt-parent = <&gpio1>;
	interrupts = <16 IRQ_TYPE_EDGE_FALLING>;

	ti,battery-regulation-voltage = <4200000>;
	ti,charge-current = <1000000>;
	ti,termination-current = <50000>;
	ti,precharge-current = <128000>;
	ti,minimum-sys-voltage = <3600000>;
	ti,boost-voltage = <5000000>;
	ti,boost-max-current = <1000000>;

	ti,use-ilim-pin;
	ti,thermal-regulation-threshold = <120>;
};
