fe15157f8b9247d6caf980abc93bd69984b3d3f9
[librecmc/librecmc.git] / target / linux / ath79 / dts / ar9331_tplink_tl-mr3040-v2.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-MR3040 V2";
11         compatible = "tplink,tl-mr3040-v2", "qca,ar9331";
12
13         aliases {
14                 led-boot = &led_lan;
15                 led-failsafe = &led_lan;
16         };
17
18         leds {
19                 compatible = "gpio-leds";
20
21                 wlan {
22                         label = "tp-link:green:wlan";
23                         gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
24                         linux,default-trigger = "phy0tpt";
25                 };
26
27                 led_lan: lan {
28                         label = "tp-link:green:lan";
29                         gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
30                 };
31
32                 led3g {
33                         label = "tp-link:green:3g";
34                         gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
35                         trigger-sources = <&hub_port>;
36                         linux,default-trigger = "usbport";
37                 };
38         };
39
40         keys {
41                 compatible = "gpio-keys-polled";
42                 poll-interval = <20>;
43
44                 reset {
45                         label = "reset";
46                         linux,code = <KEY_RESTART>;
47                         gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
48                         debounce-interval = <60>;
49                 };
50
51                 sw1 {
52                         label = "sw1";
53                         linux,input-type = <EV_SW>;
54                         linux,code = <BTN_0>;
55                         gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
56                         debounce-interval = <60>;
57                 };
58
59                 sw2 {
60                         label = "sw2";
61                         linux,input-type = <EV_SW>;
62                         linux,code = <BTN_1>;
63                         gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
64                         debounce-interval = <60>;
65                 };
66         };
67
68         reg_usb_vbus: reg_usb_vbus {
69                 compatible = "regulator-fixed";
70                 regulator-name = "usb_vbus";
71                 regulator-min-microvolt = <5000000>;
72                 regulator-max-microvolt = <5000000>;
73                 gpio = <&gpio 18 GPIO_ACTIVE_HIGH>;
74                 enable-active-high;
75         };
76 };
77
78 &ref {
79         clock-frequency = <25000000>;
80 };
81
82 &uart {
83         status = "okay";
84 };
85
86 &gpio {
87         status = "okay";
88 };
89
90 &usb {
91         #address-cells = <1>;
92         #size-cells = <0>;
93         dr_mode = "host";
94         vbus-supply = <&reg_usb_vbus>;
95         status = "okay";
96
97         hub_port: port@1 {
98                 reg = <1>;
99                 #trigger-source-cells = <0>;
100         };
101 };
102
103 &usb_phy {
104         status = "okay";
105 };
106
107 &spi {
108         num-chipselects = <1>;
109         status = "okay";
110
111         flash@0 {
112                 compatible = "jedec,spi-nor";
113                 spi-max-frequency = <104000000>;
114                 reg = <0>;
115
116                 partitions {
117                         compatible = "fixed-partitions";
118                         #address-cells = <1>;
119                         #size-cells = <1>;
120
121                         uboot:  partition@0 {
122                                 label = "u-boot";
123                                 reg = <0x000000 0x020000>;
124                                 read-only;
125                         };
126
127                         partition@20000 {
128                                 compatible = "tplink,firmware";
129                                 label = "firmware";
130                                 reg = <0x020000 0x3d0000>;
131                         };
132
133                         art: partition@3f0000 {
134                                 label = "art";
135                                 reg = <0x3f0000 0x010000>;
136                                 read-only;
137                         };
138                 };
139         };
140 };
141
142 &eth0 {
143         status = "okay";
144
145         mtd-mac-address = <&uboot 0x1fc00>;
146         gmac-config {
147                 device = <&gmac>;
148
149                 switch-phy-addr-swap = <0>;
150                 switch-phy-swap = <0>;
151         };
152 };
153
154 &eth1 {
155         status = "okay";
156         compatible = "syscon", "simple-mfd";
157 };
158
159 &wmac {
160         status = "okay";
161         mtd-cal-data = <&art 0x1000>;
162         mtd-mac-address = <&uboot 0x1fc00>;
163 };