Skip to content

Commit 0eaee02

Browse files
hackpascaldanielschwierzeck
authored andcommitted
mips: mtmips: add two reference boards for mt7621
The mt7621_rfb board supports integrated giga PHYs plus one external giga PHYs. It also has up to 512MiB DDR3, 16MB SPI-NOR, 3 mini PCI-e x1 slots, SDXC and USB. The mt7621_nand_rfb board is almost the same as mt7621_rfb board, but it uses NAND flash and SDXC is not available. Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
1 parent 4bc0104 commit 0eaee02

File tree

9 files changed

+363
-0
lines changed

9 files changed

+363
-0
lines changed

arch/mips/dts/Makefile

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ dtb-$(CONFIG_BOARD_COMTREND_WAP5813N) += comtrend,wap-5813n.dtb
1616
dtb-$(CONFIG_BOARD_HUAWEI_HG556A) += huawei,hg556a.dtb
1717
dtb-$(CONFIG_BOARD_MT7620_RFB) += mediatek,mt7620-rfb.dtb
1818
dtb-$(CONFIG_BOARD_MT7620_MT7530_RFB) += mediatek,mt7620-mt7530-rfb.dtb
19+
dtb-$(CONFIG_BOARD_MT7621_RFB) += mediatek,mt7621-rfb.dtb
20+
dtb-$(CONFIG_BOARD_MT7621_NAND_RFB) += mediatek,mt7621-nand-rfb.dtb
1921
dtb-$(CONFIG_BOARD_MT7628_RFB) += mediatek,mt7628-rfb.dtb
2022
dtb-$(CONFIG_BOARD_GARDENA_SMART_GATEWAY_MT7688) += gardena-smart-gateway-mt7688.dtb
2123
dtb-$(CONFIG_BOARD_LINKIT_SMART_7688) += linkit-smart-7688.dtb
+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
/*
3+
* Copyright (C) 2022 MediaTek Inc. All rights reserved.
4+
*
5+
* Author: Weijie Gao <[email protected]>
6+
*/
7+
8+
/dts-v1/;
9+
10+
#include "mt7621.dtsi"
11+
12+
/ {
13+
compatible = "mediatek,mt7621-nand-rfb", "mediatek,mt7621-soc";
14+
model = "MediaTek MT7621 RFB (NAND)";
15+
16+
aliases {
17+
serial0 = &uart0;
18+
};
19+
20+
chosen {
21+
stdout-path = &uart0;
22+
};
23+
};
24+
25+
&pinctrl {
26+
state_default: pin_state {
27+
nand {
28+
groups = "spi", "sdxc";
29+
function = "nand";
30+
};
31+
32+
gpios {
33+
groups = "i2c", "uart3", "pcie reset";
34+
function = "gpio";
35+
};
36+
37+
wdt {
38+
groups = "wdt";
39+
function = "wdt rst";
40+
};
41+
42+
jtag {
43+
groups = "jtag";
44+
function = "jtag";
45+
};
46+
};
47+
};
48+
49+
&uart0 {
50+
status = "okay";
51+
};
52+
53+
&gpio {
54+
status = "okay";
55+
};
56+
57+
&eth {
58+
status = "okay";
59+
};
60+
61+
&ssusb {
62+
status = "okay";
63+
};
64+
65+
&u3phy {
66+
status = "okay";
67+
};

arch/mips/dts/mediatek,mt7621-rfb.dts

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
/*
3+
* Copyright (C) 2022 MediaTek Inc. All rights reserved.
4+
*
5+
* Author: Weijie Gao <[email protected]>
6+
*/
7+
8+
/dts-v1/;
9+
10+
#include "mt7621.dtsi"
11+
12+
/ {
13+
compatible = "mediatek,mt7621-rfb", "mediatek,mt7621-soc";
14+
model = "MediaTek MT7621 RFB (SPI-NOR)";
15+
16+
aliases {
17+
serial0 = &uart0;
18+
spi0 = &spi;
19+
};
20+
21+
chosen {
22+
stdout-path = &uart0;
23+
};
24+
};
25+
26+
&pinctrl {
27+
state_default: pin_state {
28+
gpios {
29+
groups = "i2c", "uart3", "pcie reset";
30+
function = "gpio";
31+
};
32+
33+
wdt {
34+
groups = "wdt";
35+
function = "wdt rst";
36+
};
37+
38+
jtag {
39+
groups = "jtag";
40+
function = "jtag";
41+
};
42+
};
43+
};
44+
45+
&uart0 {
46+
status = "okay";
47+
};
48+
49+
&gpio {
50+
status = "okay";
51+
};
52+
53+
&spi {
54+
status = "okay";
55+
num-cs = <2>;
56+
57+
spi-flash@0 {
58+
#address-cells = <1>;
59+
#size-cells = <1>;
60+
compatible = "jedec,spi-nor";
61+
spi-max-frequency = <25000000>;
62+
reg = <0>;
63+
};
64+
};
65+
66+
&eth {
67+
status = "okay";
68+
};
69+
70+
&mmc {
71+
cap-sd-highspeed;
72+
73+
status = "okay";
74+
};
75+
76+
&ssusb {
77+
status = "okay";
78+
};
79+
80+
&u3phy {
81+
status = "okay";
82+
};

arch/mips/mach-mtmips/mt7621/Kconfig

+20
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,26 @@ config MT7621_BOOT_FROM_NAND
7979
choice
8080
prompt "Board select"
8181

82+
config BOARD_MT7621_RFB
83+
bool "MediaTek MT7621 RFB (SPI-NOR)"
84+
help
85+
The reference design of MT7621A (WS3010) booting from SPI-NOR flash.
86+
The board can be configured with DDR2 (64MiB~256MiB) or DDR3
87+
(128MiB~512MiB). The board has 16 MiB SPI-NOR flash, built-in MT7530
88+
GbE switch, 1 UART, 1 USB 2.0 host, 1 USB 3.0 host, 1 SDXC, 3 PCIe
89+
sockets, 1 RGMII to external GbE PHY, 2 audio jacks (in/out),
90+
JTAG pins and expansion GPIO pins.
91+
92+
config BOARD_MT7621_NAND_RFB
93+
bool "MediaTek MT7621 RFB (NAND)"
94+
help
95+
The reference design of MT7621A (WS3010) booting from NAND flash.
96+
The board can be configured with DDR2 (64MiB~256MiB) or DDR3
97+
(128MiB~512MiB). The board has 128 MiB parallel NAND flash, built-in
98+
MT7530 GbE switch, 1 UART, 1 USB 2.0 host, 1 USB 3.0 host, 3 PCIe
99+
sockets, 1 RGMII to external GbE PHY, 2 audio jacks (in/out),
100+
JTAG pins and expansion GPIO pins.
101+
82102
endchoice
83103

84104
config SYS_CONFIG_NAME

board/mediatek/mt7621/MAINTAINERS

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
MT7621_RFB BOARD
2+
M: Weijie Gao <[email protected]>
3+
S: Maintained
4+
F: board/mediatek/mt7621
5+
F: configs/mt7621_rfb_defconfig
6+
F: configs/mt7621_nand_rfb_defconfig
7+
F: arch/mips/dts/mediatek,mt7621-rfb.dts
8+
F: arch/mips/dts/mediatek,mt7621-nand-rfb.dts

board/mediatek/mt7621/Makefile

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
3+
obj-y += board.o

board/mediatek/mt7621/board.c

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
/*
3+
* Copyright (C) 2022 MediaTek Inc. All rights reserved.
4+
*
5+
* Author: Weijie Gao <[email protected]>
6+
*/

configs/mt7621_nand_rfb_defconfig

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
CONFIG_MIPS=y
2+
CONFIG_SYS_MALLOC_LEN=0x100000
3+
CONFIG_SPL_LIBCOMMON_SUPPORT=y
4+
CONFIG_SPL_LIBGENERIC_SUPPORT=y
5+
CONFIG_NR_DRAM_BANKS=1
6+
CONFIG_ENV_SIZE=0x1000
7+
CONFIG_DEFAULT_DEVICE_TREE="mediatek,mt7621-nand-rfb"
8+
CONFIG_SPL_SERIAL=y
9+
CONFIG_SPL_SYS_MALLOC_F_LEN=0x100000
10+
CONFIG_SPL=y
11+
CONFIG_DEBUG_UART_BASE=0xbe000c00
12+
CONFIG_DEBUG_UART_CLOCK=50000000
13+
CONFIG_SYS_LOAD_ADDR=0x83000000
14+
CONFIG_ARCH_MTMIPS=y
15+
CONFIG_SOC_MT7621=y
16+
CONFIG_MT7621_BOOT_FROM_NAND=y
17+
CONFIG_BOARD_MT7621_NAND_RFB=y
18+
# CONFIG_MIPS_CACHE_SETUP is not set
19+
# CONFIG_MIPS_CACHE_DISABLE is not set
20+
CONFIG_RESTORE_EXCEPTION_VECTOR_BASE=y
21+
CONFIG_MIPS_BOOT_FDT=y
22+
CONFIG_DEBUG_UART=y
23+
CONFIG_FIT=y
24+
# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
25+
CONFIG_SYS_CONSOLE_INFO_QUIET=y
26+
CONFIG_SPL_MAX_SIZE=0x30000
27+
CONFIG_SPL_BSS_START_ADDR=0x80140000
28+
CONFIG_SPL_BSS_MAX_SIZE=0x80000
29+
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
30+
CONFIG_SPL_NAND_SUPPORT=y
31+
CONFIG_SPL_NAND_BASE=y
32+
CONFIG_SPL_NAND_IDENT=y
33+
# CONFIG_BOOTM_NETBSD is not set
34+
# CONFIG_BOOTM_PLAN9 is not set
35+
# CONFIG_BOOTM_RTEMS is not set
36+
# CONFIG_BOOTM_VXWORKS is not set
37+
CONFIG_SYS_BOOTM_LEN=0x2000000
38+
# CONFIG_CMD_ELF is not set
39+
# CONFIG_CMD_XIMG is not set
40+
# CONFIG_CMD_CRC32 is not set
41+
# CONFIG_CMD_DM is not set
42+
# CONFIG_CMD_FLASH is not set
43+
CONFIG_CMD_GPIO=y
44+
# CONFIG_CMD_LOADS is not set
45+
CONFIG_CMD_MMC=y
46+
CONFIG_CMD_MTD=y
47+
CONFIG_CMD_PART=y
48+
# CONFIG_CMD_PINMUX is not set
49+
CONFIG_CMD_USB=y
50+
# CONFIG_CMD_NFS is not set
51+
CONFIG_CMD_FAT=y
52+
CONFIG_CMD_FS_GENERIC=y
53+
# CONFIG_SPL_DOS_PARTITION is not set
54+
# CONFIG_ISO_PARTITION is not set
55+
CONFIG_EFI_PARTITION=y
56+
# CONFIG_SPL_EFI_PARTITION is not set
57+
CONFIG_PARTITION_TYPE_GUID=y
58+
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
59+
CONFIG_NET_RANDOM_ETHADDR=y
60+
# CONFIG_I2C is not set
61+
# CONFIG_INPUT is not set
62+
CONFIG_MMC=y
63+
# CONFIG_MMC_QUIRKS is not set
64+
# CONFIG_MMC_HW_PARTITIONING is not set
65+
CONFIG_MMC_MTK=y
66+
CONFIG_MTD=y
67+
CONFIG_DM_MTD=y
68+
CONFIG_MTD_RAW_NAND=y
69+
CONFIG_NAND_MT7621=y
70+
CONFIG_SYS_NAND_ONFI_DETECTION=y
71+
CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
72+
CONFIG_SYS_NAND_U_BOOT_OFFS=0x0
73+
CONFIG_MEDIATEK_ETH=y
74+
CONFIG_PHY=y
75+
CONFIG_PHY_MTK_TPHY=y
76+
CONFIG_DEBUG_UART_SHIFT=2
77+
CONFIG_SYSRESET=y
78+
CONFIG_SYSRESET_RESETCTL=y
79+
CONFIG_USB=y
80+
CONFIG_USB_XHCI_HCD=y
81+
CONFIG_USB_XHCI_MTK=y
82+
CONFIG_USB_STORAGE=y
83+
CONFIG_WDT=y
84+
CONFIG_WDT_MT7621=y
85+
CONFIG_FAT_WRITE=y
86+
# CONFIG_BINMAN_FDT is not set
87+
CONFIG_LZMA=y
88+
# CONFIG_GZIP is not set
89+
CONFIG_SPL_LZMA=y

configs/mt7621_rfb_defconfig

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
CONFIG_MIPS=y
2+
CONFIG_SYS_MALLOC_LEN=0x100000
3+
CONFIG_SPL_LIBCOMMON_SUPPORT=y
4+
CONFIG_SPL_LIBGENERIC_SUPPORT=y
5+
CONFIG_NR_DRAM_BANKS=1
6+
CONFIG_ENV_SIZE=0x1000
7+
CONFIG_DEFAULT_DEVICE_TREE="mediatek,mt7621-rfb"
8+
CONFIG_SPL_SERIAL=y
9+
CONFIG_SPL_SYS_MALLOC_F_LEN=0x40000
10+
CONFIG_SPL=y
11+
CONFIG_DEBUG_UART_BASE=0xbe000c00
12+
CONFIG_DEBUG_UART_CLOCK=50000000
13+
CONFIG_SYS_LOAD_ADDR=0x83000000
14+
CONFIG_ARCH_MTMIPS=y
15+
CONFIG_SOC_MT7621=y
16+
# CONFIG_MIPS_CACHE_SETUP is not set
17+
# CONFIG_MIPS_CACHE_DISABLE is not set
18+
CONFIG_RESTORE_EXCEPTION_VECTOR_BASE=y
19+
CONFIG_MIPS_BOOT_FDT=y
20+
CONFIG_DEBUG_UART=y
21+
CONFIG_TPL_SYS_MALLOC_F_LEN=0x1000
22+
CONFIG_FIT=y
23+
# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
24+
CONFIG_SYS_CONSOLE_INFO_QUIET=y
25+
CONFIG_SPL_MAX_SIZE=0x30000
26+
CONFIG_SPL_BSS_START_ADDR=0x80140000
27+
CONFIG_SPL_BSS_MAX_SIZE=0x80000
28+
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
29+
CONFIG_SPL_NOR_SUPPORT=y
30+
CONFIG_TPL=y
31+
# CONFIG_TPL_FRAMEWORK is not set
32+
# CONFIG_BOOTM_NETBSD is not set
33+
# CONFIG_BOOTM_PLAN9 is not set
34+
# CONFIG_BOOTM_RTEMS is not set
35+
# CONFIG_BOOTM_VXWORKS is not set
36+
CONFIG_SYS_BOOTM_LEN=0x2000000
37+
# CONFIG_CMD_ELF is not set
38+
# CONFIG_CMD_XIMG is not set
39+
# CONFIG_CMD_CRC32 is not set
40+
# CONFIG_CMD_DM is not set
41+
CONFIG_CMD_GPIO=y
42+
# CONFIG_CMD_LOADS is not set
43+
CONFIG_CMD_MMC=y
44+
CONFIG_CMD_PART=y
45+
# CONFIG_CMD_PINMUX is not set
46+
CONFIG_CMD_SPI=y
47+
# CONFIG_CMD_NFS is not set
48+
CONFIG_DOS_PARTITION=y
49+
# CONFIG_SPL_DOS_PARTITION is not set
50+
# CONFIG_ISO_PARTITION is not set
51+
CONFIG_EFI_PARTITION=y
52+
# CONFIG_SPL_EFI_PARTITION is not set
53+
CONFIG_PARTITION_TYPE_GUID=y
54+
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
55+
CONFIG_NET_RANDOM_ETHADDR=y
56+
# CONFIG_I2C is not set
57+
# CONFIG_INPUT is not set
58+
CONFIG_MMC=y
59+
# CONFIG_MMC_QUIRKS is not set
60+
# CONFIG_MMC_HW_PARTITIONING is not set
61+
CONFIG_MMC_MTK=y
62+
CONFIG_SF_DEFAULT_SPEED=20000000
63+
CONFIG_SPI_FLASH_BAR=y
64+
CONFIG_SPI_FLASH_EON=y
65+
CONFIG_SPI_FLASH_GIGADEVICE=y
66+
CONFIG_SPI_FLASH_ISSI=y
67+
CONFIG_SPI_FLASH_MACRONIX=y
68+
CONFIG_SPI_FLASH_SPANSION=y
69+
CONFIG_SPI_FLASH_STMICRO=y
70+
CONFIG_SPI_FLASH_WINBOND=y
71+
CONFIG_SPI_FLASH_XMC=y
72+
CONFIG_SPI_FLASH_XTX=y
73+
CONFIG_MEDIATEK_ETH=y
74+
CONFIG_PHY=y
75+
CONFIG_PHY_MTK_TPHY=y
76+
CONFIG_DEBUG_UART_SHIFT=2
77+
CONFIG_SPI=y
78+
CONFIG_MT7621_SPI=y
79+
CONFIG_SYSRESET=y
80+
CONFIG_SYSRESET_RESETCTL=y
81+
CONFIG_WDT=y
82+
CONFIG_WDT_MT7621=y
83+
# CONFIG_BINMAN_FDT is not set
84+
CONFIG_LZMA=y
85+
# CONFIG_GZIP is not set
86+
CONFIG_SPL_LZMA=y

0 commit comments

Comments
 (0)