# 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#"
|
|
properties:
|
reg:
|
description: Enable register.
|
|
'#address-cells':
|
const: 1
|
|
'#size-cells':
|
const: 0
|
|
vsel-reg:
|
description: Voltage selector register.
|
|
enable-mask:
|
description: Bitmask used to enable the regulator.
|
|
voltage-table:
|
description: Table with the selector items for the voltage regulator.
|
minItems: 2
|
maxItems: 16
|
|
off-on-delay-us:
|
description: Time required for changing state to enabled in microseconds.
|
|
startup-delay-us:
|
description: Startup time in microseconds.
|
|
idle-mode-mask:
|
description: Bitmask used to put the regulator on idle mode.
|
|
eco-microamp:
|
description: Maximum current while on idle mode.
|
|
required:
|
- reg
|
- vsel-reg
|
- enable-mask
|
- voltage-table
|
- off-on-delay-us
|
- startup-delay-us
|
|
required:
|
- compatible
|
- reg
|
- regulators
|
|
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@16 {
|
reg = <0x16>;
|
vsel-reg = <0x51>;
|
|
regulator-name = "ldo3";
|
regulator-min-microvolt = <1500000>;
|
regulator-max-microvolt = <2000000>;
|
regulator-boot-on;
|
|
enable-mask = <0x01>;
|
|
voltage-table = <1500000>, <1550000>, <1600000>, <1650000>,
|
<1700000>, <1725000>, <1750000>, <1775000>,
|
<1800000>, <1825000>, <1850000>, <1875000>,
|
<1900000>, <1925000>, <1950000>, <2000000>;
|
off-on-delay-us = <20000>;
|
startup-delay-us = <120>;
|
};
|
|
ldo4: ldo4@17 { /* 40 PIN */
|
reg = <0x17>;
|
vsel-reg = <0x52>;
|
|
regulator-name = "ldo4";
|
regulator-min-microvolt = <1725000>;
|
regulator-max-microvolt = <1900000>;
|
regulator-boot-on;
|
|
enable-mask = <0x01>;
|
idle-mode-mask = <0x10>;
|
eco-microamp = <10000>;
|
|
hi6421-vsel = <0x52 0x07>;
|
voltage-table = <1725000>, <1750000>, <1775000>, <1800000>,
|
<1825000>, <1850000>, <1875000>, <1900000>;
|
off-on-delay-us = <20000>;
|
startup-delay-us = <120>;
|
};
|
};
|
};
|