ath79: convert ath10k calibration data to NVMEM (binary MAC)
[openwrt/staging/dangole.git] / target / linux / ath79 / dts / qca9558_tplink_rex5x.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "qca955x.dtsi"
4
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/input.h>
7
8 / {
9 aliases {
10 led-boot = &led_power;
11 led-failsafe = &led_power;
12 led-running = &led_power;
13 led-upgrade = &led_power;
14 mdio-gpio0 = &mdio2;
15 label-mac-device = &eth0;
16 };
17
18 leds {
19 compatible = "gpio-leds";
20
21 led_power: power {
22 label = "blue:power";
23 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
24 };
25
26 wlan2g {
27 label = "blue:wlan2g";
28 gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
29 linux,default-trigger = "phy1tpt";
30 };
31
32 wlan5g {
33 label = "blue:wlan5g";
34 gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
35 linux,default-trigger = "phy0tpt";
36 };
37
38 lan_link {
39 label = "green:lan_link";
40 gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
41 };
42
43 lan_data {
44 label = "green:lan_data";
45 gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
46 };
47
48 wps_blue {
49 label = "blue:wps";
50 gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
51 };
52
53 wps_red {
54 label = "red:wps";
55 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
56 };
57 };
58
59 keys {
60 compatible = "gpio-keys";
61
62 reset {
63 label = "Reset button";
64 linux,code = <KEY_RESTART>;
65 gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
66 debounce-interval = <60>;
67 };
68
69 leds {
70 label = "LED control button";
71 linux,code = <BTN_0>;
72 gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
73 debounce-interval = <60>;
74 };
75
76 wps {
77 label = "WPS button";
78 linux,code = <KEY_WPS_BUTTON>;
79 gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
80 debounce-interval = <60>;
81 };
82 };
83
84 mdio2: mdio {
85 compatible = "virtual,mdio-gpio";
86
87 gpios = <&gpio 3 GPIO_ACTIVE_HIGH>, /* MDC */
88 <&gpio 1 GPIO_ACTIVE_HIGH>; /* MDIO */
89 #address-cells = <1>;
90 #size-cells = <0>;
91
92 phy4: ethernet-phy@4 {
93 reg = <4>;
94 reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
95 };
96 };
97 };
98
99 &pcie0 {
100 status = "okay";
101
102 wifi@0,0 {
103 compatible = "qcom,ath10k";
104 reg = <0x0000 0 0 0 0>;
105 nvmem-cells = <&cal_art_5000>, <&macaddr_info_8 (-2)>;
106 nvmem-cell-names = "calibration", "mac-address";
107 };
108 };
109
110 &spi {
111 status = "okay";
112
113 flash@0 {
114 compatible = "jedec,spi-nor";
115 reg = <0>;
116 spi-max-frequency = <25000000>;
117
118 partitions {
119 compatible = "fixed-partitions";
120 #address-cells = <1>;
121 #size-cells = <1>;
122
123 partition@0 {
124 label = "u-boot";
125 reg = <0x000000 0x020000>;
126 read-only;
127 };
128
129 partition@20000 {
130 compatible = "tplink,firmware";
131 label = "firmware";
132 reg = <0x020000 0x5e0000>;
133 };
134
135 partition@600000 {
136 label = "partition-table";
137 reg = <0x600000 0x010000>;
138 read-only;
139 };
140
141 info: partition@610000 {
142 label = "info";
143 reg = <0x610000 0x020000>;
144 read-only;
145
146 nvmem-layout {
147 compatible = "fixed-layout";
148 #address-cells = <1>;
149 #size-cells = <1>;
150
151 macaddr_info_8: macaddr@8 {
152 compatible = "mac-base";
153 reg = <0x8 0x6>;
154 #nvmem-cell-cells = <1>;
155 };
156 };
157 };
158
159 partition@630000 {
160 label = "config";
161 reg = <0x630000 0x1c0000>;
162 read-only;
163 };
164
165 art: partition@7f0000 {
166 label = "art";
167 reg = <0x7f0000 0x010000>;
168 read-only;
169
170 nvmem-layout {
171 compatible = "fixed-layout";
172 #address-cells = <1>;
173 #size-cells = <1>;
174
175 cal_art_5000: calibration@5000 {
176 reg = <0x5000 0x844>;
177 };
178 };
179 };
180 };
181 };
182 };
183
184 &eth0 {
185 status = "okay";
186
187 phy-handle = <&phy4>;
188 pll-data = <0xa6000000 0x00000101 0x00001616>;
189
190 nvmem-cells = <&macaddr_info_8 0>;
191 nvmem-cell-names = "mac-address";
192 };
193
194 &wmac {
195 status = "okay";
196
197 mtd-cal-data = <&art 0x1000>;
198 nvmem-cells = <&macaddr_info_8 (-1)>;
199 nvmem-cell-names = "mac-address";
200 };