Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mfd: DT bindings for the palmas family MFD

Add the various binding files for the palmas family of chips. There is a
top level MFD binding then a seperate binding for regulators IP blocks on chips.

Signed-off-by: Graeme Gregory <gg@slimlogic.co.uk>
Signed-off-by: J Keerthy <j-keerthy@ti.com>
Signed-off-by: Ian Lartey <ian@slimlogic.co.uk>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Grant Likely <grant.likely@linaro.org>

authored by

J Keerthy and committed by
Grant Likely
8d561b60 49423500

+121
+49
Documentation/devicetree/bindings/mfd/palmas.txt
··· 1 + * palmas device tree bindings 2 + 3 + The TI palmas family current members :- 4 + twl6035 (palmas) 5 + twl6037 (palmas) 6 + tps65913 (palmas) 7 + tps65914 (palmas) 8 + 9 + Required properties: 10 + - compatible : Should be from the list 11 + ti,twl6035 12 + ti,twl6036 13 + ti,twl6037 14 + ti,tps65913 15 + ti,tps65914 16 + ti,tps80036 17 + and also the generic series names 18 + ti,palmas 19 + - interrupt-controller : palmas has its own internal IRQs 20 + - #interrupt-cells : should be set to 2 for IRQ number and flags 21 + The first cell is the IRQ number. 22 + The second cell is the flags, encoded as the trigger masks from 23 + Documentation/devicetree/bindings/interrupts.txt 24 + - interrupt-parent : The parent interrupt controller. 25 + 26 + Optional properties: 27 + ti,mux-padX : set the pad register X (1-2) to the correct muxing for the 28 + hardware, if not set will use muxing in OTP. 29 + 30 + Example: 31 + 32 + palmas { 33 + compatible = "ti,twl6035", "ti,palmas"; 34 + reg = <0x48> 35 + interrupt-parent = <&intc>; 36 + interrupt-controller; 37 + #interrupt-cells = <2>; 38 + 39 + ti,mux-pad1 = <0>; 40 + ti,mux-pad2 = <0>; 41 + 42 + #address-cells = <1>; 43 + #size-cells = <0>; 44 + 45 + pmic { 46 + compatible = "ti,twl6035-pmic", "ti,palmas-pmic"; 47 + .... 48 + }; 49 + }
+72
Documentation/devicetree/bindings/regulator/palmas-pmic.txt
··· 1 + * palmas regulator IP block devicetree bindings 2 + 3 + Required properties: 4 + - compatible : Should be from the list 5 + ti,twl6035-pmic 6 + ti,twl6036-pmic 7 + ti,twl6037-pmic 8 + ti,tps65913-pmic 9 + ti,tps65914-pmic 10 + and also the generic series names 11 + ti,palmas-pmic 12 + - interrupt-parent : The parent interrupt controller which is palmas. 13 + - interrupts : The interrupt number and the type which can be looked up here: 14 + arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h 15 + - interrupts-name: The names of the individual interrupts. 16 + 17 + Optional properties: 18 + - ti,ldo6-vibrator : ldo6 is in vibrator mode 19 + 20 + Optional nodes: 21 + - regulators : Must contain a sub-node per regulator from the list below. 22 + Each sub-node should contain the constraints and initialization 23 + information for that regulator. See regulator.txt for a 24 + description of standard properties for these sub-nodes. 25 + Additional custom properties are listed below. 26 + 27 + For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP, 28 + smps45, smps457, smps7 depending on variant, smps6, smps[8-10], 29 + ldo[1-9], ldoln, ldousb. 30 + 31 + Optional sub-node properties: 32 + ti,warm-reset - maintain voltage during warm reset(boolean) 33 + ti,roof-floor - control voltage selection by pin(boolean) 34 + ti,sleep-mode - mode to adopt in pmic sleep 0 - off, 1 - auto, 35 + 2 - eco, 3 - forced pwm 36 + ti,tstep - slope control 0 - Jump, 1 10mV/us, 2 5mV/us, 3 2.5mV/us 37 + ti,smps-range - OTP has the wrong range set for the hardware so override 38 + 0 - low range, 1 - high range. 39 + 40 + Example: 41 + 42 + #include <dt-bindings/interrupt-controller/irq.h> 43 + 44 + pmic { 45 + compatible = "ti,twl6035-pmic", "ti,palmas-pmic"; 46 + interrupt-parent = <&palmas>; 47 + interrupts = <14 IRQ_TYPE_NONE>; 48 + interrupts-name = "short-irq"; 49 + 50 + ti,ldo6-vibrator; 51 + 52 + regulators { 53 + smps12_reg : smps12 { 54 + regulator-name = "smps12"; 55 + regulator-min-microvolt = < 600000>; 56 + regulator-max-microvolt = <1500000>; 57 + regulator-always-on; 58 + regulator-boot-on; 59 + ti,warm-reset; 60 + ti,roof-floor; 61 + ti,mode-sleep = <0>; 62 + ti,tstep = <0>; 63 + ti,smps-range = <1>; 64 + }; 65 + 66 + ldo1_reg: ldo1 { 67 + regulator-name = "ldo1"; 68 + regulator-min-microvolt = <2800000>; 69 + regulator-max-microvolt = <2800000>; 70 + }; 71 + }; 72 + };