Documentation / devicetree / bindings / mfd / hisilicon,hi6421-spmi-pmic.yaml


Based on kernel version 6.10. Page generated on 2024-07-16 09:00 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
# 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
  Documentation/devicetree/bindings/spmi/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: true

  interrupts:
    maxItems: 1

  regulators:
    type: object

    additionalProperties: false

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

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

        unevaluatedProperties: false

required:
  - compatible
  - reg
  - regulators

additionalProperties: false

examples:
  - |
    #include <dt-bindings/spmi/spmi.h>
 
    spmi {
        #address-cells = <2>;
        #size-cells = <0>;
 
        pmic@0 {
            compatible = "hisilicon,hi6421v600-spmi";
            reg = <0 SPMI_USID>;
 
            #interrupt-cells = <2>;
            interrupt-controller;
            interrupt-parent = <&gpio28>;
            interrupts = <0 0>;
 
            regulators {
                ldo3 {
                    regulator-name = "ldo3";
                    regulator-min-microvolt = <1500000>;
                    regulator-max-microvolt = <2000000>;
                    regulator-boot-on;
                };
 
                ldo4 {
                    regulator-name = "ldo4";
                    regulator-min-microvolt = <1725000>;
                    regulator-max-microvolt = <1900000>;
                    regulator-boot-on;
                };
 
                ldo9 {
                    regulator-name = "ldo9";
                    regulator-min-microvolt = <1750000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-boot-on;
                };
 
                ldo15 {
                    regulator-name = "ldo15";
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <3000000>;
                    regulator-always-on;
                };
 
                ldo16 {
                    regulator-name = "ldo16";
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <3000000>;
                    regulator-boot-on;
                };
 
                ldo17 {
                    regulator-name = "ldo17";
                    regulator-min-microvolt = <2500000>;
                    regulator-max-microvolt = <3300000>;
                };
 
                ldo33 {
                    regulator-name = "ldo33";
                    regulator-min-microvolt = <2500000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-boot-on;
                };
 
                ldo34 {
                    regulator-name = "ldo34";
                    regulator-min-microvolt = <2600000>;
                    regulator-max-microvolt = <3300000>;
                };
            };
        };
    };