lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <865e878e79a4e5c3a7619bedd81cc8bdb00a4914.camel@linaro.org>
Date: Mon, 24 Feb 2025 16:05:29 +0000
From: André Draszik <andre.draszik@...aro.org>
To: Rob Herring <robh@...nel.org>
Cc: Lee Jones <lee@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, 
 Conor Dooley <conor+dt@...nel.org>, Linus Walleij
 <linus.walleij@...aro.org>, Bartosz Golaszewski	 <brgl@...ev.pl>, Srinivas
 Kandagatla <srinivas.kandagatla@...aro.org>, Kees Cook <kees@...nel.org>,
 "Gustavo A. R. Silva" <gustavoars@...nel.org>, Peter Griffin	
 <peter.griffin@...aro.org>, Tudor Ambarus <tudor.ambarus@...aro.org>, Will
 McVicker <willmcvicker@...gle.com>, kernel-team@...roid.com,
 linux-kernel@...r.kernel.org, 	devicetree@...r.kernel.org,
 linux-gpio@...r.kernel.org, 	linux-hardening@...r.kernel.org
Subject: Re: [PATCH 1/6] dt-bindings: mfd: add max77759 binding

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@...aro.org>
> > ---
> >  .../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@...aro.org>
> > +
> > +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@...aro.org>
> > +L:	linux-kernel@...r.kernel.org
> > +S:	Maintained
> > +F:	Documentation/devicetree/bindings/*/maxim,max77759*.yaml
> > +
> >  MAXIM MAX77802 PMIC REGULATOR DEVICE DRIVER
> >  M:	Javier Martinez Canillas <javier@...hile0.org>
> >  L:	linux-kernel@...r.kernel.org
> > 
> > -- 
> > 2.48.1.658.g4767266eb4-goog
> > 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ