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? > + > + "#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! 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 >
Attachment:
signature.asc
Description: PGP signature