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