Elixir Cross Referencer

Loading...
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/hisilicon,hi6421-spmi-pmic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: HiSilicon 6421v600 SPMI PMIC

maintainers:
  - Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

description: |
  HiSilicon 6421v600 should be connected inside a MIPI System Power Management
  (SPMI) bus. It provides interrupts and power supply.

  The GPIO and interrupt settings are represented as part of the top-level PMIC
  node.

  The SPMI controller part is provided by
  drivers/staging/hikey9xx/hisilicon,hisi-spmi-controller.yaml.

properties:
  $nodename:
    pattern: "pmic@[0-9a-f]"

  compatible:
    const: hisilicon,hi6421v600-spmi

  reg:
    maxItems: 1

  '#interrupt-cells':
    const: 2

  interrupt-controller:
    description:
      Identify that the PMIC is capable of behaving as an interrupt controller.

  gpios:
    maxItems: 1

  regulators:
    type: object

    properties:
      '#address-cells':
        const: 1

      '#size-cells':
        const: 0

    patternProperties:
      '^ldo[0-9]+@[0-9a-f]$':
        type: object

        $ref: "/schemas/regulator/regulator.yaml#"

required:
  - compatible
  - reg
  - regulators

additionalProperties: false

examples:
  - |
    /* pmic properties */

    pmic: pmic@0 {
      compatible = "hisilicon,hi6421-spmi";
      reg = <0 0>;

      #interrupt-cells = <2>;
      interrupt-controller;
      gpios = <&gpio28 0 0>;

      regulators {
        #address-cells = <1>;
        #size-cells = <0>;

        ldo3: LDO3 {
          regulator-name = "ldo3";
          regulator-min-microvolt = <1500000>;
          regulator-max-microvolt = <2000000>;
          regulator-boot-on;
        };

        ldo4: LDO4 {
          regulator-name = "ldo4";
          regulator-min-microvolt = <1725000>;
          regulator-max-microvolt = <1900000>;
          regulator-boot-on;
        };

        ldo9: LDO9 {
          regulator-name = "ldo9";
          regulator-min-microvolt = <1750000>;
          regulator-max-microvolt = <3300000>;
          regulator-boot-on;
        };

        ldo15: LDO15 {
          regulator-name = "ldo15";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <3000000>;
          regulator-always-on;
        };

        ldo16: LDO16 {
          regulator-name = "ldo16";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <3000000>;
          regulator-boot-on;
        };

        ldo17: LDO17 {
          regulator-name = "ldo17";
          regulator-min-microvolt = <2500000>;
          regulator-max-microvolt = <3300000>;
        };

        ldo33: LDO33 {
          regulator-name = "ldo33";
          regulator-min-microvolt = <2500000>;
          regulator-max-microvolt = <3300000>;
          regulator-boot-on;
        };

        ldo34: LDO34 {
          regulator-name = "ldo34";
          regulator-min-microvolt = <2600000>;
          regulator-max-microvolt = <3300000>;
        };
      };
    };