mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			597 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			597 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
 | 
						|
/*
 | 
						|
 * Copyright (c) 2017 MediaTek Inc.
 | 
						|
 * Author: Ming Huang <ming.huang@mediatek.com>
 | 
						|
 *	   Sean Wang <sean.wang@mediatek.com>
 | 
						|
 */
 | 
						|
 | 
						|
/dts-v1/;
 | 
						|
#include <dt-bindings/input/input.h>
 | 
						|
#include <dt-bindings/gpio/gpio.h>
 | 
						|
 | 
						|
#include "mt7622.dtsi"
 | 
						|
#include "mt6380.dtsi"
 | 
						|
 | 
						|
/ {
 | 
						|
	model = "Elecom WRC-2533";
 | 
						|
	compatible = "elecom,wrc-2533gent", "mediatek,mt7622";
 | 
						|
 | 
						|
	aliases {
 | 
						|
		led-boot = &led_power;
 | 
						|
		led-failsafe = &led_power;
 | 
						|
		led-running = &led_power;
 | 
						|
		led-upgrade = &led_power;
 | 
						|
		serial0 = &uart0;
 | 
						|
	};
 | 
						|
 | 
						|
	chosen {
 | 
						|
		stdout-path = "serial0:115200n8";
 | 
						|
		bootargs = "earlycon=uart8250,mmio32,0x11002000 swiotlb=512 console=ttyS0,115200n8";
 | 
						|
	};
 | 
						|
 | 
						|
	cpus {
 | 
						|
		cpu@0 {
 | 
						|
			proc-supply = <&mt6380_vcpu_reg>;
 | 
						|
			sram-supply = <&mt6380_vm_reg>;
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@1 {
 | 
						|
			proc-supply = <&mt6380_vcpu_reg>;
 | 
						|
			sram-supply = <&mt6380_vm_reg>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	gpio-keys {
 | 
						|
		compatible = "gpio-keys";
 | 
						|
		poll-interval = <100>;
 | 
						|
 | 
						|
		wps {
 | 
						|
			label = "wps";
 | 
						|
			linux,code = <KEY_WPS_BUTTON>;
 | 
						|
			gpios = <&pio 0 GPIO_ACTIVE_HIGH>;
 | 
						|
		};
 | 
						|
 | 
						|
		factory {
 | 
						|
			label = "factory";
 | 
						|
			linux,code = <KEY_WPS_BUTTON>;
 | 
						|
			gpios = <&pio 102 GPIO_ACTIVE_LOW>;
 | 
						|
		};
 | 
						|
 | 
						|
		switch0 {
 | 
						|
			label = "switch0";
 | 
						|
			gpios = <&pio 1 GPIO_ACTIVE_LOW>;
 | 
						|
			linux,code = <BTN_0>;
 | 
						|
			linux,input-type = <EV_SW>;
 | 
						|
		};
 | 
						|
 | 
						|
		switch1 {
 | 
						|
			label = "switch1";
 | 
						|
			gpios = <&pio 16 GPIO_ACTIVE_LOW>;
 | 
						|
			linux,code = <BTN_1>;
 | 
						|
			linux,input-type = <EV_SW>;
 | 
						|
		};
 | 
						|
 | 
						|
		switch2 {
 | 
						|
			label = "switch2";
 | 
						|
			gpios = <&pio 17 GPIO_ACTIVE_LOW>;
 | 
						|
			linux,code = <BTN_2>;
 | 
						|
			linux,input-type = <EV_SW>;
 | 
						|
		};
 | 
						|
 | 
						|
		switch3 {
 | 
						|
			label = "switch3";
 | 
						|
			gpios = <&pio 18 GPIO_ACTIVE_LOW>;
 | 
						|
			linux,code = <BTN_3>;
 | 
						|
			linux,input-type = <EV_SW>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	leds {
 | 
						|
		compatible = "gpio-leds";
 | 
						|
 | 
						|
		led_power: power_g {
 | 
						|
			label = "wrc-2533:green:power";
 | 
						|
			gpios = <&pio 2 GPIO_ACTIVE_HIGH>;
 | 
						|
		};
 | 
						|
 | 
						|
		power_b {
 | 
						|
			label = "wrc-2533:blue:power";
 | 
						|
			gpios = <&pio 19 GPIO_ACTIVE_HIGH>;
 | 
						|
		};
 | 
						|
 | 
						|
		power_r {
 | 
						|
			label = "wrc-2533:red:power";
 | 
						|
			gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
 | 
						|
		};
 | 
						|
 | 
						|
		usb {
 | 
						|
			label = "wrc-2533:blue:usb";
 | 
						|
			gpios = <&pio 74 GPIO_ACTIVE_HIGH>;
 | 
						|
		};
 | 
						|
 | 
						|
		wps {
 | 
						|
			label = "wrc-2533:red:wps";
 | 
						|
			gpios = <&pio 76 GPIO_ACTIVE_LOW>;
 | 
						|
		};
 | 
						|
 | 
						|
		wifi2 {
 | 
						|
			label = "wrc-2533:blue:wifi2g";
 | 
						|
			gpios = <&pio 85 GPIO_ACTIVE_LOW>;
 | 
						|
		};
 | 
						|
 | 
						|
		wifi5 {
 | 
						|
			label = "wrc-2533:blue:wifi5g";
 | 
						|
			gpios = <&pio 91 GPIO_ACTIVE_LOW>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	reg_usb_vbus: regulator {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "usb_vbus";
 | 
						|
		regulator-min-microvolt = <5000000>;
 | 
						|
		regulator-max-microvolt = <5000000>;
 | 
						|
		gpio = <&pio 22 GPIO_ACTIVE_LOW>;
 | 
						|
		enable-active-high;
 | 
						|
	};
 | 
						|
 | 
						|
	memory {
 | 
						|
		reg = <0 0x40000000 0 0x3F000000>;
 | 
						|
	};
 | 
						|
 | 
						|
	reg_1p8v: regulator-1p8v {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "fixed-1.8V";
 | 
						|
		regulator-min-microvolt = <1800000>;
 | 
						|
		regulator-max-microvolt = <1800000>;
 | 
						|
		regulator-always-on;
 | 
						|
	};
 | 
						|
 | 
						|
	reg_3p3v: regulator-3p3v {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "fixed-3.3V";
 | 
						|
		regulator-min-microvolt = <3300000>;
 | 
						|
		regulator-max-microvolt = <3300000>;
 | 
						|
		regulator-boot-on;
 | 
						|
		regulator-always-on;
 | 
						|
	};
 | 
						|
 | 
						|
	rtkgsw: rtkgsw@0 {
 | 
						|
		compatible = "mediatek,rtk-gsw";
 | 
						|
		mediatek,ethsys = <ðsys>;
 | 
						|
		mediatek,mdio = <&mdio>;
 | 
						|
		mediatek,reset-pin = <&pio 54 0>;
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
&pcie0 {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&pcie0_pins>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&slot0 {
 | 
						|
	mt7615@0,0 {
 | 
						|
		reg = <0x0000 0 0 0 0>;
 | 
						|
		mediatek,mtd-eeprom = <&factory 0x05000>;
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
&pio {
 | 
						|
	/* eMMC is shared pin with parallel NAND */
 | 
						|
	emmc_pins_default: emmc-pins-default {
 | 
						|
		mux {
 | 
						|
			function = "emmc", "emmc_rst";
 | 
						|
			groups = "emmc";
 | 
						|
		};
 | 
						|
 | 
						|
		/* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7",
 | 
						|
		 * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4,
 | 
						|
		 * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively
 | 
						|
		 */
 | 
						|
		conf-cmd-dat {
 | 
						|
			pins = "NDL0", "NDL1", "NDL2",
 | 
						|
			       "NDL3", "NDL4", "NDL5",
 | 
						|
			       "NDL6", "NDL7", "NRB";
 | 
						|
			input-enable;
 | 
						|
			bias-pull-up;
 | 
						|
		};
 | 
						|
 | 
						|
		conf-clk {
 | 
						|
			pins = "NCLE";
 | 
						|
			bias-pull-down;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	emmc_pins_uhs: emmc-pins-uhs {
 | 
						|
		mux {
 | 
						|
			function = "emmc";
 | 
						|
			groups = "emmc";
 | 
						|
		};
 | 
						|
 | 
						|
		conf-cmd-dat {
 | 
						|
			pins = "NDL0", "NDL1", "NDL2",
 | 
						|
			       "NDL3", "NDL4", "NDL5",
 | 
						|
			       "NDL6", "NDL7", "NRB";
 | 
						|
			input-enable;
 | 
						|
			drive-strength = <4>;
 | 
						|
			bias-pull-up;
 | 
						|
		};
 | 
						|
 | 
						|
		conf-clk {
 | 
						|
			pins = "NCLE";
 | 
						|
			drive-strength = <4>;
 | 
						|
			bias-pull-down;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	eth_pins: eth-pins {
 | 
						|
		mux {
 | 
						|
			function = "eth";
 | 
						|
			groups = "mdc_mdio", "rgmii_via_gmac2";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	i2c1_pins: i2c1-pins {
 | 
						|
		mux {
 | 
						|
			function = "i2c";
 | 
						|
			groups =  "i2c1_0";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	i2c2_pins: i2c2-pins {
 | 
						|
		mux {
 | 
						|
			function = "i2c";
 | 
						|
			groups =  "i2c2_0";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	i2s1_pins: i2s1-pins {
 | 
						|
		mux {
 | 
						|
			function = "i2s";
 | 
						|
			groups =  "i2s_out_mclk_bclk_ws",
 | 
						|
				  "i2s1_in_data",
 | 
						|
				  "i2s1_out_data";
 | 
						|
		};
 | 
						|
 | 
						|
		conf {
 | 
						|
			pins = "I2S1_IN", "I2S1_OUT", "I2S_BCLK",
 | 
						|
			       "I2S_WS", "I2S_MCLK";
 | 
						|
			drive-strength = <12>;
 | 
						|
			bias-pull-down;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	irrx_pins: irrx-pins {
 | 
						|
		mux {
 | 
						|
			function = "ir";
 | 
						|
			groups =  "ir_1_rx";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	irtx_pins: irtx-pins {
 | 
						|
		mux {
 | 
						|
			function = "ir";
 | 
						|
			groups =  "ir_1_tx";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	/* Parallel nand is shared pin with eMMC */
 | 
						|
	parallel_nand_pins: parallel-nand-pins {
 | 
						|
		mux {
 | 
						|
			function = "flash";
 | 
						|
			groups = "par_nand";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	pcie0_pins: pcie0-pins {
 | 
						|
		mux {
 | 
						|
			function = "pcie";
 | 
						|
			groups = "pcie0_pad_perst",
 | 
						|
				 "pcie0_1_waken",
 | 
						|
				 "pcie0_1_clkreq";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	pcie1_pins: pcie1-pins {
 | 
						|
		mux {
 | 
						|
			function = "pcie";
 | 
						|
			groups = "pcie1_pad_perst",
 | 
						|
				 "pcie1_0_waken",
 | 
						|
				 "pcie1_0_clkreq";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	pmic_bus_pins: pmic-bus-pins {
 | 
						|
		mux {
 | 
						|
			function = "pmic";
 | 
						|
			groups = "pmic_bus";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	pwm7_pins: pwm1-2-pins {
 | 
						|
		mux {
 | 
						|
			function = "pwm";
 | 
						|
			groups = "pwm_ch7_2";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	wled_pins: wled-pins {
 | 
						|
		mux {
 | 
						|
			function = "led";
 | 
						|
			groups = "wled";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	sd0_pins_default: sd0-pins-default {
 | 
						|
		mux {
 | 
						|
			function = "sd";
 | 
						|
			groups = "sd_0";
 | 
						|
		};
 | 
						|
 | 
						|
		/* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN",
 | 
						|
		 *  "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1,
 | 
						|
		 *  DAT2, DAT3, CMD, CLK for SD respectively.
 | 
						|
		 */
 | 
						|
		conf-cmd-data {
 | 
						|
			pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
 | 
						|
			       "I2S2_IN","I2S4_OUT";
 | 
						|
			input-enable;
 | 
						|
			drive-strength = <8>;
 | 
						|
			bias-pull-up;
 | 
						|
		};
 | 
						|
		conf-clk {
 | 
						|
			pins = "I2S3_OUT";
 | 
						|
			drive-strength = <12>;
 | 
						|
			bias-pull-down;
 | 
						|
		};
 | 
						|
		conf-cd {
 | 
						|
			pins = "TXD3";
 | 
						|
			bias-pull-up;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	sd0_pins_uhs: sd0-pins-uhs {
 | 
						|
		mux {
 | 
						|
			function = "sd";
 | 
						|
			groups = "sd_0";
 | 
						|
		};
 | 
						|
 | 
						|
		conf-cmd-data {
 | 
						|
			pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
 | 
						|
			       "I2S2_IN","I2S4_OUT";
 | 
						|
			input-enable;
 | 
						|
			bias-pull-up;
 | 
						|
		};
 | 
						|
 | 
						|
		conf-clk {
 | 
						|
			pins = "I2S3_OUT";
 | 
						|
			bias-pull-down;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	/* Serial NAND is shared pin with SPI-NOR */
 | 
						|
	serial_nand_pins: serial-nand-pins {
 | 
						|
		mux {
 | 
						|
			function = "flash";
 | 
						|
			groups = "snfi";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	spic0_pins: spic0-pins {
 | 
						|
		mux {
 | 
						|
			function = "spi";
 | 
						|
			groups = "spic0_0";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	spic1_pins: spic1-pins {
 | 
						|
		mux {
 | 
						|
			function = "spi";
 | 
						|
			groups = "spic1_0";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	/* SPI-NOR is shared pin with serial NAND */
 | 
						|
	spi_nor_pins: spi-nor-pins {
 | 
						|
		mux {
 | 
						|
			function = "flash";
 | 
						|
			groups = "spi_nor";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	/* serial NAND is shared pin with SPI-NOR */
 | 
						|
	serial_nand_pins: serial-nand-pins {
 | 
						|
		mux {
 | 
						|
			function = "flash";
 | 
						|
			groups = "snfi";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	uart0_pins: uart0-pins {
 | 
						|
		mux {
 | 
						|
			function = "uart";
 | 
						|
			groups = "uart0_0_tx_rx" ;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	uart2_pins: uart2-pins {
 | 
						|
		mux {
 | 
						|
			function = "uart";
 | 
						|
			groups = "uart2_1_tx_rx" ;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	watchdog_pins: watchdog-pins {
 | 
						|
		mux {
 | 
						|
			function = "watchdog";
 | 
						|
			groups = "watchdog";
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
&btif {
 | 
						|
	status = "disabled";
 | 
						|
};
 | 
						|
 | 
						|
&cir {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&irrx_pins>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
ð {
 | 
						|
	status = "okay";
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <ð_pins>;
 | 
						|
	gmac0: mac@0 {
 | 
						|
		compatible = "mediatek,eth-mac";
 | 
						|
		reg = <0>;
 | 
						|
		phy-mode = "sgmii";
 | 
						|
		fixed-link {
 | 
						|
			speed = <1000>;
 | 
						|
			full-duplex;
 | 
						|
			pause;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	gmac1: mac@1 {
 | 
						|
		compatible = "mediatek,eth-mac";
 | 
						|
		reg = <1>;
 | 
						|
		phy-mode = "rgmii";
 | 
						|
		fixed-link {
 | 
						|
			speed = <1000>;
 | 
						|
			full-duplex;
 | 
						|
			pause;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	mdio: mdio-bus {
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <0>;
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
&i2c1 {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&i2c1_pins>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&i2c2 {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&i2c2_pins>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&pwm {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&pwm7_pins>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&pwrap {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&pmic_bus_pins>;
 | 
						|
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&snand {
 | 
						|
	mediatek,quad-spi;
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&serial_nand_pins>;
 | 
						|
	status = "okay";
 | 
						|
 | 
						|
	partitions {
 | 
						|
		compatible = "fixed-partitions";
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <1>;
 | 
						|
 | 
						|
		partition@0 {
 | 
						|
			label = "Preloader";
 | 
						|
			reg = <0x00000 0x0080000>;
 | 
						|
			read-only;
 | 
						|
		};
 | 
						|
 | 
						|
		partition@80000 {
 | 
						|
			label = "ATF";
 | 
						|
			reg = <0x80000 0x0040000>;
 | 
						|
			read-only;
 | 
						|
		};
 | 
						|
 | 
						|
		partition@c0000 {
 | 
						|
			label = "uboot";
 | 
						|
			reg = <0xc0000 0x0080000>;
 | 
						|
			read-only;
 | 
						|
		};
 | 
						|
 | 
						|
		partition@140000 {
 | 
						|
			label = "uboot-env";
 | 
						|
			reg = <0x140000 0x0080000>;
 | 
						|
			read-only;
 | 
						|
		};
 | 
						|
 | 
						|
		factory: partition@1c0000 {
 | 
						|
			label = "factory";
 | 
						|
			reg = <0x1c0000 0x0040000>;
 | 
						|
			read-only;
 | 
						|
		};
 | 
						|
 | 
						|
		partition@200000 {
 | 
						|
			label = "firmware";
 | 
						|
			reg = <0x200000 0x2000000>;
 | 
						|
		};
 | 
						|
 | 
						|
		partition@2200000 {
 | 
						|
			label = "reserved";
 | 
						|
			reg = <0x2200000 0x4000000>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
&spi0 {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&spic0_pins>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&spi1 {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&spic1_pins>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&ssusb {
 | 
						|
	vusb33-supply = <®_3p3v>;
 | 
						|
	vbus-supply = <®_usb_vbus>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&u3phy {
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&uart0 {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&uart0_pins>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&uart2 {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&uart2_pins>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&watchdog {
 | 
						|
	pinctrl-names = "default";
 | 
						|
	pinctrl-0 = <&watchdog_pins>;
 | 
						|
	status = "okay";
 | 
						|
};
 | 
						|
 | 
						|
&wmac {
 | 
						|
	mediatek,mtd-eeprom = <&factory 0x0000>;
 | 
						|
	status = "okay";
 | 
						|
};
 |