Messages in this thread | | | Date | Mon, 10 Oct 2022 07:24:59 -0400 | Subject | Re: [PATCH v3 06/10] dt-bindings: pinctrl: mediatek,mt6779-pinctrl: Add MT6795 | From | Krzysztof Kozlowski <> |
| |
On 07/10/2022 08:59, Yassine Oudjana wrote: > From: Yassine Oudjana <y.oudjana@protonmail.com> > > Combine MT6795 pin controller document into MT6779 one. In the > process, replace the current interrupts property description with > the one from the MT6795 document since it makes more sense. Also > amend property descriptions and examples with more detailed > information that was available in the MT6795 document, and replace > the current pinmux node name patterns with ones from it since they > are more common across mediatek pin controller bindings. > > Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com> > --- > .../pinctrl/mediatek,mt6779-pinctrl.yaml | 94 ++++++-- > .../pinctrl/mediatek,pinctrl-mt6795.yaml | 227 ------------------ > 2 files changed, 77 insertions(+), 244 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/pinctrl/mediatek,pinctrl-mt6795.yaml > > diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml > index a2141eb0854e..cada3530dd0a 100644 > --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml > @@ -8,6 +8,7 @@ title: Mediatek MT6779 Pin Controller > > maintainers: > - Andy Teng <andy.teng@mediatek.com> > + - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > - Sean Wang <sean.wang@kernel.org> > > description: > @@ -18,6 +19,7 @@ properties: > compatible: > enum: > - mediatek,mt6779-pinctrl > + - mediatek,mt6795-pinctrl > - mediatek,mt6797-pinctrl > > reg: > @@ -43,9 +45,10 @@ properties: > interrupt-controller: true > > interrupts: > - maxItems: 1 > + minItems: 1 > + maxItems: 2 > description: | > - Specifies the summary IRQ. > + The interrupt outputs to sysirq.
I am not sure if description is relevant now for all variants... what is the sysirq? You have two interrupts so both go to one sysirq?
> > "#interrupt-cells": > const: 2 > @@ -81,6 +84,30 @@ allOf: > - const: iocfg_lt > - const: iocfg_tl > - const: eint > + > + interrupts: > + items: > + - description: EINT interrupt > + > + - if: > + properties: > + compatible: > + contains: > + const: mediatek,mt6795-pinctrl > + then: > + properties: > + reg: > + minItems: 2
What's the maxItems? You declared reg and reg-names in top-level properties as accepting anything, therefore you cannot have loose constraints here.
> + > + reg-names: > + items: > + - const: base > + - const: eint > + > + interrupts: > + items: > + - description: EINT interrupt > + - description: EINT event_b interrupt
Blank line
> - if: > properties: > compatible: > @@ -111,32 +138,50 @@ allOf: > - "#interrupt-cells" > > patternProperties: > - '-[0-9]*$': > + '-pins$': > type: object > additionalProperties: false > > patternProperties: > - '-pins*$': > + '^pins': > type: object > description: | > A pinctrl node should contain at least one subnodes representing the > pinctrl groups available on the machine. Each subnode will list the > pins it needs, and how they should be configured, with regard to muxer > - configuration, pullups, drive strength, input enable/disable and input schmitt. > - $ref: "/schemas/pinctrl/pincfg-node.yaml" > + configuration, pullups, drive strength, input enable/disable and > + input schmitt. > + $ref: "pinmux-node.yaml"
Drop quotes
Why this one is not pincfg-node anymore? All your properties are not valid then? You mix here so many changes it is a bit difficult to understand the concept.
> > properties: > pinmux: > description: > - integer array, represents gpio pin number and mux setting. > - Supported pin number and mux varies for different SoCs, and are defined > - as macros in boot/dts/<soc>-pinfunc.h directly. > + Integer array, represents gpio pin number and mux setting. > + Supported pin number and mux varies for different SoCs, and are > + defined as macros in dt-bindings/pinctrl/<soc>-pinfunc.h > + directly. > > bias-disable: true > > - bias-pull-up: true > - > - bias-pull-down: true > + bias-pull-up: > + oneOf: > + - type: boolean > + - enum: [100, 101, 102, 103]
Missing ref
> + description: Pull up PUPD/R0/R1 type define value. > + description: | > + For normal pull up type, it is not necessary to specify R1R0 > + values; When pull up type is PUPD/R0/R1, adding R1R0 defines > + will set different resistance values. > + > + bias-pull-down: > + oneOf: > + - type: boolean > + - enum: [100, 101, 102, 103]
Missing ref
> + description: Pull down PUPD/R0/R1 type define value. > + description: | > + For normal pull down type, it is not necessary to specify R1R0 > + values; When pull down type is PUPD/R0/R1, adding R1R0 defines > + will set different resistance values. > > input-enable: true > > @@ -151,7 +196,7 @@ patternProperties: > input-schmitt-disable: true > > drive-strength: > - enum: [2, 4, 8, 12, 16] > + enum: [2, 4, 6, 8, 10, 12, 14, 16]
Now you are missing ref - you do not have a type now, because you removed pincfg-node. Split the merging of different pinctrl bindings and reorganization.
The drive strengths are also not valid for the other variant...
> > slew-rate: > enum: [0, 1] > @@ -218,8 +263,9 @@ examples: > #interrupt-cells = <2>; > interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>; > > - mmc0_pins_default: mmc0-0 { > - cmd-dat-pins { > + /* GPIOs 167-174, 176-178 set as multifunction MSDC0 */ > + mmc0_pins_default: mmc0-pins { > + pins-cmd-dat { > pinmux = <PINMUX_GPIO168__FUNC_MSDC0_DAT0>, > <PINMUX_GPIO172__FUNC_MSDC0_DAT1>, > <PINMUX_GPIO169__FUNC_MSDC0_DAT2>, > @@ -232,15 +278,29 @@ examples: > input-enable; > mediatek,pull-up-adv = <1>; > }; > - clk-pins { > + pins-clk { > pinmux = <PINMUX_GPIO176__FUNC_MSDC0_CLK>; > mediatek,pull-down-adv = <2>; > }; > - rst-pins { > + pins-rst { > pinmux = <PINMUX_GPIO178__FUNC_MSDC0_RSTB>; > mediatek,pull-up-adv = <0>; > };
Best regards, Krzysztof
| |