104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From a362c0ce64866939c3daa17c76943cfed555b065 Mon Sep 17 00:00:00 2001
 | |
| From: Sander Vanheule <sander@svanheule.net>
 | |
| Date: Tue, 30 Mar 2021 19:48:42 +0200
 | |
| Subject: dt-bindings: gpio: Binding for Realtek Otto GPIO
 | |
| 
 | |
| Add a binding description for Realtek's GPIO controller found on several
 | |
| of their MIPS-based SoCs (codenamed Otto), such as the RTL838x and
 | |
| RTL839x series of switch SoCs.
 | |
| 
 | |
| A fallback binding 'realtek,otto-gpio' is provided for cases where the
 | |
| actual port ordering is not known yet, and enabling the interrupt
 | |
| controller may result in uncaught interrupts.
 | |
| 
 | |
| Signed-off-by: Sander Vanheule <sander@svanheule.net>
 | |
| Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
 | |
| Reviewed-by: Rob Herring <robh@kernel.org>
 | |
| Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
 | |
| ---
 | |
|  .../bindings/gpio/realtek,otto-gpio.yaml           | 78 ++++++++++++++++++++++
 | |
|  1 file changed, 78 insertions(+)
 | |
|  create mode 100644 Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
 | |
| 
 | |
| --- /dev/null
 | |
| +++ b/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
 | |
| @@ -0,0 +1,78 @@
 | |
| +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
 | |
| +%YAML 1.2
 | |
| +---
 | |
| +$id: http://devicetree.org/schemas/gpio/realtek,otto-gpio.yaml#
 | |
| +$schema: http://devicetree.org/meta-schemas/core.yaml#
 | |
| +
 | |
| +title: Realtek Otto GPIO controller
 | |
| +
 | |
| +maintainers:
 | |
| +  - Sander Vanheule <sander@svanheule.net>
 | |
| +  - Bert Vermeulen <bert@biot.com>
 | |
| +
 | |
| +description: |
 | |
| +  Realtek's GPIO controller on their MIPS switch SoCs (Otto platform) consists
 | |
| +  of two banks of 32 GPIOs. These GPIOs can generate edge-triggered interrupts.
 | |
| +  Each bank's interrupts are cascased into one interrupt line on the parent
 | |
| +  interrupt controller, if provided.
 | |
| +  This binding allows defining a single bank in the devicetree. The interrupt
 | |
| +  controller is not supported on the fallback compatible name, which only
 | |
| +  allows for GPIO port use.
 | |
| +
 | |
| +properties:
 | |
| +  $nodename:
 | |
| +    pattern: "^gpio@[0-9a-f]+$"
 | |
| +
 | |
| +  compatible:
 | |
| +    items:
 | |
| +      - enum:
 | |
| +          - realtek,rtl8380-gpio
 | |
| +          - realtek,rtl8390-gpio
 | |
| +      - const: realtek,otto-gpio
 | |
| +
 | |
| +  reg:
 | |
| +    maxItems: 1
 | |
| +
 | |
| +  "#gpio-cells":
 | |
| +    const: 2
 | |
| +
 | |
| +  gpio-controller: true
 | |
| +
 | |
| +  ngpios:
 | |
| +    minimum: 1
 | |
| +    maximum: 32
 | |
| +
 | |
| +  interrupt-controller: true
 | |
| +
 | |
| +  "#interrupt-cells":
 | |
| +    const: 2
 | |
| +
 | |
| +  interrupts:
 | |
| +    maxItems: 1
 | |
| +
 | |
| +required:
 | |
| +  - compatible
 | |
| +  - reg
 | |
| +  - "#gpio-cells"
 | |
| +  - gpio-controller
 | |
| +
 | |
| +additionalProperties: false
 | |
| +
 | |
| +dependencies:
 | |
| +  interrupt-controller: [ interrupts ]
 | |
| +
 | |
| +examples:
 | |
| +  - |
 | |
| +      gpio@3500 {
 | |
| +        compatible = "realtek,rtl8380-gpio", "realtek,otto-gpio";
 | |
| +        reg = <0x3500 0x1c>;
 | |
| +        gpio-controller;
 | |
| +        #gpio-cells = <2>;
 | |
| +        ngpios = <24>;
 | |
| +        interrupt-controller;
 | |
| +        #interrupt-cells = <2>;
 | |
| +        interrupt-parent = <&rtlintc>;
 | |
| +        interrupts = <23>;
 | |
| +      };
 | |
| +
 | |
| +...
 | 
