Rebased from upstream / out of band repository.
[librecmc/librecmc.git] / target / linux / ath79 / dts / ar7242_buffalo_wzr-hp-g302h-a1a0.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /dts-v1/;
3
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6
7 #include "ar7242.dtsi"
8
9 / {
10         compatible = "buffalo,wzr-hp-g302h-a1a0", "qca,ar7242";
11         model = "Buffalo WZR-HP-G302H A1A0";
12
13         aliases {
14                 led-boot = &diag;
15                 led-failsafe = &diag;
16                 led-upgrade = &diag;
17         };
18
19         extosc: ref {
20                 compatible = "fixed-clock";
21                 #clock-cells = <0>;
22                 clock-frequency = <40000000>;
23         };
24
25         keys {
26                 compatible = "gpio-keys-polled";
27                 poll-interval = <20>;
28
29                 reset {
30                         label = "reset";
31                         linux,code = <KEY_RESTART>;
32                         gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
33                         debounce-interval = <60>;
34                 };
35
36                 button_usb {
37                         label = "usb";
38                         linux,code = <BTN_2>;
39                         gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
40                         debounce-interval = <60>;
41                 };
42
43                 router_on {
44                         label = "router_on";
45                         linux,code = <BTN_5>;
46                         linux,input-type = <EV_SW>;
47                         gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
48                         debounce-interval = <60>;
49                 };
50
51                 movie_engine {
52                         label = "movie_engine";
53                         linux,code = <BTN_3>;
54                         linux,input-type = <EV_SW>;
55                         gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
56                         debounce-interval = <60>;
57                 };
58
59                 wps {
60                         label = "wps";
61                         linux,code = <KEY_WPS_BUTTON>;
62                         gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
63                         debounce-interval = <60>;
64                 };
65         };
66
67         leds {
68                 compatible = "gpio-leds";
69
70                 diag: diag {
71                         label = "buffalo:red:diag";
72                         gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
73                 };
74         };
75
76         ath9k-leds {
77                 compatible = "gpio-leds";
78
79                 usb {
80                         label = "buffalo:blue:usb";
81                         gpios = <&ath9k 4 GPIO_ACTIVE_LOW>;
82                         trigger-sources = <&hub_port>;
83                         linux,default-trigger = "usbport";
84                 };
85
86                 wireless {
87                         label = "buffalo:green:wireless";
88                         gpios = <&ath9k 5 GPIO_ACTIVE_LOW>;
89                         linux,default-trigger = "phy0tpt";
90                 };
91
92                 security {
93                         label = "buffalo:orange:security";
94                         gpios = <&ath9k 6 GPIO_ACTIVE_LOW>;
95                 };
96
97                 router {
98                         label = "buffalo:green:router";
99                         gpios = <&ath9k 7 GPIO_ACTIVE_LOW>;
100                 };
101
102                 movie_engine_on {
103                         label = "buffalo:blue:movie_engine_on";
104                         gpios = <&ath9k 8 GPIO_ACTIVE_LOW>;
105                 };
106
107                 movie_engine_off {
108                         label = "buffalo:blue:movie_engine_off";
109                         gpios = <&ath9k 9 GPIO_ACTIVE_LOW>;
110                 };
111         };
112
113         gpio-export {
114                 compatible = "gpio-export";
115                 #size-cells = <0>;
116
117                 gpio_usb_power {
118                         gpio-export,name = "buffalo:usb-power";
119                         gpio-export,output = <1>;
120                         gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
121                 };
122         };
123
124         virtual_flash {
125                 compatible = "mtd-concat";
126                 devices = <&flash0 &flash1>;
127
128                 partitions {
129                         compatible = "fixed-partitions";
130                         #address-cells = <1>;
131                         #size-cells = <1>;
132
133                         partition@0 {
134                                 reg = <0x0 0x40000>;
135                                 label = "u-boot";
136                                 read-only;
137                         };
138
139                         partition@40000 {
140                                 reg = <0x40000 0x10000>;
141                                 label = "u-boot-env";
142                         };
143
144                         art: partition@50000 {
145                                 reg = <0x50000 0x10000>;
146                                 label = "art";
147                                 read-only;
148                         };
149
150                         partition@60000 {
151                                 compatible = "denx,uimage";
152                                 reg = <0x60000 0x1f60000>;
153                                 label = "firmware";
154                         };
155
156                         partition@1fc0000 {
157                                 reg = <0x1fc0000 0x40000>;
158                                 label = "user_property";
159                                 read-only;
160                         };
161                 };
162         };
163 };
164
165 &spi {
166         status = "okay";
167         cs-gpios = <0>, <0>;
168         num-cs = <2>;
169
170         flash0: flash@0 {
171                 compatible = "jedec,spi-nor";
172                 reg = <0>;
173                 spi-max-frequency = <25000000>;
174         };
175
176         flash1: flash@1 {
177                 compatible = "jedec,spi-nor";
178                 reg = <1>;
179                 spi-max-frequency = <25000000>;
180         };
181 };
182
183 &mdio0 {
184         status = "okay";
185
186         phy-mask = <0x1>;
187
188         phy0: ethernet-phy@0 {
189                 reg = <0>;
190                 phy-mode = "rgmii";
191         };
192 };
193
194 &eth0 {
195         status = "okay";
196
197         pll-data = <0x1c000000 0x00000101 0x00001616>;
198
199         mtd-mac-address = <&art 0x120c>;
200
201         phy-mode = "rgmii";
202         phy-handle = <&phy0>;
203 };
204
205 &pcie {
206         status = "okay";
207
208         ath9k: wifi@0,0 {
209                 compatible = "pci168c,002a";
210                 reg = <0x0000 0 0 0 0>;
211                 mtd-mac-address = <&art 0x120c>;
212                 qca,no-eeprom;
213                 #gpio-cells = <2>;
214                 gpio-controller;
215         };
216 };
217
218 &pll {
219         clocks = <&extosc>;
220 };
221
222 &uart {
223         status = "okay";
224 };
225
226 &usb_phy {
227         status = "okay";
228 };
229
230 &usb {
231         #address-cells = <1>;
232         #size-cells = <0>;
233         status = "okay";
234
235         hub_port: port@1 {
236                 reg = <1>;
237                 #trigger-source-cells = <0>;
238         };
239 };