Messages in this thread | | | Subject | Re: [PATCH v1 2/2] dt-bindings: gpio: add loongson series gpio | From | Yinbo Zhu <> | Date | Mon, 14 Nov 2022 17:50:22 +0800 |
| |
在 2022/11/8 下午11:28, Krzysztof Kozlowski 写道: > On 08/11/2022 10:21, Yinbo Zhu wrote: >> Add the Loongson series gpio binding with DT schema format using >> json-schema. >> >> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> >> --- >> .../bindings/gpio/loongson,ls-gpio.yaml | 154 ++++++++++++++++++ >> MAINTAINERS | 11 ++ >> 2 files changed, 165 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/gpio/loongson,ls-gpio.yaml >> >> diff --git a/Documentation/devicetree/bindings/gpio/loongson,ls-gpio.yaml b/Documentation/devicetree/bindings/gpio/loongson,ls-gpio.yaml >> new file mode 100644 >> index 000000000000..9d335262ddcc >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/gpio/loongson,ls-gpio.yaml >> @@ -0,0 +1,154 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/gpio/loongson,ls-gpio.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Loongson series GPIO controller. >> + >> +maintainers: >> + - Yinbo Zhu <zhuyinbo@loongson.cn> >> + >> +properties: >> + compatible: >> + enum: >> + - loongson,ls2k-gpio >> + - loongson,ls7a-gpio >> + >> + reg: >> + maxItems: 1 >> + >> + ngpios: true > > minimum? maximum? okay, I got it. > >> + >> + "#gpio-cells": >> + const: 2 >> + >> + gpio-controller: true >> + >> + gpio-ranges: true >> + >> + loongson,conf_offset: > > No underscores in node names. Plus comments from Linus seem to apply > here as well. Drop it entirely or explain why this is not part of > compatible, why this is needed and why encoding programming model > address in DT matches the DT... Add it is to distinguish differnt address in different platform. and I had drop them and initial them in kernel driver that depend on diffent compatible. > > >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + This option indicate this GPIO configuration offset address. >> + >> + loongson,out_offset: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + This option indicate this GPIO output value offset address. > > Drop > >> + >> + loongson,in_offset: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + This option indicate this GPIO input value offset address. > > Drop > > >> + >> + loongson,gpio_base: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + This option indicate the first GPIO number in this node. > > Drop > > >> + >> + loongson,support_irq: >> + $ref: /schemas/types.yaml#/definitions/flag >> + description: >> + This option indicate this GPIO whether support interrupt. > > Drop > >> + >> + interrupts: >> + minItems: 1 >> + maxItems: 64 >> + >> +required: >> + - compatible >> + - reg >> + - ngpios >> + - "#gpio-cells" >> + - gpio-controller >> + - gpio-ranges >> + - interrupts >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/interrupt-controller/irq.h> >> + >> + gpio0: gpio@1fe00500 { >> + compatible = "loongson,ls2k-gpio"; >> + reg = <0x1fe00500 0x38>; >> + ngpios = <64>; >> + #gpio-cells = <2>; >> + gpio-controller; >> + gpio-ranges = <&pctrl 0 0 15>, >> + <&pctrl 16 16 15>, >> + <&pctrl 32 32 10>, >> + <&pctrl 44 44 20>; >> + loongson,conf_offset = <0>; >> + loongson,out_offset = <0x10>; >> + loongson,in_offset = <0x20>; >> + loongson,gpio_base = <0>; >> + loongson,support_irq; >> + interrupt-parent = <&liointc1>; >> + interrupts = <28 IRQ_TYPE_LEVEL_LOW>, >> + <29 IRQ_TYPE_LEVEL_LOW>, >> + <30 IRQ_TYPE_LEVEL_LOW>, >> + <30 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <26 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <>, > > What's this? There was no interrupt function in this gpio. > >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <>, >> + <>, > > What's this? > >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>, >> + <27 IRQ_TYPE_LEVEL_LOW>; >> + }; >> diff --git a/MAINTAINERS b/MAINTAINERS >> index 916b2d9cffc0..878b8320ac3b 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -12048,6 +12048,17 @@ S: Maintained >> F: Documentation/devicetree/bindings/hwinfo/loongson,ls2k-chipid.yaml >> F: drivers/soc/loongson/loongson2_guts.c >> >> +LOONGSON SERIES GPIO DRIVER >> +M: Richard Liu, STMicroelectronics <richard.liu@st.com> >> +M: Arnaud Patard <apatard@mandriva.com> >> +M: Hongbing Hu <huhb@lemote.com> >> +M: Huacai Chen <chenhuacai@kernel.org> >> +M: Yinbo Zhu <zhuyinbo@loongson.cn> > > Are they all maintainers of this driver? add huacai and myself as maintainer. > >> +L: linux-gpio@vger.kernel.org >> +S: Maintained >> +F: Documentation/devicetree/bindings/gpio/loongson,ls-gpio.yaml >> +F: drivers/gpio/gpio-loongson.c >> + >> LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) >> M: Sathya Prakash <sathya.prakash@broadcom.com> >> M: Sreekanth Reddy <sreekanth.reddy@broadcom.com> > > Best regards, > Krzysztof >
| |