74 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/gpio/intel,ixp4xx-gpio.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Intel IXP4xx XScale Networking Processors GPIO Controller8 9description: |10 This GPIO controller is found in the Intel IXP4xx11 processors. It supports 16 GPIO lines.12 The interrupt portions of the GPIO controller is hierarchical.13 The synchronous edge detector is part of the GPIO block, but the14 actual enabling/disabling of the interrupt line is done in the15 main IXP4xx interrupt controller which has a 1-to-1 mapping for16 the first 12 GPIO lines to 12 system interrupts.17 The remaining 4 GPIO lines can not be used for receiving18 interrupts.19 The interrupt parent of this GPIO controller must be the20 IXP4xx interrupt controller.21 GPIO 14 and 15 can be used as clock outputs rather than GPIO,22 and this can be enabled by a special flag.23 24maintainers:25 - Linus Walleij <linus.walleij@linaro.org>26 27properties:28 compatible:29 const: intel,ixp4xx-gpio30 31 reg:32 maxItems: 133 34 gpio-controller: true35 36 "#gpio-cells":37 const: 238 39 interrupt-controller: true40 41 "#interrupt-cells":42 const: 243 44 intel,ixp4xx-gpio14-clkout:45 description: If defined, enables clock output on GPIO 1446 instead of GPIO.47 type: boolean48 49 intel,ixp4xx-gpio15-clkout:50 description: If defined, enables clock output on GPIO 1551 instead of GPIO.52 type: boolean53 54required:55 - compatible56 - reg57 - "#gpio-cells"58 - interrupt-controller59 - "#interrupt-cells"60 61additionalProperties: false62 63examples:64 - |65 #include <dt-bindings/interrupt-controller/irq.h>66 gpio@c8004000 {67 compatible = "intel,ixp4xx-gpio";68 reg = <0xc8004000 0x1000>;69 gpio-controller;70 #gpio-cells = <2>;71 interrupt-controller;72 #interrupt-cells = <2>;73 };74