ath79: qca: convert to nvmem-layout
[openwrt/openwrt.git] / target / linux / ath79 / dts / qca9558_tplink_tl-wr1043nd.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_system;
11 led-failsafe = &led_system;
12 led-running = &led_system;
13 led-upgrade = &led_system;
14 label-mac-device = &wmac;
15 };
16
17 leds {
18 compatible = "gpio-leds";
19
20 led_system: system {
21 label = "green:system";
22 gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
23 linux,default-trigger = "heartbeat";
24 };
25
26 usb {
27 label = "green:usb";
28 gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
29 trigger-sources = <&hub_port0>;
30 linux,default-trigger = "usbport";
31 };
32
33 wifi_green {
34 label = "green:wlan";
35 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
36 linux,default-trigger = "phy0tpt";
37 };
38
39 wifi_wps {
40 label = "green:wps";
41 gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
42 };
43 };
44
45 keys {
46 compatible = "gpio-keys";
47
48 reset {
49 label = "Reset button";
50 linux,code = <KEY_RESTART>;
51 gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
52 debounce-interval = <60>;
53 };
54
55 wifi {
56 label = "RFKILL button";
57 linux,code = <KEY_RFKILL>;
58 gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
59 debounce-interval = <60>;
60 };
61 };
62
63 gpio-export {
64 compatible = "gpio-export";
65 #size-cells = <0>;
66
67 gpio_usb_power {
68 gpio-export,name = "tp-link:power:usb";
69 gpio-export,output = <1>;
70 gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
71 };
72 };
73 };
74
75 &usb_phy0 {
76 status = "okay";
77 };
78
79 &usb0 {
80 status = "okay";
81 };
82
83 &spi {
84 status = "okay";
85
86 flash@0 {
87 compatible = "jedec,spi-nor";
88 reg = <0>;
89 spi-max-frequency = <33400000>;
90
91 partitions {
92 compatible = "fixed-partitions";
93 #address-cells = <1>;
94 #size-cells = <1>;
95
96 uboot: partition@0 {
97 label = "u-boot";
98 reg = <0x000000 0x020000>;
99 read-only;
100
101 nvmem-layout {
102 compatible = "fixed-layout";
103 #address-cells = <1>;
104 #size-cells = <1>;
105
106 macaddr_uboot_1fc00: macaddr@1fc00 {
107 reg = <0x1fc00 0x6>;
108 };
109 };
110 };
111
112 partition@20000 {
113 compatible = "tplink,firmware";
114 label = "firmware";
115 reg = <0x020000 0x7d0000>;
116 };
117
118 art: partition@7f0000 {
119 label = "art";
120 reg = <0x7f0000 0x010000>;
121 read-only;
122 };
123 };
124 };
125 };
126
127 &mdio0 {
128 status = "okay";
129
130 phy0: ethernet-phy@0 {
131 reg = <0>;
132 qca,ar8327-initvals = <
133 0x04 0x00080080 /* PORT0 PAD MODE CTRL */
134 0x0c 0x07600000 /* PORT6 PAD MODE CTRL */
135 0x10 0x81000080 /* POWER_ON_STRAP */
136 0x50 0xcc35cc35 /* LED_CTRL0 */
137 0x54 0xca35ca35 /* LED_CTRL1 */
138 0x58 0xc935c935 /* LED_CTRL2 */
139 0x5c 0x03ffff00 /* LED_CTRL3 */
140 0x7c 0x0000007e /* PORT0_STATUS */
141 0x94 0x0000007e /* PORT6 STATUS */
142 >;
143 };
144 };
145
146 &eth0 {
147 status = "okay";
148
149 pll-data = <0x56000000 0x00000101 0x00001616>;
150
151 nvmem-cells = <&macaddr_uboot_1fc00>;
152 nvmem-cell-names = "mac-address";
153 mac-address-increment = <1>;
154 phy-handle = <&phy0>;
155 };
156
157 &eth1 {
158 status = "okay";
159
160 pll-data = <0x03000101 0x00000101 0x00001616>;
161
162 nvmem-cells = <&macaddr_uboot_1fc00>;
163 nvmem-cell-names = "mac-address";
164
165 fixed-link {
166 speed = <1000>;
167 full-duplex;
168 };
169 };
170
171 &wmac {
172 status = "okay";
173 mtd-cal-data = <&art 0x1000>;
174 nvmem-cells = <&macaddr_uboot_1fc00>;
175 nvmem-cell-names = "mac-address";
176 };