| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/gpio/intel,ixp4xx-gpio.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Intel IXP4xx XScale Networking Processors GPIO Controller
- description: |
- This GPIO controller is found in the Intel IXP4xx
- processors. It supports 16 GPIO lines.
- The interrupt portions of the GPIO controller is hierarchical.
- The synchronous edge detector is part of the GPIO block, but the
- actual enabling/disabling of the interrupt line is done in the
- main IXP4xx interrupt controller which has a 1-to-1 mapping for
- the first 12 GPIO lines to 12 system interrupts.
- The remaining 4 GPIO lines can not be used for receiving
- interrupts.
- The interrupt parent of this GPIO controller must be the
- IXP4xx interrupt controller.
- GPIO 14 and 15 can be used as clock outputs rather than GPIO,
- and this can be enabled by a special flag.
- maintainers:
- - Linus Walleij <linus.walleij@linaro.org>
- properties:
- compatible:
- const: intel,ixp4xx-gpio
- reg:
- maxItems: 1
- gpio-controller: true
- "#gpio-cells":
- const: 2
- interrupt-controller: true
- "#interrupt-cells":
- const: 2
- intel,ixp4xx-gpio14-clkout:
- description: If defined, enables clock output on GPIO 14
- instead of GPIO.
- type: boolean
- intel,ixp4xx-gpio15-clkout:
- description: If defined, enables clock output on GPIO 15
- instead of GPIO.
- type: boolean
- required:
- - compatible
- - reg
- - "#gpio-cells"
- - interrupt-controller
- - "#interrupt-cells"
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/interrupt-controller/irq.h>
- gpio@c8004000 {
- compatible = "intel,ixp4xx-gpio";
- reg = <0xc8004000 0x1000>;
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- };
|