18c2ecf20Sopenharmony_ciLinear Technology LTC3589, LTC3589-1, and LTC3589-2 8-output regulators
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci- compatible: "lltc,ltc3589", "lltc,ltc3589-1" or "lltc,ltc3589-2"
58c2ecf20Sopenharmony_ci- reg: I2C slave address
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciRequired child node:
88c2ecf20Sopenharmony_ci- regulators: Contains eight regulator child nodes sw1, sw2, sw3, bb-out,
98c2ecf20Sopenharmony_ci  ldo1, ldo2, ldo3, and ldo4, specifying the initialization data as
108c2ecf20Sopenharmony_ci  documented in Documentation/devicetree/bindings/regulator/regulator.txt.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciEach regulator is defined using the standard binding for regulators. The
138c2ecf20Sopenharmony_cinodes for sw1, sw2, sw3, bb-out, ldo1, and ldo2 additionally need to specify
148c2ecf20Sopenharmony_cithe resistor values of their external feedback voltage dividers:
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciRequired properties (not on ldo3, ldo4):
178c2ecf20Sopenharmony_ci- lltc,fb-voltage-divider: An array of two integers containing the resistor
188c2ecf20Sopenharmony_ci  values R1 and R2 of the feedback voltage divider in ohms.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciRegulators sw1, sw2, sw3, and ldo2 can regulate the feedback reference from
218c2ecf20Sopenharmony_ci0.3625 V to 0.75 V in 12.5 mV steps. The output voltage thus ranges between
228c2ecf20Sopenharmony_ci0.3625 * (1 + R1/R2) V and 0.75 * (1 + R1/R2) V. Regulators bb-out and ldo1
238c2ecf20Sopenharmony_cihave a fixed 0.8 V reference and thus output 0.8 * (1 + R1/R2) V. The ldo3
248c2ecf20Sopenharmony_ciregulator is fixed to 1.8 V on LTC3589 and to 2.8 V on LTC3589-1,2. The ldo4
258c2ecf20Sopenharmony_ciregulator can output between 1.8 V and 3.3 V on LTC3589 and between 1.2 V
268c2ecf20Sopenharmony_ciand 3.2 V on LTC3589-1,2 in four steps. The ldo1 standby regulator can not
278c2ecf20Sopenharmony_cibe disabled and thus should have the regulator-always-on property set.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciExample:
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	ltc3589: pmic@34 {
328c2ecf20Sopenharmony_ci		compatible = "lltc,ltc3589-1";
338c2ecf20Sopenharmony_ci		reg = <0x34>;
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci		regulators {
368c2ecf20Sopenharmony_ci			sw1_reg: sw1 {
378c2ecf20Sopenharmony_ci				regulator-min-microvolt = <591930>;
388c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1224671>;
398c2ecf20Sopenharmony_ci				lltc,fb-voltage-divider = <100000 158000>;
408c2ecf20Sopenharmony_ci				regulator-ramp-delay = <7000>;
418c2ecf20Sopenharmony_ci				regulator-boot-on;
428c2ecf20Sopenharmony_ci				regulator-always-on;
438c2ecf20Sopenharmony_ci			};
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci			sw2_reg: sw2 {
468c2ecf20Sopenharmony_ci				regulator-min-microvolt = <704123>;
478c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1456803>;
488c2ecf20Sopenharmony_ci				lltc,fb-voltage-divider = <180000 191000>;
498c2ecf20Sopenharmony_ci				regulator-ramp-delay = <7000>;
508c2ecf20Sopenharmony_ci				regulator-boot-on;
518c2ecf20Sopenharmony_ci				regulator-always-on;
528c2ecf20Sopenharmony_ci			};
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci			sw3_reg: sw3 {
558c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1341250>;
568c2ecf20Sopenharmony_ci				regulator-max-microvolt = <2775000>;
578c2ecf20Sopenharmony_ci				lltc,fb-voltage-divider = <270000 100000>;
588c2ecf20Sopenharmony_ci				regulator-ramp-delay = <7000>;
598c2ecf20Sopenharmony_ci				regulator-boot-on;
608c2ecf20Sopenharmony_ci				regulator-always-on;
618c2ecf20Sopenharmony_ci			};
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci			bb_out_reg: bb-out {
648c2ecf20Sopenharmony_ci				regulator-min-microvolt = <3387341>;
658c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3387341>;
668c2ecf20Sopenharmony_ci				lltc,fb-voltage-divider = <511000 158000>;
678c2ecf20Sopenharmony_ci				regulator-boot-on;
688c2ecf20Sopenharmony_ci				regulator-always-on;
698c2ecf20Sopenharmony_ci			};
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci			ldo1_reg: ldo1 {
728c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1306329>;
738c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1306329>;
748c2ecf20Sopenharmony_ci				lltc,fb-voltage-divider = <100000 158000>;
758c2ecf20Sopenharmony_ci				regulator-boot-on;
768c2ecf20Sopenharmony_ci				regulator-always-on;
778c2ecf20Sopenharmony_ci			};
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci			ldo2_reg: ldo2 {
808c2ecf20Sopenharmony_ci				regulator-min-microvolt = <704123>;
818c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1456806>;
828c2ecf20Sopenharmony_ci				lltc,fb-voltage-divider = <180000 191000>;
838c2ecf20Sopenharmony_ci				regulator-ramp-delay = <7000>;
848c2ecf20Sopenharmony_ci				regulator-boot-on;
858c2ecf20Sopenharmony_ci				regulator-always-on;
868c2ecf20Sopenharmony_ci			};
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci			ldo3_reg: ldo3 {
898c2ecf20Sopenharmony_ci				regulator-min-microvolt = <2800000>;
908c2ecf20Sopenharmony_ci				regulator-max-microvolt = <2800000>;
918c2ecf20Sopenharmony_ci				regulator-boot-on;
928c2ecf20Sopenharmony_ci			};
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci			ldo4_reg: ldo4 {
958c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1200000>;
968c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3200000>;
978c2ecf20Sopenharmony_ci			};
988c2ecf20Sopenharmony_ci		};
998c2ecf20Sopenharmony_ci	};
100