Kernel-4.18.0-80.el8_palmas-pmic

  • palmas regulator IP block devicetree bindings

The tps659038 for the AM57x class have OTP spins that
have different part numbers but the same functionality. There
is not a need to add the OTP spins to the palmas driver. The
spin devices should use the tps659038 as it’s compatible value.
This is the list of those devices:
tps659037

Required properties:

  • compatible : Should be from the list
    ti,twl6035-pmic
    ti,twl6036-pmic
    ti,twl6037-pmic
    ti,tps65913-pmic
    ti,tps65914-pmic
    ti,tps65917-pmic
    ti,tps659038-pmic
    and also the generic series names
    ti,palmas-pmic
  • interrupt-parent : The parent interrupt controller which is palmas.
  • interrupts : The interrupt number and the type which can be looked up here:
         arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h
    
  • interrupts-name: The names of the individual interrupts.

Optional properties:

  • ti,ldo6-vibrator : ldo6 is in vibrator mode

Optional nodes:

  • regulators : Must contain a sub-node per regulator from the list below.

         Each sub-node should contain the constraints and initialization
         information for that regulator. See regulator.txt for a
         description of standard properties for these sub-nodes.
         Additional custom properties  are listed below.
    
         For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
         smps45, smps457, smps7 depending on variant, smps6, smps[8-9],
         smps10_out2, smps10_out1, ldo[1-9], ldoln, ldousb.
    
         Optional sub-node properties:
         ti,warm-reset - maintain voltage during warm reset(boolean)
         ti,roof-floor - This takes as optional argument on platform supporting
         the rail from desired external control. If there is no argument then
         it will be assume that it is controlled by NSLEEP pin.
         The valid value for external pins are:
          ENABLE1 then 1,
          ENABLE2 then 2 or
          NSLEEP then 3.
         ti,mode-sleep - mode to adopt in pmic sleep 0 - off, 1 - auto,
         2 - eco, 3 - forced pwm
         ti,smps-range - OTP has the wrong range set for the hardware so override
         0 - low range, 1 - high range.
    
  • ti,system-power-controller: Telling whether or not this pmic is controlling

                the system power.
    

Example:

#include <dt-bindings/interrupt-controller/irq.h>

pmic {
compatible = “ti,twl6035-pmic”, “ti,palmas-pmic”;
interrupt-parent = <&palmas>;
interrupts = <14 IRQ_TYPE_NONE>;
interrupts-name = “short-irq”;

ti,ldo6-vibrator;

ti,system-power-controller;

regulators {
    smps12_reg : smps12 {
        regulator-name = "smps12";
        regulator-min-microvolt = < 600000>;
        regulator-max-microvolt = <1500000>;
        regulator-always-on;
        regulator-boot-on;
        ti,warm-reset;
        ti,roof-floor = <1>; /* ENABLE1 control */
        ti,mode-sleep = <0>;
        ti,smps-range = <1>;
    };

    ldo1_reg: ldo1 {
        regulator-name = "ldo1";
        regulator-min-microvolt = <2800000>;
        regulator-max-microvolt = <2800000>;
    };
};

};