1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/gpio/loongson,ls-gpio.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Loongson GPIO controller. 8 9maintainers: 10 - Yinbo Zhu <zhuyinbo@loongson.cn> 11 12properties: 13 compatible: 14 oneOf: 15 - enum: 16 - loongson,ls2k-gpio 17 - loongson,ls2k0500-gpio0 18 - loongson,ls2k0500-gpio1 19 - loongson,ls2k2000-gpio0 20 - loongson,ls2k2000-gpio1 21 - loongson,ls2k2000-gpio2 22 - loongson,ls3a5000-gpio 23 - loongson,ls3a6000-gpio # Loongson-3A6000 node GPIO 24 - loongson,ls7a-gpio 25 - loongson,ls7a2000-gpio1 # LS7A2000 chipset GPIO 26 - loongson,ls7a2000-gpio2 # LS7A2000 ACPI GPIO 27 - items: 28 - const: loongson,ls2k1000-gpio 29 - const: loongson,ls2k-gpio 30 - items: 31 - const: loongson,ls7a1000-gpio 32 - const: loongson,ls7a-gpio 33 34 reg: 35 maxItems: 1 36 37 ngpios: 38 minimum: 1 39 maximum: 64 40 41 "#gpio-cells": 42 const: 2 43 44 gpio-controller: true 45 46 gpio-ranges: true 47 48 interrupts: 49 minItems: 1 50 maxItems: 64 51 52required: 53 - compatible 54 - reg 55 - ngpios 56 - "#gpio-cells" 57 - gpio-controller 58 - gpio-ranges 59 - interrupts 60 61additionalProperties: false 62 63examples: 64 - | 65 #include <dt-bindings/interrupt-controller/irq.h> 66 67 gpio0: gpio@1fe00500 { 68 compatible = "loongson,ls2k1000-gpio", "loongson,ls2k-gpio"; 69 reg = <0x1fe00500 0x38>; 70 ngpios = <64>; 71 #gpio-cells = <2>; 72 gpio-controller; 73 gpio-ranges = <&pctrl 0 0 15>, 74 <&pctrl 16 16 15>, 75 <&pctrl 32 32 10>, 76 <&pctrl 44 44 20>; 77 interrupt-parent = <&liointc1>; 78 interrupts = <28 IRQ_TYPE_LEVEL_LOW>, 79 <29 IRQ_TYPE_LEVEL_LOW>, 80 <30 IRQ_TYPE_LEVEL_LOW>, 81 <30 IRQ_TYPE_LEVEL_LOW>, 82 <26 IRQ_TYPE_LEVEL_LOW>, 83 <26 IRQ_TYPE_LEVEL_LOW>, 84 <26 IRQ_TYPE_LEVEL_LOW>, 85 <26 IRQ_TYPE_LEVEL_LOW>, 86 <26 IRQ_TYPE_LEVEL_LOW>, 87 <26 IRQ_TYPE_LEVEL_LOW>, 88 <26 IRQ_TYPE_LEVEL_LOW>, 89 <26 IRQ_TYPE_LEVEL_LOW>, 90 <26 IRQ_TYPE_LEVEL_LOW>, 91 <26 IRQ_TYPE_LEVEL_LOW>, 92 <26 IRQ_TYPE_LEVEL_LOW>, 93 <>, 94 <26 IRQ_TYPE_LEVEL_LOW>, 95 <26 IRQ_TYPE_LEVEL_LOW>, 96 <26 IRQ_TYPE_LEVEL_LOW>, 97 <26 IRQ_TYPE_LEVEL_LOW>, 98 <26 IRQ_TYPE_LEVEL_LOW>, 99 <26 IRQ_TYPE_LEVEL_LOW>, 100 <26 IRQ_TYPE_LEVEL_LOW>, 101 <26 IRQ_TYPE_LEVEL_LOW>, 102 <26 IRQ_TYPE_LEVEL_LOW>, 103 <26 IRQ_TYPE_LEVEL_LOW>, 104 <26 IRQ_TYPE_LEVEL_LOW>, 105 <26 IRQ_TYPE_LEVEL_LOW>, 106 <26 IRQ_TYPE_LEVEL_LOW>, 107 <26 IRQ_TYPE_LEVEL_LOW>, 108 <26 IRQ_TYPE_LEVEL_LOW>, 109 <26 IRQ_TYPE_LEVEL_LOW>, 110 <27 IRQ_TYPE_LEVEL_LOW>, 111 <27 IRQ_TYPE_LEVEL_LOW>, 112 <27 IRQ_TYPE_LEVEL_LOW>, 113 <27 IRQ_TYPE_LEVEL_LOW>, 114 <27 IRQ_TYPE_LEVEL_LOW>, 115 <>, 116 <27 IRQ_TYPE_LEVEL_LOW>, 117 <27 IRQ_TYPE_LEVEL_LOW>, 118 <27 IRQ_TYPE_LEVEL_LOW>, 119 <27 IRQ_TYPE_LEVEL_LOW>, 120 <>, 121 <>, 122 <27 IRQ_TYPE_LEVEL_LOW>, 123 <27 IRQ_TYPE_LEVEL_LOW>, 124 <27 IRQ_TYPE_LEVEL_LOW>, 125 <27 IRQ_TYPE_LEVEL_LOW>, 126 <27 IRQ_TYPE_LEVEL_LOW>, 127 <27 IRQ_TYPE_LEVEL_LOW>, 128 <27 IRQ_TYPE_LEVEL_LOW>, 129 <27 IRQ_TYPE_LEVEL_LOW>, 130 <27 IRQ_TYPE_LEVEL_LOW>, 131 <27 IRQ_TYPE_LEVEL_LOW>, 132 <27 IRQ_TYPE_LEVEL_LOW>, 133 <27 IRQ_TYPE_LEVEL_LOW>, 134 <27 IRQ_TYPE_LEVEL_LOW>, 135 <27 IRQ_TYPE_LEVEL_LOW>, 136 <27 IRQ_TYPE_LEVEL_LOW>, 137 <27 IRQ_TYPE_LEVEL_LOW>, 138 <27 IRQ_TYPE_LEVEL_LOW>, 139 <27 IRQ_TYPE_LEVEL_LOW>, 140 <27 IRQ_TYPE_LEVEL_LOW>, 141 <27 IRQ_TYPE_LEVEL_LOW>; 142 }; 143