1*8d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*8d13bc63SEmmanuel Vadot%YAML 1.2
3*8d13bc63SEmmanuel Vadot---
4*8d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/ams,as3711.yaml#
5*8d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8d13bc63SEmmanuel Vadot
7*8d13bc63SEmmanuel Vadottitle: Austria MicroSystems AS3711 Quad Buck High Current PMIC with Charger
8*8d13bc63SEmmanuel Vadot
9*8d13bc63SEmmanuel Vadotmaintainers:
10*8d13bc63SEmmanuel Vadot  - Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
11*8d13bc63SEmmanuel Vadot
12*8d13bc63SEmmanuel Vadotdescription:
13*8d13bc63SEmmanuel Vadot  AS3711 is an I2C PMIC from Austria MicroSystems with multiple DC/DC and LDO
14*8d13bc63SEmmanuel Vadot  power supplies, a battery charger and an RTC.  So far only bindings for the
15*8d13bc63SEmmanuel Vadot  two step-up DC/DC converters are defined.
16*8d13bc63SEmmanuel Vadot
17*8d13bc63SEmmanuel Vadotproperties:
18*8d13bc63SEmmanuel Vadot  compatible:
19*8d13bc63SEmmanuel Vadot    const: ams,as3711
20*8d13bc63SEmmanuel Vadot
21*8d13bc63SEmmanuel Vadot  reg:
22*8d13bc63SEmmanuel Vadot    maxItems: 1
23*8d13bc63SEmmanuel Vadot
24*8d13bc63SEmmanuel Vadot  backlight:
25*8d13bc63SEmmanuel Vadot    description:
26*8d13bc63SEmmanuel Vadot      Step-up converter configuration, to be used as a backlight source
27*8d13bc63SEmmanuel Vadot    type: object
28*8d13bc63SEmmanuel Vadot    additionalProperties: false
29*8d13bc63SEmmanuel Vadot    properties:
30*8d13bc63SEmmanuel Vadot      compatible:
31*8d13bc63SEmmanuel Vadot        const: ams,as3711-bl
32*8d13bc63SEmmanuel Vadot
33*8d13bc63SEmmanuel Vadot      su1-dev:
34*8d13bc63SEmmanuel Vadot        description: Framebuffer phandle for the first step-up converter
35*8d13bc63SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/phandle
36*8d13bc63SEmmanuel Vadot
37*8d13bc63SEmmanuel Vadot      su1-max-uA:
38*8d13bc63SEmmanuel Vadot        description: Maximum current for the first step-up converter
39*8d13bc63SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
40*8d13bc63SEmmanuel Vadot
41*8d13bc63SEmmanuel Vadot      su2-dev:
42*8d13bc63SEmmanuel Vadot        description: Framebuffer phandle for the second step-up converter
43*8d13bc63SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/phandle
44*8d13bc63SEmmanuel Vadot
45*8d13bc63SEmmanuel Vadot      su2-max-uA:
46*8d13bc63SEmmanuel Vadot        description: Maximum current for the second step-up converter
47*8d13bc63SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
48*8d13bc63SEmmanuel Vadot
49*8d13bc63SEmmanuel Vadot      su2-feedback-voltage:
50*8d13bc63SEmmanuel Vadot        description: Second step-up converter uses voltage feedback
51*8d13bc63SEmmanuel Vadot        type: boolean
52*8d13bc63SEmmanuel Vadot
53*8d13bc63SEmmanuel Vadot      su2-feedback-curr1:
54*8d13bc63SEmmanuel Vadot        description:
55*8d13bc63SEmmanuel Vadot          Second step-up converter uses CURR1 input for current feedback
56*8d13bc63SEmmanuel Vadot        type: boolean
57*8d13bc63SEmmanuel Vadot
58*8d13bc63SEmmanuel Vadot      su2-feedback-curr2:
59*8d13bc63SEmmanuel Vadot        description:
60*8d13bc63SEmmanuel Vadot          Second step-up converter uses CURR2 input for current feedback
61*8d13bc63SEmmanuel Vadot        type: boolean
62*8d13bc63SEmmanuel Vadot
63*8d13bc63SEmmanuel Vadot      su2-feedback-curr3:
64*8d13bc63SEmmanuel Vadot        description:
65*8d13bc63SEmmanuel Vadot          Second step-up converter uses CURR3 input for current feedback
66*8d13bc63SEmmanuel Vadot        type: boolean
67*8d13bc63SEmmanuel Vadot
68*8d13bc63SEmmanuel Vadot      su2-feedback-curr-auto:
69*8d13bc63SEmmanuel Vadot        description:
70*8d13bc63SEmmanuel Vadot          Second step-up converter uses automatic current feedback selection
71*8d13bc63SEmmanuel Vadot        type: boolean
72*8d13bc63SEmmanuel Vadot
73*8d13bc63SEmmanuel Vadot      su2-fbprot-lx-sd4:
74*8d13bc63SEmmanuel Vadot        description:
75*8d13bc63SEmmanuel Vadot          Second step-up converter uses LX_SD4 for over-voltage protection
76*8d13bc63SEmmanuel Vadot        type: boolean
77*8d13bc63SEmmanuel Vadot
78*8d13bc63SEmmanuel Vadot      su2-fbprot-gpio2:
79*8d13bc63SEmmanuel Vadot        description:
80*8d13bc63SEmmanuel Vadot          Second step-up converter uses GPIO2 for over-voltage protection
81*8d13bc63SEmmanuel Vadot        type: boolean
82*8d13bc63SEmmanuel Vadot
83*8d13bc63SEmmanuel Vadot      su2-fbprot-gpio3:
84*8d13bc63SEmmanuel Vadot        description:
85*8d13bc63SEmmanuel Vadot          Second step-up converter uses GPIO3 for over-voltage protection
86*8d13bc63SEmmanuel Vadot        type: boolean
87*8d13bc63SEmmanuel Vadot
88*8d13bc63SEmmanuel Vadot      su2-fbprot-gpio4:
89*8d13bc63SEmmanuel Vadot        description:
90*8d13bc63SEmmanuel Vadot          Second step-up converter uses GPIO4 for over-voltage protection
91*8d13bc63SEmmanuel Vadot        type: boolean
92*8d13bc63SEmmanuel Vadot
93*8d13bc63SEmmanuel Vadot      su2-auto-curr1:
94*8d13bc63SEmmanuel Vadot        description:
95*8d13bc63SEmmanuel Vadot          Second step-up converter uses CURR1 input for automatic current
96*8d13bc63SEmmanuel Vadot          feedback
97*8d13bc63SEmmanuel Vadot        type: boolean
98*8d13bc63SEmmanuel Vadot
99*8d13bc63SEmmanuel Vadot      su2-auto-curr2:
100*8d13bc63SEmmanuel Vadot        description:
101*8d13bc63SEmmanuel Vadot          Second step-up converter uses CURR2 input for automatic current
102*8d13bc63SEmmanuel Vadot          feedback
103*8d13bc63SEmmanuel Vadot        type: boolean
104*8d13bc63SEmmanuel Vadot
105*8d13bc63SEmmanuel Vadot      su2-auto-curr3:
106*8d13bc63SEmmanuel Vadot        description:
107*8d13bc63SEmmanuel Vadot          Second step-up converter uses CURR3 input for automatic current
108*8d13bc63SEmmanuel Vadot          feedback
109*8d13bc63SEmmanuel Vadot        type: boolean
110*8d13bc63SEmmanuel Vadot
111*8d13bc63SEmmanuel Vadot    required:
112*8d13bc63SEmmanuel Vadot      - compatible
113*8d13bc63SEmmanuel Vadot
114*8d13bc63SEmmanuel Vadot    dependentRequired:
115*8d13bc63SEmmanuel Vadot      # To use the SU1 converter as a backlight source the following two
116*8d13bc63SEmmanuel Vadot      # properties must be provided:
117*8d13bc63SEmmanuel Vadot      su1-dev: [ su1-max-uA ]
118*8d13bc63SEmmanuel Vadot      su1-max-uA: [ su1-dev ]
119*8d13bc63SEmmanuel Vadot
120*8d13bc63SEmmanuel Vadot      # To use the SU2 converter as a backlight source the following two
121*8d13bc63SEmmanuel Vadot      # properties must be provided:
122*8d13bc63SEmmanuel Vadot      su2-dev: [ su2-max-uA ]
123*8d13bc63SEmmanuel Vadot      su2-max-uA: [ su2-dev ]
124*8d13bc63SEmmanuel Vadot
125*8d13bc63SEmmanuel Vadot      su2-feedback-voltage: [ su2-dev ]
126*8d13bc63SEmmanuel Vadot      su2-feedback-curr1: [ su2-dev ]
127*8d13bc63SEmmanuel Vadot      su2-feedback-curr2: [ su2-dev ]
128*8d13bc63SEmmanuel Vadot      su2-feedback-curr3: [ su2-dev ]
129*8d13bc63SEmmanuel Vadot      su2-feedback-curr-auto: [ su2-dev ]
130*8d13bc63SEmmanuel Vadot      su2-fbprot-lx-sd4: [ su2-dev ]
131*8d13bc63SEmmanuel Vadot      su2-fbprot-gpio2: [ su2-dev ]
132*8d13bc63SEmmanuel Vadot      su2-fbprot-gpio3: [ su2-dev ]
133*8d13bc63SEmmanuel Vadot      su2-fbprot-gpio4: [ su2-dev ]
134*8d13bc63SEmmanuel Vadot      su2-auto-curr1: [ su2-feedback-curr-auto ]
135*8d13bc63SEmmanuel Vadot      su2-auto-curr2: [ su2-feedback-curr-auto ]
136*8d13bc63SEmmanuel Vadot      su2-auto-curr3: [ su2-feedback-curr-auto ]
137*8d13bc63SEmmanuel Vadot
138*8d13bc63SEmmanuel Vadot    dependentSchemas:
139*8d13bc63SEmmanuel Vadot      su2-dev:
140*8d13bc63SEmmanuel Vadot        allOf:
141*8d13bc63SEmmanuel Vadot          - oneOf:
142*8d13bc63SEmmanuel Vadot              - required:
143*8d13bc63SEmmanuel Vadot                  - su2-feedback-voltage
144*8d13bc63SEmmanuel Vadot              - required:
145*8d13bc63SEmmanuel Vadot                  - su2-feedback-curr1
146*8d13bc63SEmmanuel Vadot              - required:
147*8d13bc63SEmmanuel Vadot                  - su2-feedback-curr2
148*8d13bc63SEmmanuel Vadot              - required:
149*8d13bc63SEmmanuel Vadot                  - su2-feedback-curr3
150*8d13bc63SEmmanuel Vadot              - required:
151*8d13bc63SEmmanuel Vadot                  - su2-feedback-curr-auto
152*8d13bc63SEmmanuel Vadot          - oneOf:
153*8d13bc63SEmmanuel Vadot              - required:
154*8d13bc63SEmmanuel Vadot                  - su2-fbprot-lx-sd4
155*8d13bc63SEmmanuel Vadot              - required:
156*8d13bc63SEmmanuel Vadot                  - su2-fbprot-gpio2
157*8d13bc63SEmmanuel Vadot              - required:
158*8d13bc63SEmmanuel Vadot                  - su2-fbprot-gpio3
159*8d13bc63SEmmanuel Vadot              - required:
160*8d13bc63SEmmanuel Vadot                  - su2-fbprot-gpio4
161*8d13bc63SEmmanuel Vadot
162*8d13bc63SEmmanuel Vadot      su2-feedback-curr-auto:
163*8d13bc63SEmmanuel Vadot        anyOf:
164*8d13bc63SEmmanuel Vadot          - required:
165*8d13bc63SEmmanuel Vadot              - su2-auto-curr1
166*8d13bc63SEmmanuel Vadot          - required:
167*8d13bc63SEmmanuel Vadot              - su2-auto-curr2
168*8d13bc63SEmmanuel Vadot          - required:
169*8d13bc63SEmmanuel Vadot              - su2-auto-curr3
170*8d13bc63SEmmanuel Vadot
171*8d13bc63SEmmanuel Vadot  regulators:
172*8d13bc63SEmmanuel Vadot    description: Other DC/DC and LDO supplies
173*8d13bc63SEmmanuel Vadot    type: object
174*8d13bc63SEmmanuel Vadot    unevaluatedProperties: false
175*8d13bc63SEmmanuel Vadot    patternProperties:
176*8d13bc63SEmmanuel Vadot      "^(sd[1-4]|ldo[1-8])$":
177*8d13bc63SEmmanuel Vadot        type: object
178*8d13bc63SEmmanuel Vadot        $ref: /schemas/regulator/regulator.yaml#
179*8d13bc63SEmmanuel Vadot        unevaluatedProperties: false
180*8d13bc63SEmmanuel Vadot
181*8d13bc63SEmmanuel Vadotrequired:
182*8d13bc63SEmmanuel Vadot  - compatible
183*8d13bc63SEmmanuel Vadot  - reg
184*8d13bc63SEmmanuel Vadot
185*8d13bc63SEmmanuel VadotadditionalProperties: false
186*8d13bc63SEmmanuel Vadot
187*8d13bc63SEmmanuel Vadotexamples:
188*8d13bc63SEmmanuel Vadot  - |
189*8d13bc63SEmmanuel Vadot    i2c {
190*8d13bc63SEmmanuel Vadot        #address-cells = <1>;
191*8d13bc63SEmmanuel Vadot        #size-cells = <0>;
192*8d13bc63SEmmanuel Vadot
193*8d13bc63SEmmanuel Vadot        pmic@40 {
194*8d13bc63SEmmanuel Vadot            compatible = "ams,as3711";
195*8d13bc63SEmmanuel Vadot            reg = <0x40>;
196*8d13bc63SEmmanuel Vadot
197*8d13bc63SEmmanuel Vadot            regulators {
198*8d13bc63SEmmanuel Vadot                sd4 {
199*8d13bc63SEmmanuel Vadot                    regulator-name = "1.215V";
200*8d13bc63SEmmanuel Vadot                    regulator-min-microvolt = <1215000>;
201*8d13bc63SEmmanuel Vadot                    regulator-max-microvolt = <1235000>;
202*8d13bc63SEmmanuel Vadot                };
203*8d13bc63SEmmanuel Vadot                ldo2 {
204*8d13bc63SEmmanuel Vadot                    regulator-name = "2.8V CPU";
205*8d13bc63SEmmanuel Vadot                    regulator-min-microvolt = <2800000>;
206*8d13bc63SEmmanuel Vadot                    regulator-max-microvolt = <2800000>;
207*8d13bc63SEmmanuel Vadot                    regulator-always-on;
208*8d13bc63SEmmanuel Vadot                    regulator-boot-on;
209*8d13bc63SEmmanuel Vadot                };
210*8d13bc63SEmmanuel Vadot            };
211*8d13bc63SEmmanuel Vadot
212*8d13bc63SEmmanuel Vadot            backlight {
213*8d13bc63SEmmanuel Vadot                compatible = "ams,as3711-bl";
214*8d13bc63SEmmanuel Vadot                su2-dev = <&lcdc>;
215*8d13bc63SEmmanuel Vadot                su2-max-uA = <36000>;
216*8d13bc63SEmmanuel Vadot                su2-feedback-curr-auto;
217*8d13bc63SEmmanuel Vadot                su2-fbprot-gpio4;
218*8d13bc63SEmmanuel Vadot                su2-auto-curr1;
219*8d13bc63SEmmanuel Vadot                su2-auto-curr2;
220*8d13bc63SEmmanuel Vadot                su2-auto-curr3;
221*8d13bc63SEmmanuel Vadot            };
222*8d13bc63SEmmanuel Vadot        };
223*8d13bc63SEmmanuel Vadot    };
224