mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-21 17:38:51 +09:00
![Tom Wai-Hong Tam](/assets/img/avatar_default.png)
This adds driver support for the TPS65090 PMU. Support includes hooking into the pmic infrastructure so that the pmic commands can be used on the console. The TPS65090 supports the following functionality: - fet enable/disable/querying - getting and setting of charge state Even though it is connected to the pmic infrastructure it does not hook into the pmic charging charging infrastructure. The device tree binding is from Linux, but only a small subset of functionality is supported. Signed-off-by: Tom Wai-Hong Tam <waihong@chromium.org> Signed-off-by: Hatim Ali <hatim.rv@samsung.com> Signed-off-by: Katie Roberts-Hoffman <katierh@chromium.org> Signed-off-by: Rong Chang <rongchang@chromium.org> Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Signed-off-by: Aaron Durbin <adurbin@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
123 lines
2.9 KiB
Plaintext
123 lines
2.9 KiB
Plaintext
TPS65090 regulators
|
|
|
|
Required properties:
|
|
- compatible: "ti,tps65090"
|
|
- reg: I2C slave address
|
|
- interrupts: the interrupt outputs of the controller
|
|
- regulators: A node that houses a sub-node for each regulator within the
|
|
device. Each sub-node is identified using the node's name, with valid
|
|
values listed below. The content of each sub-node is defined by the
|
|
standard binding for regulators; see regulator.txt.
|
|
dcdc[1-3], fet[1-7] and ldo[1-2] respectively.
|
|
- vsys[1-3]-supply: The input supply for DCDC[1-3] respectively.
|
|
- infet[1-7]-supply: The input supply for FET[1-7] respectively.
|
|
- vsys-l[1-2]-supply: The input supply for LDO[1-2] respectively.
|
|
|
|
Optional properties:
|
|
- ti,enable-ext-control: This is applicable for DCDC1, DCDC2 and DCDC3.
|
|
If DCDCs are externally controlled then this property should be there.
|
|
- "dcdc-ext-control-gpios: This is applicable for DCDC1, DCDC2 and DCDC3.
|
|
If DCDCs are externally controlled and if it is from GPIO then GPIO
|
|
number should be provided. If it is externally controlled and no GPIO
|
|
entry then driver will just configure this rails as external control
|
|
and will not provide any enable/disable APIs.
|
|
|
|
Each regulator is defined using the standard binding for regulators.
|
|
|
|
Example:
|
|
|
|
tps65090@48 {
|
|
compatible = "ti,tps65090";
|
|
reg = <0x48>;
|
|
interrupts = <0 88 0x4>;
|
|
|
|
vsys1-supply = <&some_reg>;
|
|
vsys2-supply = <&some_reg>;
|
|
vsys3-supply = <&some_reg>;
|
|
infet1-supply = <&some_reg>;
|
|
infet2-supply = <&some_reg>;
|
|
infet3-supply = <&some_reg>;
|
|
infet4-supply = <&some_reg>;
|
|
infet5-supply = <&some_reg>;
|
|
infet6-supply = <&some_reg>;
|
|
infet7-supply = <&some_reg>;
|
|
vsys_l1-supply = <&some_reg>;
|
|
vsys_l2-supply = <&some_reg>;
|
|
|
|
regulators {
|
|
dcdc1 {
|
|
regulator-name = "dcdc1";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
ti,enable-ext-control;
|
|
dcdc-ext-control-gpios = <&gpio 10 0>;
|
|
};
|
|
|
|
dcdc2 {
|
|
regulator-name = "dcdc2";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
dcdc3 {
|
|
regulator-name = "dcdc3";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
fet1 {
|
|
regulator-name = "fet1";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
fet2 {
|
|
regulator-name = "fet2";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
fet3 {
|
|
regulator-name = "fet3";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
fet4 {
|
|
regulator-name = "fet4";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
fet5 {
|
|
regulator-name = "fet5";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
fet6 {
|
|
regulator-name = "fet6";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
fet7 {
|
|
regulator-name = "fet7";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo1 {
|
|
regulator-name = "ldo1";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo2 {
|
|
regulator-name = "ldo2";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
};
|