18c2ecf20Sopenharmony_ci* palmas regulator IP block devicetree bindings
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe tps659038 for the AM57x class have OTP spins that
48c2ecf20Sopenharmony_cihave different part numbers but the same functionality. There
58c2ecf20Sopenharmony_ciis not a need to add the OTP spins to the palmas driver. The
68c2ecf20Sopenharmony_cispin devices should use the tps659038 as it's compatible value.
78c2ecf20Sopenharmony_ciThis is the list of those devices:
88c2ecf20Sopenharmony_citps659037
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciRequired properties:
118c2ecf20Sopenharmony_ci- compatible : Should be from the list
128c2ecf20Sopenharmony_ci  ti,twl6035-pmic
138c2ecf20Sopenharmony_ci  ti,twl6036-pmic
148c2ecf20Sopenharmony_ci  ti,twl6037-pmic
158c2ecf20Sopenharmony_ci  ti,tps65913-pmic
168c2ecf20Sopenharmony_ci  ti,tps65914-pmic
178c2ecf20Sopenharmony_ci  ti,tps65917-pmic
188c2ecf20Sopenharmony_ci  ti,tps659038-pmic
198c2ecf20Sopenharmony_ciand also the generic series names
208c2ecf20Sopenharmony_ci  ti,palmas-pmic
218c2ecf20Sopenharmony_ci- interrupts : The interrupt number and the type which can be looked up here:
228c2ecf20Sopenharmony_ci	       arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h
238c2ecf20Sopenharmony_ci- interrupts-name: The names of the individual interrupts.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciOptional properties:
268c2ecf20Sopenharmony_ci- ti,ldo6-vibrator : ldo6 is in vibrator mode
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciOptional nodes:
298c2ecf20Sopenharmony_ci- regulators : Must contain a sub-node per regulator from the list below.
308c2ecf20Sopenharmony_ci	       Each sub-node should contain the constraints and initialization
318c2ecf20Sopenharmony_ci	       information for that regulator. See regulator.txt for a
328c2ecf20Sopenharmony_ci	       description of standard properties for these sub-nodes.
338c2ecf20Sopenharmony_ci	       Additional custom properties  are listed below.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci	       For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
368c2ecf20Sopenharmony_ci	       smps45, smps457, smps7 depending on variant, smps6, smps[8-9],
378c2ecf20Sopenharmony_ci	       smps10_out2, smps10_out1, ldo[1-9], ldoln, ldousb.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci	       Optional sub-node properties:
408c2ecf20Sopenharmony_ci	       ti,warm-reset - maintain voltage during warm reset(boolean)
418c2ecf20Sopenharmony_ci	       ti,roof-floor - This takes as optional argument on platform supporting
428c2ecf20Sopenharmony_ci	       the rail from desired external control. If there is no argument then
438c2ecf20Sopenharmony_ci	       it will be assume that it is controlled by NSLEEP pin.
448c2ecf20Sopenharmony_ci	       The valid value for external pins are:
458c2ecf20Sopenharmony_ci			ENABLE1 then 1,
468c2ecf20Sopenharmony_ci			ENABLE2 then 2 or
478c2ecf20Sopenharmony_ci			NSLEEP then 3.
488c2ecf20Sopenharmony_ci	       ti,mode-sleep - mode to adopt in pmic sleep 0 - off, 1 - auto,
498c2ecf20Sopenharmony_ci	       2 - eco, 3 - forced pwm
508c2ecf20Sopenharmony_ci	       ti,smps-range - OTP has the wrong range set for the hardware so override
518c2ecf20Sopenharmony_ci	       0 - low range, 1 - high range.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci- ti,system-power-controller: Telling whether or not this pmic is controlling
548c2ecf20Sopenharmony_ci			      the system power.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciExample:
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_cipmic {
618c2ecf20Sopenharmony_ci	compatible = "ti,twl6035-pmic", "ti,palmas-pmic";
628c2ecf20Sopenharmony_ci	interrupt-parent = <&palmas>;
638c2ecf20Sopenharmony_ci	interrupts = <14 IRQ_TYPE_NONE>;
648c2ecf20Sopenharmony_ci	interrupts-name = "short-irq";
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci	ti,ldo6-vibrator;
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci	ti,system-power-controller;
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	regulators {
718c2ecf20Sopenharmony_ci		smps12_reg : smps12 {
728c2ecf20Sopenharmony_ci			regulator-name = "smps12";
738c2ecf20Sopenharmony_ci			regulator-min-microvolt = < 600000>;
748c2ecf20Sopenharmony_ci			regulator-max-microvolt = <1500000>;
758c2ecf20Sopenharmony_ci			regulator-always-on;
768c2ecf20Sopenharmony_ci			regulator-boot-on;
778c2ecf20Sopenharmony_ci			ti,warm-reset;
788c2ecf20Sopenharmony_ci			ti,roof-floor = <1>; /* ENABLE1 control */
798c2ecf20Sopenharmony_ci			ti,mode-sleep = <0>;
808c2ecf20Sopenharmony_ci			ti,smps-range = <1>;
818c2ecf20Sopenharmony_ci		};
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci		ldo1_reg: ldo1 {
848c2ecf20Sopenharmony_ci			regulator-name = "ldo1";
858c2ecf20Sopenharmony_ci			regulator-min-microvolt = <2800000>;
868c2ecf20Sopenharmony_ci			regulator-max-microvolt = <2800000>;
878c2ecf20Sopenharmony_ci		};
888c2ecf20Sopenharmony_ci	};
898c2ecf20Sopenharmony_ci};
90