ath79: add support for Devolo Magic 2 WIFI
[openwrt/openwrt.git] / target / linux / ath79 / dts / ar9344_devolo_magic-2-wifi.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 "ar9344.dtsi"
8
9 / {
10 model = "Devolo Magic 2 Wifi";
11 compatible = "devolo,magic-2-wifi", "qca,ar9344";
12
13 aliases {
14 led-boot = &led_dlan_red;
15 led-failsafe = &led_dlan_red;
16 led-running = &led_dlan_white;
17 led-upgrade = &led_dlan_red;
18 };
19
20 leds {
21 compatible = "gpio-leds";
22
23 wlan {
24 label = "devolo:white:wlan";
25 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
26 linux,default-trigger = "phy1tpt";
27 };
28
29 led_dlan_white: dlan_white {
30 label = "devolo:white:dlan";
31 gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
32 };
33
34 led_dlan_red: dlan_red {
35 label = "devolo:red:dlan";
36 gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
37 panic-indicator;
38 };
39 };
40
41 keys {
42 compatible = "gpio-keys";
43
44 reset {
45 label = "Reset button";
46 linux,code = <KEY_RESTART>;
47 gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
48 debounce-interval = <60>;
49 };
50
51 wifi {
52 label = "WIFI button";
53 linux,code = <KEY_RFKILL>;
54 gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
55 debounce-interval = <60>;
56 };
57
58 dlan {
59 label = "DLAN button";
60 linux,code = <BTN_0>;
61 gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
62 debounce-interval = <60>;
63 };
64 };
65 };
66
67 &gpio {
68 status = "okay";
69
70 wlan_power {
71 gpio-hog;
72 line-name = "WLAN power";
73 gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
74 output-high;
75 };
76 };
77
78 &spi {
79 status = "okay";
80
81 num-cs = <1>;
82
83 flash@0 {
84 compatible = "jedec,spi-nor";
85 reg = <0>;
86 spi-max-frequency = <25000000>;
87
88 partitions {
89 compatible = "fixed-partitions";
90 #address-cells = <1>;
91 #size-cells = <1>;
92
93 uboot: partition@0 {
94 label = "u-boot";
95 reg = <0x0 0x40000>;
96 read-only;
97 };
98
99 partition@40000 {
100 label = "u-boot-env";
101 reg = <0x40000 0x10000>;
102 read-only;
103 };
104
105 partition@50000 {
106 label = "Config1";
107 reg = <0x50000 0x10000>;
108 read-only;
109 };
110
111 partition@60000 {
112 label = "Config2";
113 reg = <0x60000 0x10000>;
114 read-only;
115 };
116
117 partition@70000 {
118 compatible = "denx,uimage";
119 label = "firmware";
120 reg = <0x70000 0xf80000>;
121 };
122
123 art: partition@ff0000 {
124 label = "art";
125 reg = <0xff0000 0x10000>;
126 read-only;
127 };
128 };
129 };
130 };
131
132 &ref {
133 clock-frequency = <40000000>;
134 };
135
136 &uart {
137 status = "okay";
138 };
139
140 &eth0 {
141 status = "okay";
142
143 pll-data = <0x02000000 0x00000101 0x00001616>;
144
145 mtd-mac-address = <&art 0x1002>;
146 mtd-mac-address-increment = <2>;
147
148 phy-mode = "rgmii";
149 phy-handle = <&phy0>;
150 };
151
152 &wmac {
153 status = "okay";
154
155 mtd-cal-data = <&art 0x1000>;
156 };
157
158 &pcie {
159 status = "okay";
160
161 wifi@0,0 {
162 compatible = "qcom,ath10k";
163 reg = <0 0 0 0 0>;
164 };
165 };
166
167 &mdio0 {
168 status = "okay";
169
170 phy0: ethernet-phy@0 {
171 reg = <0>;
172 phy-mode = "rgmii";
173
174 qca,ar8327-initvals = <
175 /* PORT0: RGMII, MAC0/6 exchage, tx_delay 01, No rx_delay */
176 0x04 0x06400000
177 0x08 0x00000000 /* PORT5 PAD MODE CTRL */
178 0x0c 0x00000000 /* PORT6 PAD MODE CTRL */
179 0x7c 0x0000007e /* PORT0_STATUS */
180 >;
181 };
182 };