ramips/mt762x: convert devices to interrupt-driven gpio-keys
[oweals/openwrt.git] / target / linux / ramips / dts / mt7620a_dlink_dwr-118-a1.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /dts-v1/;
3
4 #include "mt7620a.dtsi"
5
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/input/input.h>
8
9 / {
10         compatible = "dlink,dwr-118-a1", "ralink,mt7620a-soc";
11         model = "D-Link DWR-118 A1";
12
13         aliases {
14                 led-boot = &led_internet;
15                 led-failsafe = &led_internet;
16                 led-upgrade = &led_internet;
17         };
18
19         keys {
20                 compatible = "gpio-keys";
21
22                 wps {
23                         label = "wps";
24                         gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
25                         linux,code = <KEY_WPS_BUTTON>;
26                 };
27
28                 reset {
29                         label = "reset";
30                         gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
31                         linux,code = <KEY_RESTART>;
32                 };
33         };
34
35         leds {
36                 compatible = "gpio-leds";
37
38                 wan {
39                         label = "dwr-118-a1:green:wan";
40                         gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
41                 };
42
43                 led_internet: internet {
44                         label = "dwr-118-a1:green:internet";
45                         gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
46                 };
47
48                 lan {
49                         label = "dwr-118-a1:green:lan";
50                         gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
51                 };
52
53                 wlan2g {
54                         label = "dwr-118-a1:green:wlan2g";
55                         gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
56                 };
57
58                 usb {
59                         label = "dwr-118-a1:green:usb";
60                         gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
61                         trigger-sources = <&ohci_port1>, <&ehci_port1>;
62                         linux,default-trigger = "usbport";
63                 };
64         };
65
66         gpio_export {
67                 compatible = "gpio-export";
68                 #size-cells = <0>;
69
70                 usb {
71                         gpio-export,name = "usb";
72                         gpio-export,output = <0>;
73                         gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
74                 };
75         };
76 };
77
78 &gpio1 {
79         status = "okay";
80 };
81
82 &gpio2 {
83         status = "okay";
84 };
85
86 &gpio3 {
87         status = "okay";
88 };
89
90 &spi0 {
91         status = "okay";
92
93         flash@0 {
94                 compatible = "jedec,spi-nor";
95                 reg = <0>;
96                 spi-max-frequency = <80000000>;
97
98                 partitions {
99                         compatible = "fixed-partitions";
100                         #address-cells = <1>;
101                         #size-cells = <1>;
102
103                         partition@0 {
104                                 label = "jboot";
105                                 reg = <0x0 0x10000>;
106                                 read-only;
107                         };
108
109                         partition@10000 {
110                                 compatible = "amit,jimage";
111                                 label = "firmware";
112                                 reg = <0x10000 0xfe0000>;
113                         };
114
115                         config: partition@ff0000 {
116                                 label = "config";
117                                 reg = <0xff0000 0x10000>;
118                                 read-only;
119                         };
120                 };
121         };
122 };
123
124 &ehci {
125         status = "okay";
126 };
127
128 &ohci {
129         status = "okay";
130 };
131
132 &pinctrl {
133         state_default: pinctrl0 {
134                 default {
135                         ralink,group = "ephy", "uartf", "spi refclk", "wled";
136                         ralink,function = "gpio";
137                 };
138         };
139 };
140
141 &pcie {
142         status = "okay";
143 };
144
145 &pcie0 {
146         wifi@0,0 {
147                 reg = <0x0000 0 0 0 0>;
148                 mtd-mac-address = <&config 0xe496>;
149                 mtd-mac-address-increment = <(2)>;
150                 mediatek,mtd-eeprom = <&config 0xe083>;
151
152                 led {
153                         led-sources = <0>;
154                         led-active-low;
155                 };
156         };
157 };
158
159 &ethernet {
160         status = "okay";
161         pinctrl-names = "default";
162         pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
163
164         port@4 {
165                 status = "okay";
166                 phy-handle = <&phy4>;
167                 phy-mode = "rgmii";
168         };
169
170         port@5 {
171                 status = "okay";
172                 phy-handle = <&phy5>;
173                 phy-mode = "rgmii";
174         };
175
176         mdio-bus {
177                 status = "okay";
178
179                 phy4: ethernet-phy@4 {
180                         reg = <4>;
181                         phy-mode = "rgmii-rxid";
182                 };
183
184                 phy5: ethernet-phy@5 {
185                         reg = <5>;
186                         phy-mode = "rgmii-rxid";
187                 };
188         };
189 };
190
191 &gsw {
192         mediatek,port4 = "gmac";
193 };