Hi Rob, Thanks for the review! On Mon, 2025-02-24 at 09:37 -0600, Rob Herring wrote: > On Mon, Feb 24, 2025 at 10:28:49AM +0000, André Draszik wrote: > > Add device tree binding for the Maxim MAX77759 companion PMIC for USB > > Type-C applications. > > > > The MAX77759 includes Battery Charger, Fuel Gauge, temperature sensors, > > USB Type-C Port Controller (TCPC), NVMEM, and a GPIO expander. > > > > This describes the core mfd device. > > > > Signed-off-by: André Draszik <andre.draszik@xxxxxxxxxx> > > --- > > .../devicetree/bindings/mfd/maxim,max77759.yaml | 104 +++++++++++++++++++++ > > MAINTAINERS | 6 ++ > > 2 files changed, 110 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77759.yaml b/Documentation/devicetree/bindings/mfd/maxim,max77759.yaml > > new file mode 100644 > > index 000000000000..1efb841289fb > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mfd/maxim,max77759.yaml > > @@ -0,0 +1,104 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/mfd/maxim,max77759.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Maxim Integrated MAX77759 PMIC for USB Type-C applications > > + > > +maintainers: > > + - André Draszik <andre.draszik@xxxxxxxxxx> > > + > > +description: | > > + This is a part of device tree bindings for the MAX77759 companion Power > > + Management IC for USB Type-C applications. > > + > > + The MAX77759 includes Battery Charger, Fuel Gauge, temperature sensors, USB > > + Type-C Port Controller (TCPC), NVMEM, and a GPIO expander. > > + > > +properties: > > + compatible: > > + const: maxim,max77759 > > + > > + interrupts: > > + maxItems: 1 > > + > > + interrupt-controller: true > > + > > + "#interrupt-cells": > > + const: 2 > > + > > + gpio-controller: true > > + > > + "#gpio-cells": > > + const: 2 > > + > > + gpio: > > + $ref: /schemas/gpio/maxim,max77759-gpio.yaml > > + > > + reg: > > + maxItems: 1 > > + > > + pmic-nvmem: > > Just 'nvmem' TBH, I'd prefer that as well, and I had just 'nvmem' initially, but that doesn't work: .../maxim,max77759.example.dtb: pmic@66: nvmem: {'compatible': ['maxim,max77759-nvmem'], 'nvmem-layout': {'compatible': ['fixed- layout'], '#address-cells': 1, '#size-cells': 1, 'reboot-mode@0': {'reg': [[0, 4]]}, 'boot-reason@4': {'reg': [[4, 4]]}, 'shutdown-user-flag@8': {'reg': [[8, 1]]}, 'rsoc@10': {'reg': [[10, 2]]}}} is not of type 'array' from schema $id: http://devicetree.org/schemas/nvmem/nvmem-consumer.yaml# I don't know if this can be made to work, i.e. can you have both in yaml? Can a type be declared as a oneOf or something like that? > > > + $ref: /schemas/nvmem/maxim,max77759-nvmem.yaml > > + > > +required: > > + - compatible > > + - interrupts > > + - reg > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/interrupt-controller/irq.h> > > + > > + i2c { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + pmic@66 { > > + compatible = "maxim,max77759"; > > + reg = <0x66>; > > + interrupts-extended = <&gpa8 3 IRQ_TYPE_LEVEL_LOW>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + > > + gpio { > > + compatible = "maxim,max77759-gpio"; > > + > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + pmic-nvmem { > > nvmem { dito Cheers, Andre' > > + compatible = "maxim,max77759-nvmem"; > > + > > + nvmem-layout { > > + compatible = "fixed-layout"; > > + #address-cells = <1>; > > + #size-cells = <1>; > > + > > + reboot-mode@0 { > > + reg = <0x0 0x4>; > > + }; > > + > > + boot-reason@4 { > > + reg = <0x4 0x4>; > > + }; > > + > > + shutdown-user-flag@8 { > > + reg = <0x8 0x1>; > > + }; > > + > > + rsoc@10 { > > + reg = <0xa 0x2>; > > + }; > > + }; > > + }; > > + }; > > + }; > > diff --git a/MAINTAINERS b/MAINTAINERS > > index f076360ce3c6..f2c19a1b4c05 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -14322,6 +14322,12 @@ F: Documentation/devicetree/bindings/mfd/maxim,max77714.yaml > > F: drivers/mfd/max77714.c > > F: include/linux/mfd/max77714.h > > > > +MAXIM MAX77759 PMIC MFD DRIVER > > +M: André Draszik <andre.draszik@xxxxxxxxxx> > > +L: linux-kernel@xxxxxxxxxxxxxxx > > +S: Maintained > > +F: Documentation/devicetree/bindings/*/maxim,max77759*.yaml > > + > > MAXIM MAX77802 PMIC REGULATOR DEVICE DRIVER > > M: Javier Martinez Canillas <javier@xxxxxxxxxxxx> > > L: linux-kernel@xxxxxxxxxxxxxxx > > > > -- > > 2.48.1.658.g4767266eb4-goog > >