162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/regulator/maxim,max20086.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Maxim Integrated MAX20086-MAX20089 Camera Power Protector
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The MAX20086-MAX20089 are dual/quad camera power protectors, designed to
1462306a36Sopenharmony_ci  deliver power over coax for radar and camera modules. They support
1562306a36Sopenharmony_ci  software-configurable output switching and monitoring. The output voltage and
1662306a36Sopenharmony_ci  current limit are fixed by the hardware design.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciproperties:
1962306a36Sopenharmony_ci  compatible:
2062306a36Sopenharmony_ci    enum:
2162306a36Sopenharmony_ci      - maxim,max20086
2262306a36Sopenharmony_ci      - maxim,max20087
2362306a36Sopenharmony_ci      - maxim,max20088
2462306a36Sopenharmony_ci      - maxim,max20089
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  reg:
2762306a36Sopenharmony_ci    maxItems: 1
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  enable-gpios:
3062306a36Sopenharmony_ci    maxItems: 1
3162306a36Sopenharmony_ci    description: GPIO connected to the EN pin, active high
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  in-supply:
3462306a36Sopenharmony_ci    description: Input supply for the camera outputs (IN pin, 3.0V to 15.0V)
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci  vdd-supply:
3762306a36Sopenharmony_ci    description: Input supply for the device (VDD pin, 3.0V to 5.5V)
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  regulators:
4062306a36Sopenharmony_ci    type: object
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci    patternProperties:
4362306a36Sopenharmony_ci      "^OUT[1-4]$":
4462306a36Sopenharmony_ci        type: object
4562306a36Sopenharmony_ci        $ref: regulator.yaml#
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci    additionalProperties: false
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_cirequired:
5062306a36Sopenharmony_ci  - compatible
5162306a36Sopenharmony_ci  - reg
5262306a36Sopenharmony_ci  - in-supply
5362306a36Sopenharmony_ci  - vdd-supply
5462306a36Sopenharmony_ci  - regulators
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ciallOf:
5762306a36Sopenharmony_ci  - if:
5862306a36Sopenharmony_ci      properties:
5962306a36Sopenharmony_ci        compatible:
6062306a36Sopenharmony_ci          contains:
6162306a36Sopenharmony_ci            enum:
6262306a36Sopenharmony_ci              - maxim,max20088
6362306a36Sopenharmony_ci              - maxim,max20089
6462306a36Sopenharmony_ci    then:
6562306a36Sopenharmony_ci      properties:
6662306a36Sopenharmony_ci        regulators:
6762306a36Sopenharmony_ci          properties:
6862306a36Sopenharmony_ci            OUT3: false
6962306a36Sopenharmony_ci            OUT4: false
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciadditionalProperties: false
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ciexamples:
7462306a36Sopenharmony_ci  - |
7562306a36Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci    i2c {
7862306a36Sopenharmony_ci        #address-cells = <1>;
7962306a36Sopenharmony_ci        #size-cells = <0>;
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci        regulator@28 {
8262306a36Sopenharmony_ci            compatible = "maxim,max20087";
8362306a36Sopenharmony_ci            reg = <0x28>;
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci            in-supply = <&reg_12v0>;
8662306a36Sopenharmony_ci            vdd-supply = <&reg_3v3>;
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci            enable-gpios = <&gpio 108 GPIO_ACTIVE_HIGH>;
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci            regulators {
9162306a36Sopenharmony_ci                OUT1 {
9262306a36Sopenharmony_ci                    regulator-name = "VOUT1";
9362306a36Sopenharmony_ci                };
9462306a36Sopenharmony_ci                OUT2 {
9562306a36Sopenharmony_ci                    regulator-name = "VOUT2";
9662306a36Sopenharmony_ci                };
9762306a36Sopenharmony_ci                OUT3 {
9862306a36Sopenharmony_ci                    regulator-name = "VOUT3";
9962306a36Sopenharmony_ci                };
10062306a36Sopenharmony_ci                OUT4 {
10162306a36Sopenharmony_ci                    regulator-name = "VOUT4";
10262306a36Sopenharmony_ci                };
10362306a36Sopenharmony_ci            };
10462306a36Sopenharmony_ci        };
10562306a36Sopenharmony_ci    };
10662306a36Sopenharmony_ci...
107