ath79: qca: convert to nvmem-layout
[openwrt/staging/hauke.git] / target / linux / ath79 / dts / qca9533_openmesh_om2p-v4.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "qca953x.dtsi"
4
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/input.h>
7
8 / {
9 chosen {
10 /delete-property/ bootargs;
11 };
12
13 aliases {
14 led-boot = &led_power_blue;
15 led-failsafe = &led_power_blue;
16 led-running = &led_power_blue;
17 led-upgrade = &led_power_blue;
18 label-mac-device = &eth0;
19 };
20
21 keys {
22 compatible = "gpio-keys";
23
24 pinctrl-names = "default";
25 pinctrl-0 = <&jtag_disable_pins>;
26
27 reset {
28 label = "reset";
29 linux,code = <KEY_RESTART>;
30 gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
31 };
32 };
33
34 leds {
35 compatible = "gpio-leds";
36
37 led_power_blue: power_blue {
38 label = "blue:power";
39 gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
40 default-state = "on";
41 };
42
43 wifi_green {
44 label = "green:wifi";
45 gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
46 linux,default-trigger = "phy0tpt";
47 };
48
49 wifi_yellow {
50 label = "yellow:wifi";
51 gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
52 };
53
54 wifi_red {
55 label = "red:wifi";
56 gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
57 };
58
59 wan_blue {
60 label = "blue:wan";
61 gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
62 };
63
64 lan_blue {
65 label = "blue:lan";
66 gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
67 };
68 };
69
70 watchdog {
71 compatible = "linux,wdt-gpio";
72 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
73 hw_algo = "toggle";
74 /* hw_margin_ms is actually 300s but driver limits it to 60s */
75 hw_margin_ms = <60000>;
76 always-running;
77 };
78 };
79
80 &spi {
81 status = "okay";
82
83 flash@0 {
84 compatible = "jedec,spi-nor";
85 reg = <0>;
86 spi-max-frequency = <25000000>;
87
88 /* partitions are passed via bootloader */
89 partitions {
90 compatible = "fixed-partitions";
91 #address-cells = <1>;
92 #size-cells = <1>;
93
94 partition@0 {
95 label = "u-boot";
96 reg = <0x000000 0x040000>;
97 read-only;
98 };
99
100 partition@40000 {
101 label = "u-boot-env";
102 reg = <0x040000 0x040000>;
103 };
104
105 partition@80000 {
106 label = "custom";
107 reg = <0x080000 0x140000>;
108 read-only;
109 };
110
111 partition@1c0000 {
112 label = "inactive";
113 reg = <0x1c0000 0x700000>;
114 };
115
116 partition@8c0000 {
117 label = "inactive2";
118 reg = <0x8c0000 0x700000>;
119 };
120
121 art: partition@fc0000 {
122 label = "ART";
123 reg = <0xfc0000 0x040000>;
124 read-only;
125
126 nvmem-layout {
127 compatible = "fixed-layout";
128 #address-cells = <1>;
129 #size-cells = <1>;
130
131 macaddr_art_0: macaddr@0 {
132 reg = <0x0 0x6>;
133 };
134
135 macaddr_art_6: macaddr@6 {
136 reg = <0x6 0x6>;
137 };
138 };
139 };
140 };
141 };
142 };
143
144 &eth0 {
145 status = "okay";
146
147 phy-handle = <&swphy4>;
148
149 nvmem-cells = <&macaddr_art_0>;
150 nvmem-cell-names = "mac-address";
151 };
152
153 &eth1 {
154 /* Workaround: keep the Ethernet interfaces order/mapping correct
155 * (GMAC0 -> eth0, GMAC1 -> eth1, same as in old ar71xx target)
156 */
157 compatible = "qca,qca9530-eth", "syscon", "simple-mfd";
158
159 nvmem-cells = <&macaddr_art_6>;
160 nvmem-cell-names = "mac-address";
161 };
162
163 &wmac {
164 status = "okay";
165
166 mtd-cal-data = <&art 0x1000>;
167 nvmem-cells = <&macaddr_art_0>;
168 nvmem-cell-names = "mac-address";
169 mac-address-increment = <2>;
170 };