ath79: fix nanobeam ac ethernet interface
[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
8 / {
9 model = "PISEN WMB001N";
10 compatible = "pisen,wmb001n", "qca,ar9341";
11
12 aliases {
13 serial0 = &uart;
14 led-boot = &led_wifi;
15 led-failsafe = &led_wifi;
16 led-running = &led_wifi;
17 led-upgrade = &led_wifi;
18 };
19
20 i2c {
21 compatible = "i2c-gpio";
22 pinctrl-names = "default";
23 pinctrl-0 = <&pmx_i2c_gpio &pmx_i2s_spdif>;
24
25 sda-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
26 scl-gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
27 /*
28 * Pull-up resistor for scl is missing on this board.
29 * Following settings trick i2c-gpio to use output mode
30 * instead of open-drain for scl.
31 */
32 i2c-gpio,scl-output-only;
33 i2c-gpio,scl-open-drain;
34 };
35
36 keys {
37 compatible = "gpio-keys";
38
39 reset {
40 label = "reset";
41 linux,code = <KEY_RESTART>;
42 gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
43 debounce-interval = <60>;
44 };
45
46 vol_down {
47 label = "volume down";
48 linux,code = <KEY_VOLUMEDOWN>;
49 gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
50 debounce-interval = <60>;
51 };
52
53 vol_up {
54 label = "volume up";
55 linux,code = <KEY_VOLUMEUP>;
56 gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
57 debounce-interval = <60>;
58 };
59 };
60
61 leds {
62 compatible = "gpio-leds";
63 pinctrl-names = "default";
64 pinctrl-0 = <&jtag_disable_pins>;
65
66 volume1 {
67 label = "blue:volume1";
68 gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
69 };
70
71 volume2 {
72 label = "blue:volume2";
73 gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
74 };
75
76 volume3 {
77 label = "blue:volume3";
78 gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
79 };
80
81 volume4 {
82 label = "blue:volume4";
83 gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
84 };
85
86 volume5 {
87 label = "blue:volume5";
88 gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
89 };
90
91 led_wifi: wifi {
92 label = "blue:wifi";
93 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
94 };
95 };
96
97 virtual_flash {
98 compatible = "mtd-concat";
99 devices = <&fwpart1 &fwpart2>;
100
101 partitions {
102 compatible = "fixed-partitions";
103 #address-cells = <1>;
104 #size-cells = <1>;
105
106 partition@0 {
107 reg = <0x0 0x0>;
108 label = "firmware";
109 compatible = "openwrt,okli";
110 };
111 };
112 };
113 };
114
115 &pinmux {
116 pmx_i2c_gpio: pinmux_i2c_gpio {
117 pinctrl-single,bits = <0x10 0x0 0xff>,
118 <0x14 0x0 0xff>;
119 };
120
121 pmx_i2s_spdif: pinmux_i2s_spdif {
122 pinctrl-single,bits = <0x8 0x0e000000 0xff000000>,
123 <0xc 0x0f0c0d 0xffffff>,
124 <0x14 0x1900 0xff00>;
125 };
126 };
127
128 &ref {
129 clock-frequency = <25000000>;
130 };
131
132 &uart {
133 status = "okay";
134 };
135
136 &spi {
137 num-cs = <1>;
138
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 fwpart1: partition@20000 {
164 label = "fwpart1";
165 reg = <0x20000 0xdc0000>;
166 };
167
168 partition@de0000 {
169 label = "loader";
170 reg = <0xde0000 0x10000>;
171 };
172
173 fwpart2: partition@df0000 {
174 label = "fwpart2";
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 };