# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/max8893.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Regulator driver for MAX8893 PMIC from Maxim Integrated.

maintainers:
  - Sergey Larin <cerg2010cerg2010@mail.ru>

description: |
  The device has 5 LDO regulators and a single BUCK regulator.
  Programming is done through I2C bus.

properties:
  compatible:
    const: maxim,max8893

  reg:
    maxItems: 1

  regulators:
    type: object

    patternProperties:
      "^(ldo[1-5]|buck)$":
        $ref: regulator.yaml#

    additionalProperties: false

additionalProperties: false

required:
  - compatible
  - reg
  - regulators

examples:
  - |
    i2c {
            #address-cells = <1>;
            #size-cells = <0>;

            pmic@3e {
                    compatible = "maxim,max8893";
                    reg = <0x3e>;

                    regulators {
                            /* Front camera - s5k6aafx, back - m5mo */
                            /* Numbers used to indicate the sequence */
                            front_1_back_1: buck {
                                    regulator-name = "cam_isp_core_1v2";
                                    regulator-min-microvolt = <1200000>;
                                    regulator-max-microvolt = <1200000>;
                            };

                            front_4_back_5: ldo1 {
                                    regulator-name = "vt_io_1v8,cam_isp_1v8";
                                    regulator-min-microvolt = <1800000>;
                                    regulator-max-microvolt = <1800000>;
                            };

                            front_3_back_4: ldo2 {
                                    regulator-name = "vt_core_1v5";
                                    regulator-min-microvolt = <1500000>;
                                    regulator-max-microvolt = <1500000>;
                            };

                            front_5_back_6: ldo3 {
                                    regulator-name = "vt_cam_1v8,vt_sensor_io_1v8";
                                    regulator-min-microvolt = <1800000>;
                                    regulator-max-microvolt = <1800000>;
                            };

                            ldo4 {
                                    /* not used */
                            };

                            back_7: ldo5 {
                                    regulator-name = "cam_sensor_io_1v8";
                                    regulator-min-microvolt = <1800000>;
                                    regulator-max-microvolt = <1800000>;
                            };
                    };
            };
    };
...
