Rebased from upstream / out of band repository.
[librecmc/librecmc.git] / target / linux / ath79 / dts / ar9331_tplink_tl-mr3020-v1.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6
7 #include "ar9331.dtsi"
8
9 / {
10         model = "TP-Link TL-MR3020 V1";
11         compatible = "tplink,tl-mr3020-v1", "qca,ar9331";
12
13         aliases {
14                 serial0 = &uart;
15                 led-boot = &system;
16                 led-failsafe = &system;
17                 led-running = &system;
18                 led-upgrade = &system;
19         };
20
21         leds {
22                 compatible = "gpio-leds";
23
24                 wlan {
25                         label = "tp-link:green:wlan";
26                         gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
27                         linux,default-trigger = "phy0tpt";
28                 };
29
30                 lan {
31                         label = "tp-link:green:lan";
32                         gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
33                 };
34
35                 system: wps {
36                         label = "tp-link:green:wps";
37                         gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
38                 };
39
40                 led3g {
41                         label = "tp-link:green:3g";
42                         gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
43                         trigger-sources = <&hub_port>;
44                         linux,default-trigger = "usbport";
45                 };
46         };
47
48         keys {
49                 compatible = "gpio-keys";
50
51                 button0 {
52                         label = "reset";
53                         linux,code = <KEY_RESTART>;
54                         gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
55                         debounce-interval = <60>;
56                 };
57
58                 button1 {
59                         label = "sw1";
60                         linux,input-type = <EV_SW>;
61                         linux,code = <BTN_0>;
62                         gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
63                         debounce-interval = <60>;
64                 };
65
66                 button2 {
67                         label = "sw2";
68                         linux,input-type = <EV_SW>;
69                         linux,code = <BTN_1>;
70                         gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
71                         debounce-interval = <60>;
72                 };
73         };
74
75         reg_usb_vbus: reg_usb_vbus {
76                 compatible = "regulator-fixed";
77                 regulator-name = "usb_vbus";
78                 regulator-min-microvolt = <5000000>;
79                 regulator-max-microvolt = <5000000>;
80                 gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
81                 enable-active-high;
82         };
83 };
84
85 &ref {
86         clock-frequency = <25000000>;
87 };
88
89 &uart {
90         status = "okay";
91 };
92
93 &gpio {
94         status = "okay";
95 };
96
97 &usb {
98         #address-cells = <1>;
99         #size-cells = <0>;
100         dr_mode = "host";
101         vbus-supply = <&reg_usb_vbus>;
102         status = "okay";
103
104         hub_port: port@1 {
105                 reg = <1>;
106                 #trigger-source-cells = <0>;
107         };
108 };
109
110 &usb_phy {
111         status = "okay";
112 };
113
114 &spi {
115         num-chipselects = <1>;
116         status = "okay";
117
118         /* Spansion S25FL032PIF SPI flash */
119         flash@0 {
120                 compatible = "jedec,spi-nor";
121                 spi-max-frequency = <104000000>;
122                 reg = <0>;
123
124                 partitions {
125                         compatible = "fixed-partitions";
126                         #address-cells = <1>;
127                         #size-cells = <1>;
128
129                         uboot:  partition@0 {
130                                 label = "u-boot";
131                                 reg = <0x000000 0x020000>;
132                                 read-only;
133                         };
134
135                         partition@20000 {
136                                 compatible = "tplink,firmware";
137                                 label = "firmware";
138                                 reg = <0x020000 0x3c0000>;
139                         };
140
141                         partition@3e0000 {
142                                 label = "config";
143                                 reg = <0x3e0000 0x010000>;
144                                 read-only;
145                         };
146
147                         art: partition@3f0000 {
148                                 label = "art";
149                                 reg = <0x3f0000 0x010000>;
150                                 read-only;
151                         };
152                 };
153         };
154 };
155
156
157 &eth0 {
158         status = "okay";
159
160         mtd-mac-address = <&uboot 0x1fc00>;
161         gmac-config {
162                 device = <&gmac>;
163
164                 switch-phy-addr-swap = <0>;
165                 switch-phy-swap = <0>;
166         };
167 };
168
169 &eth1 {
170         status = "okay";
171         compatible = "syscon", "simple-mfd";
172 };
173
174 &wmac {
175         status = "okay";
176         mtd-cal-data = <&art 0x1000>;
177         mtd-mac-address = <&uboot 0x1fc00>;
178 };