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,ls7a-gpio 24 - items: 25 - const: loongson,ls2k1000-gpio 26 - const: loongson,ls2k-gpio 27 - items: 28 - const: loongson,ls7a1000-gpio 29 - const: loongson,ls7a-gpio 30 31 reg: 32 maxItems: 1 33 34 ngpios: 35 minimum: 1 36 maximum: 64 37 38 "#gpio-cells": 39 const: 2 40 41 gpio-controller: true 42 43 gpio-ranges: true 44 45 interrupts: 46 minItems: 1 47 maxItems: 64 48 49required: 50 - compatible 51 - reg 52 - ngpios 53 - "#gpio-cells" 54 - gpio-controller 55 - gpio-ranges 56 - interrupts 57 58additionalProperties: false 59 60examples: 61 - | 62 #include <dt-bindings/interrupt-controller/irq.h> 63 64 gpio0: gpio@1fe00500 { 65 compatible = "loongson,ls2k1000-gpio", "loongson,ls2k-gpio"; 66 reg = <0x1fe00500 0x38>; 67 ngpios = <64>; 68 #gpio-cells = <2>; 69 gpio-controller; 70 gpio-ranges = <&pctrl 0 0 15>, 71 <&pctrl 16 16 15>, 72 <&pctrl 32 32 10>, 73 <&pctrl 44 44 20>; 74 interrupt-parent = <&liointc1>; 75 interrupts = <28 IRQ_TYPE_LEVEL_LOW>, 76 <29 IRQ_TYPE_LEVEL_LOW>, 77 <30 IRQ_TYPE_LEVEL_LOW>, 78 <30 IRQ_TYPE_LEVEL_LOW>, 79 <26 IRQ_TYPE_LEVEL_LOW>, 80 <26 IRQ_TYPE_LEVEL_LOW>, 81 <26 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 <>, 91 <26 IRQ_TYPE_LEVEL_LOW>, 92 <26 IRQ_TYPE_LEVEL_LOW>, 93 <26 IRQ_TYPE_LEVEL_LOW>, 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 <27 IRQ_TYPE_LEVEL_LOW>, 108 <27 IRQ_TYPE_LEVEL_LOW>, 109 <27 IRQ_TYPE_LEVEL_LOW>, 110 <27 IRQ_TYPE_LEVEL_LOW>, 111 <27 IRQ_TYPE_LEVEL_LOW>, 112 <>, 113 <27 IRQ_TYPE_LEVEL_LOW>, 114 <27 IRQ_TYPE_LEVEL_LOW>, 115 <27 IRQ_TYPE_LEVEL_LOW>, 116 <27 IRQ_TYPE_LEVEL_LOW>, 117 <>, 118 <>, 119 <27 IRQ_TYPE_LEVEL_LOW>, 120 <27 IRQ_TYPE_LEVEL_LOW>, 121 <27 IRQ_TYPE_LEVEL_LOW>, 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 }; 140