ath79: refresh patches
[openwrt/openwrt.git] / target / linux / ath79 / dts / ar9341_pisen_wmb001n.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 "ar9341.dtsi"
8
9 / {
10 model = "PISEN WMB001N";
11 compatible = "pisen,wmb001n", "qca,ar9341";
12
13 aliases {
14 serial0 = &uart;
15 led-boot = &led_wifi;
16 led-failsafe = &led_wifi;
17 led-running = &led_wifi;
18 led-upgrade = &led_wifi;
19 };
20
21 i2c {
22 compatible = "i2c-gpio";
23 pinctrl-names = "default";
24 pinctrl-0 = <&pmx_i2c_gpio &pmx_i2s_spdif>;
25
26 sda-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
27 scl-gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
28 /*
29 * Pull-up resistor for scl is missing on this board.
30 * Following settings trick i2c-gpio to use output mode
31 * instead of open-drain for scl.
32 */
33 i2c-gpio,scl-output-only;
34 i2c-gpio,scl-open-drain;
35 };
36
37 keys {
38 compatible = "gpio-keys";
39
40 reset {
41 label = "reset";
42 linux,code = <KEY_RESTART>;
43 gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
44 debounce-interval = <60>;
45 };
46
47 vol_down {
48 label = "volume down";
49 linux,code = <KEY_VOLUMEDOWN>;
50 gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
51 debounce-interval = <60>;
52 };
53
54 vol_up {
55 label = "volume up";
56 linux,code = <KEY_VOLUMEUP>;
57 gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
58 debounce-interval = <60>;
59 };
60 };
61
62 leds {
63 compatible = "gpio-leds";
64 pinctrl-names = "default";
65 pinctrl-0 = <&jtag_disable_pins>;
66
67 volume1 {
68 label = "wmb001n:blue:volume1";
69 gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
70 };
71
72 volume2 {
73 label = "wmb001n:blue:volume2";
74 gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
75 };
76
77 volume3 {
78 label = "wmb001n:blue:volume3";
79 gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
80 };
81
82 volume4 {
83 label = "wmb001n:blue:volume4";
84 gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
85 };
86
87 volume5 {
88 label = "wmb001n:blue:volume5";
89 gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
90 };
91
92 led_wifi: wifi {
93 label = "wmb001n:blue:wifi";
94 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
95 };
96 };
97
98 virtual_flash {
99 compatible = "mtd-concat";
100 devices = <&fwpart1 &fwpart2>;
101
102 partitions {
103 compatible = "fixed-partitions";
104 #address-cells = <1>;
105 #size-cells = <1>;
106
107 partition@0 {
108 reg = <0x0 0x0>;
109 label = "firmware";
110 compatible = "openwrt,okli";
111 };
112 };
113 };
114 };
115
116 &pinmux {
117 pmx_i2c_gpio: pinmux_i2c_gpio {
118 pinctrl-single,bits = <0x10 0x0 0xff>,
119 <0x14 0x0 0xff>;
120 };
121
122 pmx_i2s_spdif: pinmux_i2s_spdif {
123 pinctrl-single,bits = <0x8 0x0e000000 0xff000000>,
124 <0xc 0x0f0c0d 0xffffff>,
125 <0x14 0x1900 0xff00>;
126 };
127 };
128
129 &ref {
130 clock-frequency = <25000000>;
131 };
132
133 &uart {
134 status = "okay";
135 };
136
137 &spi {
138 num-cs = <1>;
139
140 status = "okay";
141
142 flash@0 {
143 compatible = "jedec,spi-nor";
144 reg = <0>;
145 spi-max-frequency = <25000000>;
146
147 partitions {
148 compatible = "fixed-partitions";
149 #address-cells = <1>;
150 #size-cells = <1>;
151
152 uboot: partition@0 {
153 label = "u-boot";
154 reg = <0x0 0x10000>;
155 read-only;
156 };
157
158 partition@10000 {
159 label = "u-boot-env";
160 reg = <0x10000 0x10000>;
161 read-only;
162 };
163
164 fwpart1: partition@20000 {
165 label = "fwpart1";
166 reg = <0x20000 0xdc0000>;
167 };
168
169 partition@de0000 {
170 label = "loader";
171 reg = <0xde0000 0x10000>;
172 };
173
174 fwpart2: partition@df0000 {
175 label = "fwpart2";
176 reg = <0xdf0000 0x1f0000>;
177 };
178
179 partition@fe0000 {
180 label = "mib0";
181 reg = <0xfe0000 0x10000>;
182 read-only;
183 };
184
185 art: partition@ff0000 {
186 label = "art";
187 reg = <0xff0000 0x10000>;
188 read-only;
189 };
190 };
191 };
192 };
193
194 &eth0 {
195 status = "okay";
196 phy-handle = <&swphy4>;
197 mtd-mac-address = <&art 0x0>;
198 };
199
200 &eth1 {
201 compatible = "syscon", "simple-mfd";
202 status = "okay";
203
204 gmac-config {
205 device = <&gmac>;
206 switch-phy-swap = <0>;
207 };
208 };
209
210 &usb {
211 status = "okay";
212 };
213
214 &usb_phy {
215 status = "okay";
216 };
217
218 &wmac {
219 status = "okay";
220 mtd-cal-data = <&art 0x1000>;
221 };