-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Mauro Carvalho Chehab
authored and
Greg Kroah-Hartman
committed
Aug 18, 2020
1 parent
9f46c34
commit 9e59172
Showing
2 changed files
with
221 additions
and
0 deletions.
There are no files selected for viewing
159 changes: 159 additions & 0 deletions
159
drivers/staging/hikey9xx/hisilicon,hi6421-spmi-pmic.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 changes: 62 additions & 0 deletions
62
drivers/staging/hikey9xx/hisilicon,hisi-spmi-controller.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 */ | ||
}; | ||
}; | ||
}; |