109 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/gpio/realtek,otto-gpio.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Realtek Otto GPIO controller8 9maintainers:10 - Sander Vanheule <sander@svanheule.net>11 - Bert Vermeulen <bert@biot.com>12 13description: |14 Realtek's GPIO controller on their MIPS switch SoCs (Otto platform) consists15 of two banks of 32 GPIOs. These GPIOs can generate edge-triggered interrupts.16 Each bank's interrupts are cascased into one interrupt line on the parent17 interrupt controller, if provided.18 This binding allows defining a single bank in the devicetree. The interrupt19 controller is not supported on the fallback compatible name, which only20 allows for GPIO port use.21 22properties:23 $nodename:24 pattern: "^gpio@[0-9a-f]+$"25 26 compatible:27 items:28 - enum:29 - realtek,rtl8380-gpio30 - realtek,rtl8390-gpio31 - realtek,rtl9300-gpio32 - realtek,rtl9310-gpio33 - const: realtek,otto-gpio34 35 reg: true36 37 "#gpio-cells":38 const: 239 40 gpio-controller: true41 42 ngpios:43 minimum: 144 maximum: 3245 46 interrupt-controller: true47 48 "#interrupt-cells":49 const: 250 51 interrupts:52 maxItems: 153 54if:55 properties:56 compatible:57 contains:58 const: realtek,rtl9300-gpio59then:60 properties:61 reg:62 items:63 - description: GPIO and interrupt control64 - description: interrupt CPU map65else:66 properties:67 reg:68 items:69 - description: GPIO and interrupt control70 71required:72 - compatible73 - reg74 - "#gpio-cells"75 - gpio-controller76 77additionalProperties: false78 79dependencies:80 interrupt-controller: [ interrupts ]81 82examples:83 - |84 gpio@3500 {85 compatible = "realtek,rtl8380-gpio", "realtek,otto-gpio";86 reg = <0x3500 0x1c>;87 gpio-controller;88 #gpio-cells = <2>;89 ngpios = <24>;90 interrupt-controller;91 #interrupt-cells = <2>;92 interrupt-parent = <&rtlintc>;93 interrupts = <23>;94 };95 - |96 gpio@3300 {97 compatible = "realtek,rtl9300-gpio", "realtek,otto-gpio";98 reg = <0x3300 0x1c>, <0x3338 0x8>;99 gpio-controller;100 #gpio-cells = <2>;101 ngpios = <24>;102 interrupt-controller;103 #interrupt-cells = <2>;104 interrupt-parent = <&rtlintc>;105 interrupts = <13>;106 };107 108...109