Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / regulator / maxim,max20086.yaml
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
7 title: Maxim Integrated MAX20086-MAX20089 Camera Power Protector
8
9 maintainers:
10   - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11
12 description: |
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
18 properties:
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         unevaluatedProperties: false
47
48     additionalProperties: false
49
50 required:
51   - compatible
52   - reg
53   - in-supply
54   - vdd-supply
55   - regulators
56
57 allOf:
58   - if:
59       properties:
60         compatible:
61           contains:
62             enum:
63               - maxim,max20088
64               - maxim,max20089
65     then:
66       properties:
67         regulators:
68           properties:
69             OUT3: false
70             OUT4: false
71
72 additionalProperties: false
73
74 examples:
75   - |
76     #include <dt-bindings/gpio/gpio.h>
77
78     i2c {
79         #address-cells = <1>;
80         #size-cells = <0>;
81
82         regulator@28 {
83             compatible = "maxim,max20087";
84             reg = <0x28>;
85
86             in-supply = <&reg_12v0>;
87             vdd-supply = <&reg_3v3>;
88
89             enable-gpios = <&gpio 108 GPIO_ACTIVE_HIGH>;
90
91             regulators {
92                 OUT1 {
93                     regulator-name = "VOUT1";
94                 };
95                 OUT2 {
96                     regulator-name = "VOUT2";
97                 };
98                 OUT3 {
99                     regulator-name = "VOUT3";
100                 };
101                 OUT4 {
102                     regulator-name = "VOUT4";
103                 };
104             };
105         };
106     };
107 ...