Message ID | 20230827203612.173562-1-tmaimon77@gmail.com |
---|---|
Headers | show |
Series | pinctrl: nuvoton: add pinmux and GPIO driver for NPCM8XX | expand |
On 27/08/2023 22:36, Tomer Maimon wrote: > Added device tree binding documentation for Nuvoton Arbel BMC NPCM8XX > pinmux and GPIO controller. > > Signed-off-by: Tomer Maimon <tmaimon77@gmail.com> > Reviewed-by: Rob Herring <robh@kernel.org> > --- > + '^pin': > + $ref: pincfg-node.yaml# > + > + properties: > + pins: > + description: > + A list of pins to configure in certain ways, such as enabling > + debouncing What pin names are allowed? > + > + bias-disable: true > + > + bias-pull-up: true > + > + bias-pull-down: true > + > + input-enable: true > + > + output-low: true > + > + output-high: true > + > + drive-push-pull: true > + > + drive-open-drain: true > + > + input-debounce: > + description: > + Debouncing periods in microseconds, one period per interrupt > + bank found in the controller > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 1 > + maxItems: 4 > + > + slew-rate: > + description: | > + 0: Low rate > + 1: High rate > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1] > + > + drive-strength: > + enum: [ 0, 1, 2, 4, 8, 12 ] > + > + additionalProperties: false > + > +allOf: > + - $ref: pinctrl.yaml# > + > +required: > + - compatible > + - ranges > + - '#address-cells' > + - '#size-cells' > + - nuvoton,sysgcr > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/gpio/gpio.h> > + > + soc { > + #address-cells = <2>; > + #size-cells = <2>; > + > + pinctrl: pinctrl@f0800260 { Nothing improved here. Test your DTS. This is being reported - I checked. > + compatible = "nuvoton,npcm845-pinctrl"; > + ranges = <0x0 0x0 0xf0010000 0x8000>; > + #address-cells = <1>; > + #size-cells = <1>; > + nuvoton,sysgcr = <&gcr>; > + > + gpio0: gpio@0 { > + gpio-controller; > + #gpio-cells = <2>; > + reg = <0x0 0xB0>; Keep lowercase hex. Best regards, Krzysztof
On 28/08/2023 12:26, Tomer Maimon wrote: > Hi Krzysztof, > > Thanks for your comments > > On Mon, 28 Aug 2023 at 10:10, Krzysztof Kozlowski > <krzysztof.kozlowski@linaro.org> wrote: >> >> On 27/08/2023 22:36, Tomer Maimon wrote: >>> Added device tree binding documentation for Nuvoton Arbel BMC NPCM8XX >>> pinmux and GPIO controller. >>> >>> Signed-off-by: Tomer Maimon <tmaimon77@gmail.com> >>> Reviewed-by: Rob Herring <robh@kernel.org> >>> --- >> >> >>> + '^pin': >>> + $ref: pincfg-node.yaml# >>> + >>> + properties: >>> + pins: >>> + description: >>> + A list of pins to configure in certain ways, such as enabling >>> + debouncing >> >> What pin names are allowed? > Do you mean to describe all the allowed pin items? > for example: > items: > pattern: > 'GPIO0/IOX1_DI/SMB6C_SDA/SMB18_SDA|GPIO1/IOX1_LD/SMB6C_SCL/SMB18_SCL' > or > items: > pattern: '^GPIO([0-9]|[0-9][0-9]|[1-2][0-4][0-9]|25[0-6])$' > > is good enough? Something like this. Whichever is correct. >> >>> + >>> + bias-disable: true >>> + >>> +additionalProperties: false >>> + >>> +examples: >>> + - | >>> + #include <dt-bindings/interrupt-controller/arm-gic.h> >>> + #include <dt-bindings/gpio/gpio.h> >>> + >>> + soc { >>> + #address-cells = <2>; >>> + #size-cells = <2>; >>> + >>> + pinctrl: pinctrl@f0800260 { >> >> Nothing improved here. Test your DTS. This is being reported - I checked. > what do you suggest since the pinctrl doesn't have a reg parameter, > maybe pinctrl: pinctrl@0? It has ranges, so yes @0 looks correct here. Which leds to second question - how pinctrl could have @0? It's already taken by SoC! So your DTS here - unit address and ranges - are clearly wrong. > BTW, I have run both dt_binding_check and W=1 dtbs_check, and didn't > see an issue related to the pinctrl: pinctrl@f0800260, do I need to > add another flag to see the issue? Did you read my message last time? I said - it's about DTS, not the binding. Best regards, Krzysztof
Hi Krzysztof, Thanks for your clarifications On Mon, 28 Aug 2023 at 13:39, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 28/08/2023 12:36, Krzysztof Kozlowski wrote: > > On 28/08/2023 12:26, Tomer Maimon wrote: > >> Hi Krzysztof, > >> > >> Thanks for your comments > >> > >> On Mon, 28 Aug 2023 at 10:10, Krzysztof Kozlowski > >> <krzysztof.kozlowski@linaro.org> wrote: > >>> > >>> On 27/08/2023 22:36, Tomer Maimon wrote: > >>>> Added device tree binding documentation for Nuvoton Arbel BMC NPCM8XX > >>>> pinmux and GPIO controller. > >>>> > >>>> Signed-off-by: Tomer Maimon <tmaimon77@gmail.com> > >>>> Reviewed-by: Rob Herring <robh@kernel.org> > >>>> --- > >>> > >>> > >>>> + '^pin': > >>>> + $ref: pincfg-node.yaml# > >>>> + > >>>> + properties: > >>>> + pins: > >>>> + description: > >>>> + A list of pins to configure in certain ways, such as enabling > >>>> + debouncing > >>> > >>> What pin names are allowed? > >> Do you mean to describe all the allowed pin items? > >> for example: > >> items: > >> pattern: > >> 'GPIO0/IOX1_DI/SMB6C_SDA/SMB18_SDA|GPIO1/IOX1_LD/SMB6C_SCL/SMB18_SCL' > >> or > >> items: > >> pattern: '^GPIO([0-9]|[0-9][0-9]|[1-2][0-4][0-9]|25[0-6])$' > >> > >> is good enough? > > > > Something like this. Whichever is correct. > > > >>> > >>>> + > >>>> + bias-disable: true > >>>> + > > > >>>> +additionalProperties: false > >>>> + > >>>> +examples: > >>>> + - | > >>>> + #include <dt-bindings/interrupt-controller/arm-gic.h> > >>>> + #include <dt-bindings/gpio/gpio.h> > >>>> + > >>>> + soc { > >>>> + #address-cells = <2>; > >>>> + #size-cells = <2>; > >>>> + > >>>> + pinctrl: pinctrl@f0800260 { > >>> > >>> Nothing improved here. Test your DTS. This is being reported - I checked. > >> what do you suggest since the pinctrl doesn't have a reg parameter, > >> maybe pinctrl: pinctrl@0? > > > > It has ranges, so yes @0 looks correct here. > > Wait, your address according to ranges is 0xf0010000, not 0x0, not > 0xf0800260... I will modify it to pinctrl: pinctrl@f0010000 > > > > Which leds to second > > question - how pinctrl could have @0? It's already taken by SoC! So your > > DTS here - unit address and ranges - are clearly wrong. > > > > > >> BTW, I have run both dt_binding_check and W=1 dtbs_check, and didn't > >> see an issue related to the pinctrl: pinctrl@f0800260, do I need to > >> add another flag to see the issue? > > > > Did you read my message last time? I said - it's about DTS, not the binding. yes, understood doesn't the dtbs_check check the DTS? > > Best regards, > Krzysztof > Best regards, Tomer