98236d44a6835010bf1edb287bc4a5785376d77c
[openwrt/openwrt.git] / target / linux / ath79 / dts / ar9341_pisen_wmb001n.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "ar9341.dtsi"
4
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/input.h>
7 #include <dt-bindings/mtd/partitions/uimage.h>
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 = "blue:volume1";
69 gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
70 };
71
72 volume2 {
73 label = "blue:volume2";
74 gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
75 };
76
77 volume3 {
78 label = "blue:volume3";
79 gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
80 };
81
82 volume4 {
83 label = "blue:volume4";
84 gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
85 };
86
87 volume5 {
88 label = "blue:volume5";
89 gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
90 };
91
92 led_wifi: wifi {
93 label = "blue:wifi";
94 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
95 };
96 };
97
98 virtual_flash {
99 compatible = "mtd-concat";
100 devices = <&fwconcat0 &fwconcat1>;
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,uimage", "denx,uimage";
111 openwrt,ih-magic = <IH_MAGIC_OKLI>;
112 };
113 };
114 };
115 };
116
117 &pinmux {
118 pmx_i2c_gpio: pinmux_i2c_gpio {
119 pinctrl-single,bits = <0x10 0x0 0xff>,
120 <0x14 0x0 0xff>;
121 };
122
123 pmx_i2s_spdif: pinmux_i2s_spdif {
124 pinctrl-single,bits = <0x8 0x0e000000 0xff000000>,
125 <0xc 0x0f0c0d 0xffffff>,
126 <0x14 0x1900 0xff00>;
127 };
128 };
129
130 &ref {
131 clock-frequency = <25000000>;
132 };
133
134 &uart {
135 status = "okay";
136 };
137
138 &spi {
139 status = "okay";
140
141 flash@0 {
142 compatible = "jedec,spi-nor";
143 reg = <0>;
144 spi-max-frequency = <25000000>;
145
146 partitions {
147 compatible = "fixed-partitions";
148 #address-cells = <1>;
149 #size-cells = <1>;
150
151 uboot: partition@0 {
152 label = "u-boot";
153 reg = <0x0 0x10000>;
154 read-only;
155 };
156
157 partition@10000 {
158 label = "u-boot-env";
159 reg = <0x10000 0x10000>;
160 read-only;
161 };
162
163 fwconcat0: partition@20000 {
164 label = "fwconcat0";
165 reg = <0x20000 0xdc0000>;
166 };
167
168 partition@de0000 {
169 label = "loader";
170 reg = <0xde0000 0x10000>;
171 };
172
173 fwconcat1: partition@df0000 {
174 label = "fwconcat1";
175 reg = <0xdf0000 0x1f0000>;
176 };
177
178 partition@fe0000 {
179 label = "mib0";
180 reg = <0xfe0000 0x10000>;
181 read-only;
182 };
183
184 art: partition@ff0000 {
185 label = "art";
186 reg = <0xff0000 0x10000>;
187 read-only;
188 };
189 };
190 };
191 };
192
193 &eth0 {
194 status = "okay";
195 phy-handle = <&swphy4>;
196 mtd-mac-address = <&art 0x0>;
197 };
198
199 &eth1 {
200 compatible = "syscon", "simple-mfd";
201 status = "okay";
202
203 gmac-config {
204 device = <&gmac>;
205 switch-phy-swap = <0>;
206 };
207 };
208
209 &usb {
210 status = "okay";
211 };
212
213 &usb_phy {
214 status = "okay";
215 };
216
217 &wmac {
218 status = "okay";
219 mtd-cal-data = <&art 0x1000>;
220 };