Message ID | 20221021012728.22373-2-zhuyinbo@loongson.cn |
---|---|
State | New |
Headers | show |
Series | [v1,1/2] pinctrl: pinctrl-loongson2: add pinctrl driver support | expand |
On 20/10/2022 21:27, Yinbo Zhu wrote: > Add the loongson2 pinctrl binding with DT schema format using > json-schema. > > Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> > --- > .../pinctrl/loongson,ls2k-pinctrl.yaml | 118 ++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 119 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pinctrl/loongson,ls2k-pinctrl.yaml > > diff --git a/Documentation/devicetree/bindings/pinctrl/loongson,ls2k-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/loongson,ls2k-pinctrl.yaml > new file mode 100644 > index 000000000000..038d38ad1785 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/loongson,ls2k-pinctrl.yaml > @@ -0,0 +1,118 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/loongson,ls2k-pinctrl.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Loongson2 SoC Pinctrl Controller > + > +maintainers: > + - zhanghongchen <zhanghongchen@loongson.cn> > + - Yinbo Zhu <zhuyinbo@loongson.cn> > + Missing $ref to pinctrl.yaml > +properties: > + compatible: > + const: loongson,ls2k-pinctrl > + > + reg: > + maxItems: 1 > + > +required: > + - compatible > + - reg Put required after patternProperties. > + > +patternProperties: > + '-pins$': > + type: object additionalProperties: false and blank line > + patternProperties: > + 'pinmux$': > + type: object > + description: node for pinctrl. > + $ref: pinmux-node.yaml# unevaluatedProperties: false But actually you have here totally broken indentation and this simply does not work. I doubt you really tested it. > + > + properties: > + groups: > + description: > + One or more groups of pins to mux to a certain function > + items: > + enum: [gpio, sdio, can1, can0, pwm3, pwm2, pwm1, pwm0, i2c1, i2c0, > + nand, sata_led, lio, i2s, hda, uart2, uart1, camera, dv01, > + dvo0] > + function: > + description: > + The function that a group of pins is muxed to > + items: > + enum: [gpio, sdio, can1, can0, pwm3, pwm2, pwm1, pwm0, i2c1, i2c0, > + nand, sata_led, lio, i2s, hda, uart2, uart1, camera, dv01, > + dvo0] > + > + dependencies: > + groups: [function] > + function: [groups] > + > +additionalProperties: false > + > +examples: > + - | > + pctrl: pinctrl@1fe00420 { > + compatible = "loongson,ls2k-pinctrl"; > + reg = <0x1fe00420 0x18>; Use 4 spaces for example indentation. > + sdio_pins_default: sdio-pins { > + sdio-pinmux { > + groups ="sdio"; > + function ="sdio"; > + }; > + > + sdio-det-pinmux { > + groups ="pwm2"; > + function ="gpio"; > + }; Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/pinctrl/loongson,ls2k-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/loongson,ls2k-pinctrl.yaml new file mode 100644 index 000000000000..038d38ad1785 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/loongson,ls2k-pinctrl.yaml @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/loongson,ls2k-pinctrl.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Loongson2 SoC Pinctrl Controller + +maintainers: + - zhanghongchen <zhanghongchen@loongson.cn> + - Yinbo Zhu <zhuyinbo@loongson.cn> + +properties: + compatible: + const: loongson,ls2k-pinctrl + + reg: + maxItems: 1 + +required: + - compatible + - reg + +patternProperties: + '-pins$': + type: object + patternProperties: + 'pinmux$': + type: object + description: node for pinctrl. + $ref: pinmux-node.yaml# + + properties: + groups: + description: + One or more groups of pins to mux to a certain function + items: + enum: [gpio, sdio, can1, can0, pwm3, pwm2, pwm1, pwm0, i2c1, i2c0, + nand, sata_led, lio, i2s, hda, uart2, uart1, camera, dv01, + dvo0] + function: + description: + The function that a group of pins is muxed to + items: + enum: [gpio, sdio, can1, can0, pwm3, pwm2, pwm1, pwm0, i2c1, i2c0, + nand, sata_led, lio, i2s, hda, uart2, uart1, camera, dv01, + dvo0] + + dependencies: + groups: [function] + function: [groups] + +additionalProperties: false + +examples: + - | + pctrl: pinctrl@1fe00420 { + compatible = "loongson,ls2k-pinctrl"; + reg = <0x1fe00420 0x18>; + sdio_pins_default: sdio-pins { + sdio-pinmux { + groups ="sdio"; + function ="sdio"; + }; + + sdio-det-pinmux { + groups ="pwm2"; + function ="gpio"; + }; + }; + + pwm1_pins_default: pwm1-pins { + pinmux { + groups ="pwm1"; + function ="pwm1"; + }; + }; + + pwm0_pins_default: pwm0-pins { + pinmux { + groups ="pwm0"; + function ="pwm0"; + }; + }; + + i2c1_pins_default: i2c1-pins { + pinmux { + groups ="i2c1"; + function ="i2c1"; + }; + }; + + i2c0_pins_default: i2c0-pins { + pinmux { + groups ="i2c0"; + function ="i2c0"; + }; + }; + + nand_pins_default: nand-pins { + pinmux { + groups ="nand"; + function ="nand"; + }; + }; + + hda_pins_default: hda-pins { + grp0-pinmux { + groups ="hda"; + function ="hda"; + }; + + grp1-pinmux { + groups ="i2s"; + function ="gpio"; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index c9883f145acb..2d002509fc65 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11927,6 +11927,7 @@ M: zhanghongchen <zhanghongchen@loongson.cn> M: Yinbo Zhu <zhuyinbo@loongson.cn> L: linux-gpio@vger.kernel.org S: Maintained +F: Documentation/devicetree/bindings/pinctrl/loongson,ls2k-pinctrl.yaml F: drivers/pinctrl/pinctrl-loongson2.c LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
Add the loongson2 pinctrl binding with DT schema format using json-schema. Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> --- .../pinctrl/loongson,ls2k-pinctrl.yaml | 118 ++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 119 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/loongson,ls2k-pinctrl.yaml