1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/maxim,max20086.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Maxim Integrated MAX20086-MAX20089 Camera Power Protector
8
9maintainers:
10  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11
12description: |
13  The MAX20086-MAX20089 are dual/quad camera power protectors, designed to
14  deliver power over coax for radar and camera modules. They support
15  software-configurable output switching and monitoring. The output voltage and
16  current limit are fixed by the hardware design.
17
18properties:
19  compatible:
20    enum:
21      - maxim,max20086
22      - maxim,max20087
23      - maxim,max20088
24      - maxim,max20089
25
26  reg:
27    maxItems: 1
28
29  enable-gpios:
30    maxItems: 1
31    description: GPIO connected to the EN pin, active high
32
33  in-supply:
34    description: Input supply for the camera outputs (IN pin, 3.0V to 15.0V)
35
36  vdd-supply:
37    description: Input supply for the device (VDD pin, 3.0V to 5.5V)
38
39  regulators:
40    type: object
41
42    patternProperties:
43      "^OUT[1-4]$":
44        type: object
45        $ref: regulator.yaml#
46
47    additionalProperties: false
48
49required:
50  - compatible
51  - reg
52  - in-supply
53  - vdd-supply
54  - regulators
55
56allOf:
57  - if:
58      properties:
59        compatible:
60          contains:
61            enum:
62              - maxim,max20088
63              - maxim,max20089
64    then:
65      properties:
66        regulators:
67          properties:
68            OUT3: false
69            OUT4: false
70
71additionalProperties: false
72
73examples:
74  - |
75    #include <dt-bindings/gpio/gpio.h>
76
77    i2c {
78        #address-cells = <1>;
79        #size-cells = <0>;
80
81        regulator@28 {
82            compatible = "maxim,max20087";
83            reg = <0x28>;
84
85            in-supply = <&reg_12v0>;
86            vdd-supply = <&reg_3v3>;
87
88            enable-gpios = <&gpio 108 GPIO_ACTIVE_HIGH>;
89
90            regulators {
91                OUT1 {
92                    regulator-name = "VOUT1";
93                };
94                OUT2 {
95                    regulator-name = "VOUT2";
96                };
97                OUT3 {
98                    regulator-name = "VOUT3";
99                };
100                OUT4 {
101                    regulator-name = "VOUT4";
102                };
103            };
104        };
105    };
106...
107