On Fri, Jul 23, 2021 at 09:40:06AM +0200, Mauro Carvalho Chehab wrote: > This driver is ready for mainstream. So, move it out of staging. > > Acked-for-MFD-by: Lee Jones <lee.jones@xxxxxxxxxx> > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> > --- > .../mfd/hisilicon,hi6421-spmi-pmic.yaml | 136 ++++++++++++++++++ > MAINTAINERS | 7 + > drivers/mfd/Kconfig | 16 +++ > drivers/mfd/Makefile | 1 + > drivers/mfd/hi6421-spmi-pmic.c | 72 ++++++++++ > drivers/staging/Kconfig | 2 - > drivers/staging/Makefile | 1 - > drivers/staging/hikey9xx/Kconfig | 19 --- > drivers/staging/hikey9xx/Makefile | 3 - > drivers/staging/hikey9xx/TODO | 5 - > drivers/staging/hikey9xx/hi6421-spmi-pmic.c | 72 ---------- > .../hikey9xx/hisilicon,hi6421-spmi-pmic.yaml | 136 ------------------ > 12 files changed, 232 insertions(+), 238 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml > create mode 100644 drivers/mfd/hi6421-spmi-pmic.c > delete mode 100644 drivers/staging/hikey9xx/Kconfig > delete mode 100644 drivers/staging/hikey9xx/Makefile > delete mode 100644 drivers/staging/hikey9xx/TODO > delete mode 100644 drivers/staging/hikey9xx/hi6421-spmi-pmic.c > delete mode 100644 drivers/staging/hikey9xx/hisilicon,hi6421-spmi-pmic.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml b/Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml > new file mode 100644 > index 000000000000..cedf9d99a34b > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml > @@ -0,0 +1,136 @@ > +# 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@xxxxxxxxxx> > + > +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/mfd/hisilicon,hi6421-spmi-pmic.yaml > + > +properties: > + $nodename: > + pattern: "pmic@[0-9a-f]" > + > + compatible: > + const: hisilicon,hi6421v600-spmi > + > + reg: > + maxItems: 1 > + > + '#interrupt-cells': > + const: 2 > + > + interrupt-controller: true > + > + interrupts: true Need to define how many: maxItems: 1 > + > + regulators: > + type: object > + > + additionalProperties: false > + > + properties: > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > + patternProperties: > + '^(ldo|LDO)[0-9]+$': Please decide between 'ldo' and 'LDO'. lowercase is preferred generally for node names, but whatever is easier. Labels are a don't care. With those, Reviewed-by: Rob Herring <robh@xxxxxxxxxx> # DT binding > + type: object > + > + $ref: "/schemas/regulator/regulator.yaml#" > + > + unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + - regulators > + > +additionalProperties: false > + > +examples: > + - | > + > + pmic: pmic@0 { > + compatible = "hisilicon,hi6421v600-spmi"; > + reg = <0 0>; > + > + #interrupt-cells = <2>; > + interrupt-controller; > + interrupt-parent = <&gpio28>; > + interrupts = <0 0>; > + > + regulators { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ldo3: LDO3 { > + regulator-name = "ldo3"; > + regulator-min-microvolt = <1500000>; > + regulator-max-microvolt = <2000000>; > + regulator-boot-on; > + }; > + > + ldo4: LDO4 { > + regulator-name = "ldo4"; > + regulator-min-microvolt = <1725000>; > + regulator-max-microvolt = <1900000>; > + regulator-boot-on; > + }; > + > + ldo9: LDO9 { > + regulator-name = "ldo9"; > + regulator-min-microvolt = <1750000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + }; > + > + ldo15: LDO15 { > + regulator-name = "ldo15"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3000000>; > + regulator-always-on; > + }; > + > + ldo16: LDO16 { > + regulator-name = "ldo16"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3000000>; > + regulator-boot-on; > + }; > + > + ldo17: LDO17 { > + regulator-name = "ldo17"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + ldo33: LDO33 { > + regulator-name = "ldo33"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + }; > + > + ldo34: LDO34 { > + regulator-name = "ldo34"; > + regulator-min-microvolt = <2600000>; > + regulator-max-microvolt = <3300000>; > + }; > + }; > + };