Commit 9e591728 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Greg Kroah-Hartman

dt: document HiSilicon SPMI controller and mfd/regulator properties

Add documentation for the properties needed by the HiSilicon
6421v600 driver, and by the SPMI controller used to access
the chipset.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/56c40a260bf31edf7049f50586c63ee0d06e02cb.1597762400.git.mchehab+huawei@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9f46c343
# 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:
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>;
};
};
};
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/spmi/hisilicon,hisi-spmi-controller.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: HiSilicon SPMI controller
maintainers:
- Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
description: |
The HiSilicon SPMI BUS controller is found on some Kirin-based designs.
It is a MIPI System Power Management (SPMI) controller.
The PMIC part is provided by
Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml.
properties:
$nodename:
pattern: "spmi@[0-9a-f]"
compatible:
const: hisilicon,kirin970-spmi-controller
reg:
maxItems: 1
spmi-channel:
description: |
number of the Kirin 970 SPMI channel where the SPMI devices are connected.
required:
- compatible
- reg
- spmi-channel
patternProperties:
"^pmic@[0-9a-f]$":
description: |
PMIC properties, which are specific to the used SPMI PMIC device(s).
When used in combination with HiSilicon 6421v600, the properties
are documented at
Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml.
examples:
- |
bus {
#address-cells = <2>;
#size-cells = <2>;
spmi: spmi@fff24000 {
compatible = "hisilicon,kirin970-spmi-controller";
status = "ok";
reg = <0x0 0xfff24000 0x0 0x1000>;
spmi-channel = <2>;
pmic@0 {
/* pmic properties */
};
};
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment