Hi Conor: thanks for your review On 19:52 Thu 19 Dec , Conor Dooley wrote: > On Thu, Dec 19, 2024 at 03:17:43PM +0800, Yixun Lan wrote: > > The GPIO controller of K1 support basic functions as input/output, > > all pins can be used as interrupt which route to one IRQ line, > > trigger type can be select between rising edge, failing edge, or both. > > There are four GPIO banks, each consisting of 32 pins. > > > > Signed-off-by: Yixun Lan <dlan@xxxxxxxxxx> > > --- > > .../devicetree/bindings/gpio/spacemit,k1-gpio.yaml | 75 ++++++++++++++++++++++ > > 1 file changed, 75 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/gpio/spacemit,k1-gpio.yaml b/Documentation/devicetree/bindings/gpio/spacemit,k1-gpio.yaml > > new file mode 100644 > > index 0000000000000000000000000000000000000000..3d3d0b3bf2c144ed57b717bee50064949e26f087 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/gpio/spacemit,k1-gpio.yaml > > @@ -0,0 +1,75 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/gpio/spacemit,k1-gpio.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: SpacemiT K1 GPIO controller > > + > > +maintainers: > > + - Yixun Lan <dlan@xxxxxxxxxx> > > + > > +description: > > + The controller's registers are organized as sets of eight 32-bit > > + registers with each set controlling a bank of up to 32 pins. A single > > + interrupt is shared for all of the banks handled by the controller. > > + > > +properties: > > + compatible: > > + const: spacemit,k1-gpio > > + > > + reg: > > + maxItems: 1 > > + > > + ranges: true > > What do you need this for? > right, this isn't needed, will drop it. > > + > > + "#gpio-cells": > > + const: 2 > > + > > + gpio-controller: true > > + > > + gpio-ranges: true > > + > > + interrupts: > > + maxItems: 1 > > + description: > > + The interrupt shared by all GPIO lines for this controller. > > + > > + interrupt-names: true > > Not that a name is valuable when you only have one interrupt, but if you > don't specify what the name is, you cannot interrupt-names! > indeed there is one interrupt, I will drop this property > Cheers, > Conor. > > > + > > + "#interrupt-cells": > > + const: 2 > > + description: > > + The first cell is the GPIO number, the second should specify interrupt > > + flag. The controller does not support level interrupts, flags of > > + IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_LEVEL_LOW should not be used. > > + Refer <dt-bindings/interrupt-controller/irq.h> for valid flags. > > + > > + interrupt-controller: true > > + > > +required: > > + - compatible > > + - reg > > + - gpio-controller > > + - "#gpio-cells" > > + - interrupts > > + - interrupt-names > > + - interrupt-controller > > + - "#interrupt-cells" > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + gpio@d4019000 { > > + compatible = "spacemit,k1-gpio"; > > + reg = <0xd4019000 0x800>; > > + gpio-controller; > > + #gpio-cells = <2>; > > + interrupts = <58>; > > + interrupt-names = "gpio_mux"; > > + interrupt-parent = <&plic>; > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + gpio-ranges = <&pinctrl 0 0 128>; > > + }; > > > > -- > > 2.47.0 > > -- Yixun Lan (dlan) Gentoo Linux Developer GPG Key ID AABEFD55