xref: /linux/Documentation/devicetree/bindings/regulator/sgmicro,sgm3804.yaml (revision 9611c0ce215a66770ccbe5c126bf57ba8c31bcad)
1*8480ea35SNeil Armstrong# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*8480ea35SNeil Armstrong%YAML 1.2
3*8480ea35SNeil Armstrong---
4*8480ea35SNeil Armstrong$id: http://devicetree.org/schemas/regulator/sgmicro,sgm3804.yaml#
5*8480ea35SNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8480ea35SNeil Armstrong
7*8480ea35SNeil Armstrongtitle: SG Micro SGM3804 Single Inductor Dual Output Buck/Boost Converter
8*8480ea35SNeil Armstrong
9*8480ea35SNeil Armstrongmaintainers:
10*8480ea35SNeil Armstrong  - Neil Armstrong <neil.armstrong@linaro.org>
11*8480ea35SNeil Armstrong
12*8480ea35SNeil Armstrongdescription:
13*8480ea35SNeil Armstrong  The SGM3804 is a dual voltage regulator, designed to support positive/negative
14*8480ea35SNeil Armstrong  supply for driving LCD panels. It support software-configurable output
15*8480ea35SNeil Armstrong  switching. The output voltages can be programmed via an I2C compatible interface.
16*8480ea35SNeil Armstrong
17*8480ea35SNeil Armstrongproperties:
18*8480ea35SNeil Armstrong  compatible:
19*8480ea35SNeil Armstrong    const: sgmicro,sgm3804
20*8480ea35SNeil Armstrong
21*8480ea35SNeil Armstrong  reg:
22*8480ea35SNeil Armstrong    maxItems: 1
23*8480ea35SNeil Armstrong
24*8480ea35SNeil Armstrong  vin-supply: true
25*8480ea35SNeil Armstrong
26*8480ea35SNeil ArmstrongpatternProperties:
27*8480ea35SNeil Armstrong  "^(pos|neg)$":
28*8480ea35SNeil Armstrong    type: object
29*8480ea35SNeil Armstrong    $ref: regulator.yaml#
30*8480ea35SNeil Armstrong
31*8480ea35SNeil Armstrong    properties:
32*8480ea35SNeil Armstrong      enable-gpios: true
33*8480ea35SNeil Armstrong
34*8480ea35SNeil Armstrong    unevaluatedProperties: false
35*8480ea35SNeil Armstrong
36*8480ea35SNeil Armstrong    required:
37*8480ea35SNeil Armstrong      - enable-gpios
38*8480ea35SNeil Armstrong
39*8480ea35SNeil Armstrongrequired:
40*8480ea35SNeil Armstrong  - compatible
41*8480ea35SNeil Armstrong  - reg
42*8480ea35SNeil Armstrong  - pos
43*8480ea35SNeil Armstrong  - neg
44*8480ea35SNeil Armstrong
45*8480ea35SNeil ArmstrongadditionalProperties: false
46*8480ea35SNeil Armstrong
47*8480ea35SNeil Armstrongexamples:
48*8480ea35SNeil Armstrong  - |
49*8480ea35SNeil Armstrong    #include <dt-bindings/gpio/gpio.h>
50*8480ea35SNeil Armstrong
51*8480ea35SNeil Armstrong    i2c {
52*8480ea35SNeil Armstrong        #address-cells = <1>;
53*8480ea35SNeil Armstrong        #size-cells = <0>;
54*8480ea35SNeil Armstrong
55*8480ea35SNeil Armstrong        regulator@3e {
56*8480ea35SNeil Armstrong            compatible = "sgmicro,sgm3804";
57*8480ea35SNeil Armstrong            reg = <0x3e>;
58*8480ea35SNeil Armstrong
59*8480ea35SNeil Armstrong            vin-supply = <&vin_reg>;
60*8480ea35SNeil Armstrong
61*8480ea35SNeil Armstrong            pos {
62*8480ea35SNeil Armstrong                regulator-name = "outpos";
63*8480ea35SNeil Armstrong                regulator-min-microvolt = <5000000>;
64*8480ea35SNeil Armstrong                regulator-max-microvolt = <5000000>;
65*8480ea35SNeil Armstrong                enable-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
66*8480ea35SNeil Armstrong            };
67*8480ea35SNeil Armstrong
68*8480ea35SNeil Armstrong            neg {
69*8480ea35SNeil Armstrong                regulator-name = "outneg";
70*8480ea35SNeil Armstrong                regulator-min-microvolt = <5000000>;
71*8480ea35SNeil Armstrong                regulator-max-microvolt = <5000000>;
72*8480ea35SNeil Armstrong                enable-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
73*8480ea35SNeil Armstrong            };
74*8480ea35SNeil Armstrong        };
75*8480ea35SNeil Armstrong    };
76*8480ea35SNeil Armstrong...
77*8480ea35SNeil Armstrong
78