On Wed, Oct 05, 2022 at 08:43:39PM +0300, Yassine Oudjana wrote: > From: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx> > > 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 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@xxxxxxxxxxxxxx> > --- > .../pinctrl/mediatek,mt6779-pinctrl.yaml | 90 +++++-- > .../pinctrl/mediatek,pinctrl-mt6795.yaml | 225 ------------------ > 2 files changed, 73 insertions(+), 242 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..64d4b6a3b5bd 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@xxxxxxxxxxxx> > + - AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> > - Sean Wang <sean.wang@xxxxxxxxxx> > > description: > @@ -18,6 +19,7 @@ properties: > compatible: > enum: > - mediatek,mt6779-pinctrl > + - mediatek,mt6795-pinctrl > - mediatek,mt6797-pinctrl > > reg: > @@ -43,9 +45,8 @@ properties: > interrupt-controller: true > > interrupts: > - maxItems: 1 minItems: 1 maxItems: 2 > description: | > - Specifies the summary IRQ. > + The interrupt output to sysirq. > > "#interrupt-cells": > const: 2 > @@ -81,6 +82,28 @@ allOf: > - const: iocfg_lt > - const: iocfg_tl > - const: eint > + > + interrupts: > + maxItems: 1 > + > + - if: > + properties: > + compatible: > + contains: > + const: mediatek,mt6795-pinctrl > + then: > + properties: > + reg: > + minItems: 2 > + > + reg-names: > + items: > + - const: base > + - const: eint > + > + interrupts: > + minItems: 2 > + maxItems: 2 Just 'minItems: 2' > - if: > properties: > compatible: > @@ -111,32 +134,65 @@ allOf: > - "#interrupt-cells" > > patternProperties: > - '-[0-9]*$': > + '-pins$': > type: object > additionalProperties: false > > patternProperties: > - '-pins*$': > + '^pins': Seems like these 2 changes would break a bunch of cases. > 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. > + An example of using macro: > + pincontroller { > + /* GPIO0 set as multifunction GPIO0 */ > + gpio-pins { > + pins { > + pinmux = <PINMUX_GPIO0__FUNC_GPIO0>; > + } > + }; > + /* GPIO45 set as multifunction SDA0 */ > + i2c0-pins { > + pins { > + pinmux = <PINMUX_GPIO45__FUNC_SDA0>; > + } > + }; > + }; Just put this in the actual example. > + $ref: "pinmux-node.yaml" > > 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] > + 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] > + 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 +207,7 @@ patternProperties: > input-schmitt-disable: true > > drive-strength: > - enum: [2, 4, 8, 12, 16] > + enum: [2, 4, 6, 8, 10, 12, 14, 16] > > slew-rate: > enum: [0, 1] > @@ -218,8 +274,8 @@ examples: > #interrupt-cells = <2>; > interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>; > > - mmc0_pins_default: mmc0-0 { > - cmd-dat-pins { > + 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,11 +288,11 @@ 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>; > };