1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 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 controller 8 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) consists 15 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 parent 17 interrupt controller, if provided. 18 This binding allows defining a single bank in the devicetree. The interrupt 19 controller is not supported on the fallback compatible name, which only 20 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-gpio 30 - realtek,rtl8390-gpio 31 - realtek,rtl9300-gpio 32 - realtek,rtl9310-gpio 33 - const: realtek,otto-gpio 34 35 reg: true 36 37 "#gpio-cells": 38 const: 2 39 40 gpio-controller: true 41 42 ngpios: 43 minimum: 1 44 maximum: 32 45 46 interrupt-controller: true 47 48 "#interrupt-cells": 49 const: 2 50 51 interrupts: 52 maxItems: 1 53 54if: 55 properties: 56 compatible: 57 contains: 58 const: realtek,rtl9300-gpio 59then: 60 properties: 61 reg: 62 items: 63 - description: GPIO and interrupt control 64 - description: interrupt CPU map 65else: 66 properties: 67 reg: 68 items: 69 - description: GPIO and interrupt control 70 71required: 72 - compatible 73 - reg 74 - "#gpio-cells" 75 - gpio-controller 76 77additionalProperties: false 78 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