1 // SPDX-License-Identifier: (GPL-2.0-only OR MIT)
3 * Copyright (c) 2017 MediaTek Inc.
4 * Author: Ming Huang <ming.huang@mediatek.com>
5 * Sean Wang <sean.wang@mediatek.com>
9 #include <dt-bindings/input/input.h>
10 #include <dt-bindings/gpio/gpio.h>
12 #include "mt7622.dtsi"
13 #include "mt6380.dtsi"
16 model = "Elecom WRC-2533";
17 compatible = "elecom,wrc-2533gent", "mediatek,mt7622";
20 led-boot = &led_power;
21 led-failsafe = &led_power;
22 led-running = &led_power;
23 led-upgrade = &led_power;
28 stdout-path = "serial0:115200n8";
29 bootargs = "earlycon=uart8250,mmio32,0x11002000 swiotlb=512 console=ttyS0,115200n8";
34 proc-supply = <&mt6380_vcpu_reg>;
35 sram-supply = <&mt6380_vm_reg>;
39 proc-supply = <&mt6380_vcpu_reg>;
40 sram-supply = <&mt6380_vm_reg>;
45 compatible = "gpio-keys";
46 poll-interval = <100>;
50 linux,code = <KEY_WPS_BUTTON>;
51 gpios = <&pio 0 GPIO_ACTIVE_HIGH>;
56 linux,code = <KEY_WPS_BUTTON>;
57 gpios = <&pio 102 GPIO_ACTIVE_LOW>;
62 gpios = <&pio 1 GPIO_ACTIVE_LOW>;
64 linux,input-type = <EV_SW>;
69 gpios = <&pio 16 GPIO_ACTIVE_LOW>;
71 linux,input-type = <EV_SW>;
76 gpios = <&pio 17 GPIO_ACTIVE_LOW>;
78 linux,input-type = <EV_SW>;
83 gpios = <&pio 18 GPIO_ACTIVE_LOW>;
85 linux,input-type = <EV_SW>;
90 compatible = "gpio-leds";
93 label = "wrc-2533:green:power";
94 gpios = <&pio 2 GPIO_ACTIVE_HIGH>;
98 label = "wrc-2533:blue:power";
99 gpios = <&pio 19 GPIO_ACTIVE_HIGH>;
103 label = "wrc-2533:red:power";
104 gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
108 label = "wrc-2533:blue:usb";
109 gpios = <&pio 74 GPIO_ACTIVE_HIGH>;
113 label = "wrc-2533:red:wps";
114 gpios = <&pio 76 GPIO_ACTIVE_LOW>;
118 label = "wrc-2533:blue:wifi2g";
119 gpios = <&pio 85 GPIO_ACTIVE_LOW>;
123 label = "wrc-2533:blue:wifi5g";
124 gpios = <&pio 91 GPIO_ACTIVE_LOW>;
128 reg_usb_vbus: regulator {
129 compatible = "regulator-fixed";
130 regulator-name = "usb_vbus";
131 regulator-min-microvolt = <5000000>;
132 regulator-max-microvolt = <5000000>;
133 gpio = <&pio 22 GPIO_ACTIVE_LOW>;
138 reg = <0 0x40000000 0 0x3F000000>;
141 reg_1p8v: regulator-1p8v {
142 compatible = "regulator-fixed";
143 regulator-name = "fixed-1.8V";
144 regulator-min-microvolt = <1800000>;
145 regulator-max-microvolt = <1800000>;
149 reg_3p3v: regulator-3p3v {
150 compatible = "regulator-fixed";
151 regulator-name = "fixed-3.3V";
152 regulator-min-microvolt = <3300000>;
153 regulator-max-microvolt = <3300000>;
159 compatible = "mediatek,rtk-gsw";
160 mediatek,ethsys = <ðsys>;
161 mediatek,mdio = <&mdio>;
162 mediatek,reset-pin = <&pio 54 0>;
168 pinctrl-names = "default";
169 pinctrl-0 = <&pcie0_pins>;
175 reg = <0x0000 0 0 0 0>;
176 mediatek,mtd-eeprom = <&factory 0x05000>;
181 /* eMMC is shared pin with parallel NAND */
182 emmc_pins_default: emmc-pins-default {
184 function = "emmc", "emmc_rst";
188 /* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7",
189 * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4,
190 * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively
193 pins = "NDL0", "NDL1", "NDL2",
194 "NDL3", "NDL4", "NDL5",
195 "NDL6", "NDL7", "NRB";
206 emmc_pins_uhs: emmc-pins-uhs {
213 pins = "NDL0", "NDL1", "NDL2",
214 "NDL3", "NDL4", "NDL5",
215 "NDL6", "NDL7", "NRB";
217 drive-strength = <4>;
223 drive-strength = <4>;
231 groups = "mdc_mdio", "rgmii_via_gmac2";
235 i2c1_pins: i2c1-pins {
242 i2c2_pins: i2c2-pins {
249 i2s1_pins: i2s1-pins {
252 groups = "i2s_out_mclk_bclk_ws",
258 pins = "I2S1_IN", "I2S1_OUT", "I2S_BCLK",
259 "I2S_WS", "I2S_MCLK";
260 drive-strength = <12>;
265 irrx_pins: irrx-pins {
272 irtx_pins: irtx-pins {
279 /* Parallel nand is shared pin with eMMC */
280 parallel_nand_pins: parallel-nand-pins {
287 pcie0_pins: pcie0-pins {
290 groups = "pcie0_pad_perst",
296 pcie1_pins: pcie1-pins {
299 groups = "pcie1_pad_perst",
305 pmic_bus_pins: pmic-bus-pins {
312 pwm7_pins: pwm1-2-pins {
315 groups = "pwm_ch7_2";
319 wled_pins: wled-pins {
326 sd0_pins_default: sd0-pins-default {
332 /* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN",
333 * "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1,
334 * DAT2, DAT3, CMD, CLK for SD respectively.
337 pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
338 "I2S2_IN","I2S4_OUT";
340 drive-strength = <8>;
345 drive-strength = <12>;
354 sd0_pins_uhs: sd0-pins-uhs {
361 pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
362 "I2S2_IN","I2S4_OUT";
373 /* Serial NAND is shared pin with SPI-NOR */
374 serial_nand_pins: serial-nand-pins {
381 spic0_pins: spic0-pins {
388 spic1_pins: spic1-pins {
395 /* SPI-NOR is shared pin with serial NAND */
396 spi_nor_pins: spi-nor-pins {
403 /* serial NAND is shared pin with SPI-NOR */
404 serial_nand_pins: serial-nand-pins {
411 uart0_pins: uart0-pins {
414 groups = "uart0_0_tx_rx" ;
418 uart2_pins: uart2-pins {
421 groups = "uart2_1_tx_rx" ;
425 watchdog_pins: watchdog-pins {
427 function = "watchdog";
438 pinctrl-names = "default";
439 pinctrl-0 = <&irrx_pins>;
445 pinctrl-names = "default";
446 pinctrl-0 = <ð_pins>;
448 compatible = "mediatek,eth-mac";
459 compatible = "mediatek,eth-mac";
470 #address-cells = <1>;
476 pinctrl-names = "default";
477 pinctrl-0 = <&i2c1_pins>;
482 pinctrl-names = "default";
483 pinctrl-0 = <&i2c2_pins>;
488 pinctrl-names = "default";
489 pinctrl-0 = <&pwm7_pins>;
494 pinctrl-names = "default";
495 pinctrl-0 = <&pmic_bus_pins>;
505 pinctrl-names = "default";
506 pinctrl-0 = <&serial_nand_pins>;
509 compatible = "spi-nand";
511 spi-tx-bus-width = <4>;
512 spi-rx-bus-width = <4>;
513 nand-ecc-engine = <&snfi>;
516 compatible = "fixed-partitions";
517 #address-cells = <1>;
522 reg = <0x00000 0x0080000>;
528 reg = <0x80000 0x0040000>;
534 reg = <0xc0000 0x0080000>;
540 reg = <0x140000 0x0080000>;
544 factory: partition@1c0000 {
546 reg = <0x1c0000 0x0040000>;
552 reg = <0x200000 0x2000000>;
557 reg = <0x2200000 0x4000000>;
564 pinctrl-names = "default";
565 pinctrl-0 = <&spic0_pins>;
570 pinctrl-names = "default";
571 pinctrl-0 = <&spic1_pins>;
576 vusb33-supply = <®_3p3v>;
577 vbus-supply = <®_usb_vbus>;
586 pinctrl-names = "default";
587 pinctrl-0 = <&uart0_pins>;
592 pinctrl-names = "default";
593 pinctrl-0 = <&uart2_pins>;
598 pinctrl-names = "default";
599 pinctrl-0 = <&watchdog_pins>;
604 mediatek,mtd-eeprom = <&factory 0x0000>;