140719314SLaxman DewanganTPS65090 regulators
240719314SLaxman Dewangan
340719314SLaxman DewanganRequired properties:
440719314SLaxman Dewangan- compatible: "ti,tps65090"
540719314SLaxman Dewangan- reg: I2C slave address
640719314SLaxman Dewangan- interrupts: the interrupt outputs of the controller
740719314SLaxman Dewangan- regulators: A node that houses a sub-node for each regulator within the
840719314SLaxman Dewangan  device. Each sub-node is identified using the node's name, with valid
940719314SLaxman Dewangan  values listed below. The content of each sub-node is defined by the
1040719314SLaxman Dewangan  standard binding for regulators; see regulator.txt.
1140719314SLaxman Dewangan  dcdc[1-3], fet[1-7] and ldo[1-2] respectively.
1240719314SLaxman Dewangan- vsys[1-3]-supply: The input supply for DCDC[1-3] respectively.
1340719314SLaxman Dewangan- infet[1-7]-supply: The input supply for FET[1-7] respectively.
1440719314SLaxman Dewangan- vsys-l[1-2]-supply: The input supply for LDO[1-2] respectively.
1540719314SLaxman Dewangan
1640719314SLaxman DewanganOptional properties:
1740719314SLaxman Dewangan- ti,enable-ext-control: This is applicable for DCDC1, DCDC2 and DCDC3.
1840719314SLaxman Dewangan  If DCDCs are externally controlled then this property should be there.
19a47c9b39SJonathan Neuschäfer- dcdc-ext-control-gpios: This is applicable for DCDC1, DCDC2 and DCDC3.
2040719314SLaxman Dewangan  If DCDCs are externally controlled and if it is from GPIO then GPIO
2140719314SLaxman Dewangan  number should be provided. If it is externally controlled and no GPIO
2240719314SLaxman Dewangan  entry then driver will just configure this rails as external control
2340719314SLaxman Dewangan  and will not provide any enable/disable APIs.
2429041449SDoug Anderson- ti,overcurrent-wait: This is applicable to FET registers, which have a
2529041449SDoug Anderson  poorly defined "overcurrent wait" field.  If this property is present it
2629041449SDoug Anderson  should be between 0 - 3.  If this property isn't present we won't touch the
2729041449SDoug Anderson  "overcurrent wait" field and we'll leave it to the BIOS/EC to deal with.
2840719314SLaxman Dewangan
2940719314SLaxman DewanganEach regulator is defined using the standard binding for regulators.
3040719314SLaxman Dewangan
3140719314SLaxman DewanganExample:
3240719314SLaxman Dewangan
3340719314SLaxman Dewangan	tps65090@48 {
3440719314SLaxman Dewangan		compatible = "ti,tps65090";
3540719314SLaxman Dewangan		reg = <0x48>;
3640719314SLaxman Dewangan		interrupts = <0 88 0x4>;
3740719314SLaxman Dewangan
3840719314SLaxman Dewangan		vsys1-supply = <&some_reg>;
3940719314SLaxman Dewangan		vsys2-supply = <&some_reg>;
4040719314SLaxman Dewangan		vsys3-supply = <&some_reg>;
4140719314SLaxman Dewangan		infet1-supply = <&some_reg>;
4240719314SLaxman Dewangan		infet2-supply = <&some_reg>;
4340719314SLaxman Dewangan		infet3-supply = <&some_reg>;
4440719314SLaxman Dewangan		infet4-supply = <&some_reg>;
4540719314SLaxman Dewangan		infet5-supply = <&some_reg>;
4640719314SLaxman Dewangan		infet6-supply = <&some_reg>;
4740719314SLaxman Dewangan		infet7-supply = <&some_reg>;
48a4e2dec0SAndreas Färber		vsys-l1-supply = <&some_reg>;
49a4e2dec0SAndreas Färber		vsys-l2-supply = <&some_reg>;
5040719314SLaxman Dewangan
5140719314SLaxman Dewangan		regulators {
5240719314SLaxman Dewangan			dcdc1 {
5340719314SLaxman Dewangan				regulator-name = "dcdc1";
5440719314SLaxman Dewangan				regulator-boot-on;
5540719314SLaxman Dewangan				regulator-always-on;
5640719314SLaxman Dewangan				ti,enable-ext-control;
5740719314SLaxman Dewangan				dcdc-ext-control-gpios = <&gpio 10 0>;
5840719314SLaxman Dewangan			};
5940719314SLaxman Dewangan
6040719314SLaxman Dewangan			dcdc2 {
6140719314SLaxman Dewangan				regulator-name = "dcdc2";
6240719314SLaxman Dewangan				regulator-boot-on;
6340719314SLaxman Dewangan				regulator-always-on;
6440719314SLaxman Dewangan			};
6540719314SLaxman Dewangan
6640719314SLaxman Dewangan			dcdc3 {
6740719314SLaxman Dewangan				regulator-name = "dcdc3";
6840719314SLaxman Dewangan				regulator-boot-on;
6940719314SLaxman Dewangan				regulator-always-on;
7040719314SLaxman Dewangan			};
7140719314SLaxman Dewangan
7240719314SLaxman Dewangan			fet1 {
7340719314SLaxman Dewangan				regulator-name = "fet1";
7440719314SLaxman Dewangan				regulator-boot-on;
7540719314SLaxman Dewangan				regulator-always-on;
7640719314SLaxman Dewangan			};
7740719314SLaxman Dewangan
7840719314SLaxman Dewangan			fet2 {
7940719314SLaxman Dewangan				regulator-name = "fet2";
8040719314SLaxman Dewangan				regulator-boot-on;
8140719314SLaxman Dewangan				regulator-always-on;
8240719314SLaxman Dewangan			};
8340719314SLaxman Dewangan
8440719314SLaxman Dewangan			fet3 {
8540719314SLaxman Dewangan				regulator-name = "fet3";
8640719314SLaxman Dewangan				regulator-boot-on;
8740719314SLaxman Dewangan				regulator-always-on;
8840719314SLaxman Dewangan			};
8940719314SLaxman Dewangan
9040719314SLaxman Dewangan			fet4 {
9140719314SLaxman Dewangan				regulator-name = "fet4";
9240719314SLaxman Dewangan				regulator-boot-on;
9340719314SLaxman Dewangan				regulator-always-on;
9440719314SLaxman Dewangan			};
9540719314SLaxman Dewangan
9640719314SLaxman Dewangan			fet5 {
9740719314SLaxman Dewangan				regulator-name = "fet5";
9840719314SLaxman Dewangan				regulator-boot-on;
9940719314SLaxman Dewangan				regulator-always-on;
10040719314SLaxman Dewangan			};
10140719314SLaxman Dewangan
10240719314SLaxman Dewangan			fet6 {
10340719314SLaxman Dewangan				regulator-name = "fet6";
10440719314SLaxman Dewangan				regulator-boot-on;
10540719314SLaxman Dewangan				regulator-always-on;
10640719314SLaxman Dewangan			};
10740719314SLaxman Dewangan
10840719314SLaxman Dewangan			fet7 {
10940719314SLaxman Dewangan				regulator-name = "fet7";
11040719314SLaxman Dewangan				regulator-boot-on;
11140719314SLaxman Dewangan				regulator-always-on;
11240719314SLaxman Dewangan			};
11340719314SLaxman Dewangan
11440719314SLaxman Dewangan			ldo1 {
11540719314SLaxman Dewangan				regulator-name = "ldo1";
11640719314SLaxman Dewangan				regulator-boot-on;
11740719314SLaxman Dewangan				regulator-always-on;
11840719314SLaxman Dewangan			};
11940719314SLaxman Dewangan
12040719314SLaxman Dewangan			ldo2 {
12140719314SLaxman Dewangan				regulator-name = "ldo2";
12240719314SLaxman Dewangan				regulator-boot-on;
12340719314SLaxman Dewangan				regulator-always-on;
12440719314SLaxman Dewangan			};
12540719314SLaxman Dewangan		};
12640719314SLaxman Dewangan	};
127