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: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Link: https://lore.kernel.org/r/56c40a260bf31edf7049f50586c63ee0d06e02cb.1597762400.git.mchehab+huawei@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9f46c3433f
commit
9e59172885
159
drivers/staging/hikey9xx/hisilicon,hi6421-spmi-pmic.yaml
Normal file
159
drivers/staging/hikey9xx/hisilicon,hi6421-spmi-pmic.yaml
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
# 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>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
62
drivers/staging/hikey9xx/hisilicon,hisi-spmi-controller.yaml
Normal file
62
drivers/staging/hikey9xx/hisilicon,hisi-spmi-controller.yaml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# 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 */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user