mediatek: sync and patches add support for several boards
[openwrt.git] / target / linux / mediatek / files / arch / arm / boot / dts / mt7623-NAND.dts
1 /*
2  * Copyright (c) 2016 MediaTek Inc.
3  * Author: John Crispin <blogic@openwrt.org>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  */
14
15 /dts-v1/;
16
17 #include "mt7623.dtsi"
18 #include <dt-bindings/gpio/gpio.h>
19
20 / {
21         model = "MediaTek MT7623 evaluation board";
22         compatible = "mediatek,mt7623-evb", "mediatek,mt7623";
23
24         chosen {
25                 stdout-path = &uart2;
26         };
27
28         memory {
29                 reg = <0 0x80000000 0 0x20000000>;
30         };
31
32         usb_p1_vbus: regulator@0 {
33                 compatible = "regulator-fixed";
34                 regulator-name = "usb_vbus";
35                 regulator-min-microvolt = <5000000>;
36                 regulator-max-microvolt = <5000000>;
37                 gpio = <&pio 135 GPIO_ACTIVE_HIGH>;
38                 enable-active-high;
39         };
40 };
41
42 &cpu0 {
43         proc-supply = <&mt6323_vproc_reg>;
44 };
45
46 &cpu1 {
47         proc-supply = <&mt6323_vproc_reg>;
48 };
49
50 &cpu2 {
51         proc-supply = <&mt6323_vproc_reg>;
52 };
53
54 &cpu3 {
55         proc-supply = <&mt6323_vproc_reg>;
56 };
57
58 &pwrap {
59         pmic: mt6323 {
60                 compatible = "mediatek,mt6323";
61                 interrupt-parent = <&pio>;
62                 interrupts = <150 IRQ_TYPE_LEVEL_HIGH>;
63                 interrupt-controller;
64                 #interrupt-cells = <2>;
65
66                 mt6323regulator: mt6323regulator{
67                         compatible = "mediatek,mt6323-regulator";
68
69                         mt6323_vproc_reg: buck_vproc{
70                                 regulator-name = "vproc";
71                                 regulator-min-microvolt = < 700000>;
72                                 regulator-max-microvolt = <1350000>;
73                                 regulator-ramp-delay = <12500>;
74                                 regulator-always-on;
75                                 regulator-boot-on;
76                         };
77
78                         mt6323_vsys_reg: buck_vsys{
79                                 regulator-name = "vsys";
80                                 regulator-min-microvolt = <1400000>;
81                                 regulator-max-microvolt = <2987500>;
82                                 regulator-ramp-delay = <25000>;
83                                 regulator-always-on;
84                                 regulator-boot-on;
85                         };
86
87                         mt6323_vpa_reg: buck_vpa{
88                                 regulator-name = "vpa";
89                                 regulator-min-microvolt = < 500000>;
90                                 regulator-max-microvolt = <3650000>;
91                         };
92
93                         mt6323_vtcxo_reg: ldo_vtcxo{
94                                 regulator-name = "vtcxo";
95                                 regulator-min-microvolt = <2800000>;
96                                 regulator-max-microvolt = <2800000>;
97                                 regulator-enable-ramp-delay = <90>;
98                                 regulator-always-on;
99                                 regulator-boot-on;
100                         };
101
102                         mt6323_vcn28_reg: ldo_vcn28{
103                                 regulator-name = "vcn28";
104                                 regulator-min-microvolt = <2800000>;
105                                 regulator-max-microvolt = <2800000>;
106                                 regulator-enable-ramp-delay = <185>;
107                         };
108
109                         mt6323_vcn33_bt_reg: ldo_vcn33_bt{
110                                 regulator-name = "vcn33_bt";
111                                 regulator-min-microvolt = <3300000>;
112                                 regulator-max-microvolt = <3600000>;
113                                 regulator-enable-ramp-delay = <185>;
114                         };
115
116                         mt6323_vcn33_wifi_reg: ldo_vcn33_wifi{
117                                 regulator-name = "vcn33_wifi";
118                                 regulator-min-microvolt = <3300000>;
119                                 regulator-max-microvolt = <3600000>;
120                                 regulator-enable-ramp-delay = <185>;
121                         };
122
123                         mt6323_va_reg: ldo_va{
124                                 regulator-name = "va";
125                                 regulator-min-microvolt = <2800000>;
126                                 regulator-max-microvolt = <2800000>;
127                                 regulator-enable-ramp-delay = <216>;
128                                 regulator-always-on;
129                                 regulator-boot-on;
130                         };
131
132                         mt6323_vcama_reg: ldo_vcama{
133                                 regulator-name = "vcama";
134                                 regulator-min-microvolt = <1500000>;
135                                 regulator-max-microvolt = <2800000>;
136                                 regulator-enable-ramp-delay = <216>;
137                         };
138
139                         mt6323_vio28_reg: ldo_vio28{
140                                 regulator-name = "vio28";
141                                 regulator-min-microvolt = <2800000>;
142                                 regulator-max-microvolt = <2800000>;
143                                 regulator-enable-ramp-delay = <216>;
144                                 regulator-always-on;
145                                 regulator-boot-on;
146                         };
147
148                         mt6323_vusb_reg: ldo_vusb{
149                                 regulator-name = "vusb";
150                                 regulator-min-microvolt = <3300000>;
151                                 regulator-max-microvolt = <3300000>;
152                                 regulator-enable-ramp-delay = <216>;
153                                 regulator-boot-on;
154                         };
155
156                         mt6323_vmc_reg: ldo_vmc{
157                                 regulator-name = "vmc";
158                                 regulator-min-microvolt = <1800000>;
159                                 regulator-max-microvolt = <3300000>;
160                                 regulator-enable-ramp-delay = <36>;
161                                 regulator-boot-on;
162                         };
163
164                         mt6323_vmch_reg: ldo_vmch{
165                                 regulator-name = "vmch";
166                                 regulator-min-microvolt = <3000000>;
167                                 regulator-max-microvolt = <3300000>;
168                                 regulator-enable-ramp-delay = <36>;
169                                 regulator-boot-on;
170                         };
171
172                         mt6323_vemc3v3_reg: ldo_vemc3v3{
173                                 regulator-name = "vemc3v3";
174                                 regulator-min-microvolt = <3000000>;
175                                 regulator-max-microvolt = <3300000>;
176                                 regulator-enable-ramp-delay = <36>;
177                                 regulator-boot-on;
178                         };
179
180                         mt6323_vgp1_reg: ldo_vgp1{
181                                 regulator-name = "vgp1";
182                                 regulator-min-microvolt = <1200000>;
183                                 regulator-max-microvolt = <3300000>;
184                                 regulator-enable-ramp-delay = <216>;
185                         };
186
187                         mt6323_vgp2_reg: ldo_vgp2{
188                                 regulator-name = "vgp2";
189                                 regulator-min-microvolt = <1200000>;
190                                 regulator-max-microvolt = <3000000>;
191                                 regulator-enable-ramp-delay = <216>;
192                         };
193
194                         mt6323_vgp3_reg: ldo_vgp3{
195                                 regulator-name = "vgp3";
196                                 regulator-min-microvolt = <1200000>;
197                                 regulator-max-microvolt = <1800000>;
198                                 regulator-enable-ramp-delay = <216>;
199                         };
200
201                         mt6323_vcn18_reg: ldo_vcn18{
202                                 regulator-name = "vcn18";
203                                 regulator-min-microvolt = <1800000>;
204                                 regulator-max-microvolt = <1800000>;
205                                 regulator-enable-ramp-delay = <216>;
206                         };
207
208                         mt6323_vsim1_reg: ldo_vsim1{
209                                 regulator-name = "vsim1";
210                                 regulator-min-microvolt = <1800000>;
211                                 regulator-max-microvolt = <3000000>;
212                                 regulator-enable-ramp-delay = <216>;
213                         };
214
215                         mt6323_vsim2_reg: ldo_vsim2{
216                                 regulator-name = "vsim2";
217                                 regulator-min-microvolt = <1800000>;
218                                 regulator-max-microvolt = <3000000>;
219                                 regulator-enable-ramp-delay = <216>;
220                         };
221
222                         mt6323_vrtc_reg: ldo_vrtc{
223                                 regulator-name = "vrtc";
224                                 regulator-min-microvolt = <2800000>;
225                                 regulator-max-microvolt = <2800000>;
226                                 regulator-always-on;
227                                 regulator-boot-on;
228                         };
229
230                         mt6323_vcamaf_reg: ldo_vcamaf{
231                                 regulator-name = "vcamaf";
232                                 regulator-min-microvolt = <1200000>;
233                                 regulator-max-microvolt = <3300000>;
234                                 regulator-enable-ramp-delay = <216>;
235                         };
236
237                         mt6323_vibr_reg: ldo_vibr{
238                                 regulator-name = "vibr";
239                                 regulator-min-microvolt = <1200000>;
240                                 regulator-max-microvolt = <3300000>;
241                                 regulator-enable-ramp-delay = <36>;
242                         };
243
244                         mt6323_vrf18_reg: ldo_vrf18{
245                                 regulator-name = "vrf18";
246                                 regulator-min-microvolt = <1825000>;
247                                 regulator-max-microvolt = <1825000>;
248                                 regulator-enable-ramp-delay = <187>;
249                         };
250
251                         mt6323_vm_reg: ldo_vm{
252                                 regulator-name = "vm";
253                                 regulator-min-microvolt = <1200000>;
254                                 regulator-max-microvolt = <1800000>;
255                                 regulator-enable-ramp-delay = <216>;
256                                 regulator-always-on;
257                                 regulator-boot-on;
258                         };
259
260                         mt6323_vio18_reg: ldo_vio18{
261                                 regulator-name = "vio18";
262                                 regulator-min-microvolt = <1800000>;
263                                 regulator-max-microvolt = <1800000>;
264                                 regulator-enable-ramp-delay = <216>;
265                                 regulator-always-on;
266                                 regulator-boot-on;
267                         };
268
269                         mt6323_vcamd_reg: ldo_vcamd{
270                                 regulator-name = "vcamd";
271                                 regulator-min-microvolt = <1200000>;
272                                 regulator-max-microvolt = <1800000>;
273                                 regulator-enable-ramp-delay = <216>;
274                         };
275
276                         mt6323_vcamio_reg: ldo_vcamio{
277                                 regulator-name = "vcamio";
278                                 regulator-min-microvolt = <1800000>;
279                                 regulator-max-microvolt = <1800000>;
280                                 regulator-enable-ramp-delay = <216>;
281                         };
282                 };
283         };
284 };
285
286 &uart2 {
287         status = "okay";
288 };
289
290 &pio {
291         nand_pins_default: nanddefault {
292                 pins_dat {
293                         pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_NLD7>,
294                                  <MT7623_PIN_112_MSDC0_DAT6_FUNC_NLD6>,
295                                  <MT7623_PIN_114_MSDC0_DAT4_FUNC_NLD4>,
296                                  <MT7623_PIN_118_MSDC0_DAT3_FUNC_NLD3>,
297                                  <MT7623_PIN_121_MSDC0_DAT0_FUNC_NLD0>,
298                                  <MT7623_PIN_120_MSDC0_DAT1_FUNC_NLD1>,
299                                  <MT7623_PIN_113_MSDC0_DAT5_FUNC_NLD5>,
300                                  <MT7623_PIN_115_MSDC0_RSTB_FUNC_NLD8>,
301                                  <MT7623_PIN_119_MSDC0_DAT2_FUNC_NLD2>;
302                                 input-enable;
303                                 drive-strength = <MTK_DRIVE_8mA>;
304                                 bias-pull-up;
305                 };
306
307                 pins_we {
308                         pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_NWEB>;
309                         drive-strength = <MTK_DRIVE_8mA>;
310                         bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
311                 };
312
313                 pins_ale {
314                         pinmux = <MT7623_PIN_116_MSDC0_CMD_FUNC_NALE>;
315                         drive-strength = <MTK_DRIVE_8mA>;
316                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
317                 };
318         };
319
320         eth_default: eth {
321                 pins_eth {
322                         pinmux = <MT7623_PIN_275_G2_MDC_FUNC_MDC>,
323                                  <MT7623_PIN_276_G2_MDIO_FUNC_MDIO>,
324                                  <MT7623_PIN_262_G2_TXEN_FUNC_G2_TXEN>,
325                                  <MT7623_PIN_263_G2_TXD3_FUNC_G2_TXD3>,
326                                  <MT7623_PIN_264_G2_TXD2_FUNC_G2_TXD2>,
327                                  <MT7623_PIN_265_G2_TXD1_FUNC_G2_TXD1>,
328                                  <MT7623_PIN_266_G2_TXD0_FUNC_G2_TXD0>,
329                                  <MT7623_PIN_267_G2_TXCLK_FUNC_G2_TXC>,
330                                  <MT7623_PIN_268_G2_RXCLK_FUNC_G2_RXC>,
331                                  <MT7623_PIN_269_G2_RXD0_FUNC_G2_RXD0>,
332                                  <MT7623_PIN_270_G2_RXD1_FUNC_G2_RXD1>,
333                                  <MT7623_PIN_271_G2_RXD2_FUNC_G2_RXD2>,
334                                  <MT7623_PIN_272_G2_RXD3_FUNC_G2_RXD3>,
335                                  <MT7623_PIN_273_ESW_INT_FUNC_ESW_INT>,
336                                  <MT7623_PIN_274_G2_RXDV_FUNC_G2_RXDV>;
337                 };
338                 
339                 pins_eth_rst {
340                         pinmux = <MT7623_PIN_15_GPIO15_FUNC_GPIO15>;
341                         output-low;
342                 };
343         };
344 };
345
346 &nandc {
347         status = "okay";
348         pinctrl-names = "default";
349         pinctrl-0 = <&nand_pins_default>;
350         nand@0 {
351                 reg = <0>;
352                 spare_per_sector = <64>;
353                 nand-on-flash-bbt;
354                 nand-ecc-mode = "hw";
355                 nand-ecc-strength = <12>;
356                 nand-ecc-step-size = <1024>;
357                 partitions {
358                         compatible = "fixed-partitions";
359                         #address-cells = <1>;
360                         #size-cells = <1>;
361
362                         partition@C0000 {
363                                 label = "uboot-env";
364                                 reg = <0xC0000 0x40000>;
365                         };
366
367                         partition@100000 {
368                                 label = "factory";
369                                 reg = <0x100000 0x40000>;
370                         };
371
372                         partition@140000 {
373                                 label = "kernel";
374                                 reg = <0x140000 0x2000000>;
375                         };
376
377                         partition@2140000 {
378                                 label = "recovery";
379                                 reg = <0x2140000 0x2000000>;
380                         };
381
382                         partition@4140000 {
383                                 label = "rootfs";
384                                 reg = <0x4140000 0x1000000>;
385                         };
386                 };
387         };
388 };
389 &bch {
390         status = "okay";
391 };
392
393 &usb1 {
394         vusb33-supply = <&mt6323_vusb_reg>;
395         vbus-supply = <&usb_p1_vbus>;
396         status = "okay";
397 };
398
399 &u3phy1 {
400         status = "okay";
401 };
402
403 &pcie {
404         status = "okay";
405 };
406
407 &eth {
408         status = "okay";
409 };
410
411 &gmac1 {
412         mac-address = [00 11 22 33 44 56];
413         status = "okay";
414 };
415
416 &gmac2 {
417         mac-address = [00 11 22 33 44 55];
418         status = "okay";
419 };
420
421 &gsw {
422         pinctrl-names = "default";
423         pinctrl-0 = <&eth_default>;
424         mediatek,reset-pin = <&pio 15 0>;
425         status = "okay";
426 };