* Device tree bindings for TI TPS61050/61052 Boost Converters

The TP61050/TPS61052 is a high-power "white LED driver". The
device provides LED, GPIO and regulator functionalities.

Required properties:
- compatible:		"ti,tps61050" or "ti,tps61052"
- reg:			Specifies the I2C slave address

Optional sub-node:

This subnode selects the chip's operational mode.
There can be at most one single available subnode.

- regulator: presence of this sub-node puts the chip in regulator mode.
	see ../regulator/regulator.yaml

- led: presence of this sub-node puts the chip in led mode.
	Optional properties:
	- function : see ../leds/common.txt
	- color    : see ../leds/common.txt
	- label    : see ../leds/common.txt
			(deprecated)

Example (GPIO operation only):

i2c0 {
	tps61052@33 {
		compatible = "ti,tps61052";
		reg = <0x33>;
	};
};

Example (GPIO + regulator operation):

i2c0 {
	tps61052@33 {
		compatible = "ti,tps61052";
		reg = <0x33>;

		regulator {
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			regulator-always-on;
		};
	};
};

Example (GPIO + led operation):

#include <dt-bindings/leds/common.h>

i2c0 {
	tps61052@33 {
		compatible = "ti,tps61052";
		reg = <0x33>;

		led {
			color = <LED_COLOR_ID_WHITE>;
		};
	};
};
