1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/gpio/sifive,gpio.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: SiFive GPIO controller 8 9maintainers: 10 - Yash Shah <yash.shah@sifive.com> 11 - Paul Walmsley <paul.walmsley@sifive.com> 12 13properties: 14 compatible: 15 items: 16 - enum: 17 - sifive,fu540-c000-gpio 18 - sifive,fu740-c000-gpio 19 - const: sifive,gpio0 20 21 reg: 22 maxItems: 1 23 24 interrupts: 25 description: 26 interrupt mapping one per GPIO. Maximum 16 GPIOs. 27 minItems: 1 28 maxItems: 16 29 30 interrupt-controller: true 31 32 "#interrupt-cells": 33 const: 2 34 35 clocks: 36 maxItems: 1 37 38 "#gpio-cells": 39 const: 2 40 41 gpio-controller: true 42 43required: 44 - compatible 45 - reg 46 - interrupts 47 - interrupt-controller 48 - "#interrupt-cells" 49 - clocks 50 - "#gpio-cells" 51 - gpio-controller 52 53additionalProperties: false 54 55examples: 56 - | 57 #include <dt-bindings/clock/sifive-fu540-prci.h> 58 gpio@10060000 { 59 compatible = "sifive,fu540-c000-gpio", "sifive,gpio0"; 60 interrupt-parent = <&plic>; 61 interrupts = <7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22>; 62 reg = <0x10060000 0x1000>; 63 clocks = <&tlclk PRCI_CLK_TLCLK>; 64 gpio-controller; 65 #gpio-cells = <2>; 66 interrupt-controller; 67 #interrupt-cells = <2>; 68 }; 69 70... 71