Skip to content

Commit 3eee208

Browse files
authored
mt7981: add h3c magic nx30 pro support (#30)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
1 parent af13dbd commit 3eee208

File tree

5 files changed

+433
-0
lines changed

5 files changed

+433
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
CONFIG_PLAT_MT7981=y
2+
CONFIG_TARGET_FIP_NO_SEC_BOOT=y
3+
CONFIG_FLASH_DEVICE_SPIM_NAND=y
4+
CONFIG_BGA=y
5+
CONFIG_LOG_LEVEL_INFO=y
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2+
3+
/dts-v1/;
4+
#include "mt7981.dtsi"
5+
#include <dt-bindings/gpio/gpio.h>
6+
7+
/ {
8+
#address-cells = <1>;
9+
#size-cells = <1>;
10+
model = "mt7981-h3c_magic-nx30-pro";
11+
compatible = "mediatek,mt7981", "mediatek,mt7981-rfb";
12+
13+
chosen {
14+
stdout-path = &uart0;
15+
tick-timer = &timer0;
16+
};
17+
18+
config {
19+
bootcmd = "mtkboardboot";
20+
blink_led = "green:status";
21+
system_led = "red:status";
22+
};
23+
24+
gpio-keys {
25+
compatible = "gpio-keys";
26+
27+
button-reset {
28+
label = "reset";
29+
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
30+
};
31+
32+
button-mesh {
33+
label = "mesh";
34+
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
35+
};
36+
};
37+
38+
leds {
39+
compatible = "gpio-leds";
40+
41+
led-0 {
42+
label = "green:status";
43+
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
44+
};
45+
46+
led-1 {
47+
label = "red:status";
48+
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
49+
};
50+
};
51+
};
52+
53+
&eth {
54+
status = "okay";
55+
mediatek,gmac-id = <0>;
56+
phy-mode = "sgmii";
57+
mediatek,switch = "mt7531";
58+
reset-gpios = <&gpio 39 GPIO_ACTIVE_HIGH>;
59+
60+
fixed-link {
61+
speed = <1000>;
62+
full-duplex;
63+
};
64+
};
65+
66+
&pinctrl {
67+
spi_flash_pins: spi0-pins-func-1 {
68+
mux {
69+
function = "flash";
70+
groups = "spi0", "spi0_wp_hold";
71+
};
72+
73+
conf-pu {
74+
pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
75+
drive-strength = <MTK_DRIVE_8mA>;
76+
bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
77+
};
78+
79+
conf-pd {
80+
pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
81+
drive-strength = <MTK_DRIVE_8mA>;
82+
bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
83+
};
84+
};
85+
};
86+
87+
&spi0 {
88+
#address-cells = <1>;
89+
#size-cells = <0>;
90+
pinctrl-names = "default";
91+
pinctrl-0 = <&spi_flash_pins>;
92+
status = "okay";
93+
must_tx;
94+
enhance_timing;
95+
dma_ext;
96+
ipm_design;
97+
support_quad;
98+
tick_dly = <2>;
99+
sample_sel = <0>;
100+
101+
spi_nand@0 {
102+
compatible = "spi-nand";
103+
reg = <0>;
104+
spi-max-frequency = <52000000>;
105+
};
106+
};
107+
108+
&uart0 {
109+
status = "okay";
110+
};
111+
112+
&watchdog {
113+
status = "disabled";
114+
};
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
CONFIG_ARM=y
2+
CONFIG_POSITION_INDEPENDENT=y
3+
CONFIG_ARCH_MEDIATEK=y
4+
CONFIG_SYS_TEXT_BASE=0x41e00000
5+
CONFIG_SYS_MALLOC_F_LEN=0x4000
6+
CONFIG_NR_DRAM_BANKS=1
7+
CONFIG_ENV_SIZE=0x20000
8+
CONFIG_ENV_OFFSET=0x100000
9+
CONFIG_DEFAULT_DEVICE_TREE="mt7981-h3c_magic-nx30-pro"
10+
CONFIG_TARGET_MT7981=y
11+
CONFIG_ENABLE_NAND_NMBM=y
12+
CONFIG_MEDIATEK_BOOTMENU=y
13+
CONFIG_MEDIATEK_BOOTMENU_DELAY=3
14+
CONFIG_MEDIATEK_LOAD_FROM_RAM=y
15+
CONFIG_MT7981_BOOTMENU_UBI=y
16+
CONFIG_DEBUG_UART_BASE=0x11002000
17+
CONFIG_DEBUG_UART_CLOCK=40000000
18+
CONFIG_SYS_LOAD_ADDR=0x46000000
19+
CONFIG_DEBUG_UART=y
20+
CONFIG_BOOTDELAY=3
21+
CONFIG_AUTOBOOT_MENU_SHOW=y
22+
CONFIG_AUTOBOOT_MENU_MTK_SHOW=y
23+
CONFIG_DEFAULT_FDT_FILE="mt7981-spim-nand-rfb"
24+
CONFIG_LOGLEVEL=7
25+
CONFIG_LOG=y
26+
CONFIG_POLLER=y
27+
CONFIG_HUSH_PARSER=y
28+
CONFIG_SYS_PROMPT="MT7981> "
29+
# CONFIG_BOOTM_NETBSD is not set
30+
# CONFIG_BOOTM_PLAN9 is not set
31+
# CONFIG_BOOTM_RTEMS is not set
32+
# CONFIG_BOOTM_VXWORKS is not set
33+
CONFIG_CMD_MEMINFO=y
34+
# CONFIG_CMD_UNLZ4 is not set
35+
# CONFIG_CMD_UNZIP is not set
36+
# CONFIG_CMD_FLASH is not set
37+
CONFIG_CMD_GPIO=y
38+
CONFIG_CMD_GPIO_READ=y
39+
CONFIG_CMD_MTD=y
40+
# CONFIG_CMD_NAND_EXT is not set
41+
CONFIG_CMD_NMBM=y
42+
CONFIG_CMD_TFTPPUT=y
43+
# CONFIG_CMD_NFS is not set
44+
CONFIG_CMD_PING=y
45+
CONFIG_CMD_LED_BLINK=y
46+
CONFIG_CMD_SMC=y
47+
CONFIG_CMD_MTDPARTS=y
48+
CONFIG_MTDIDS_DEFAULT="nmbm0=nmbm0"
49+
CONFIG_MTDPARTS_DEFAULT="nmbm0:1024k(bl2),512k(u-boot-env),2048k(Factory),2048k(fip),65536k(ubi),6144k(pdt_data),6144k(pdt_data_1),1024k(exp),38400k(plugin)"
50+
CONFIG_CMD_UBI=y
51+
CONFIG_CMD_GL_BTN=y
52+
CONFIG_OF_EMBED=y
53+
CONFIG_ENV_OVERWRITE=y
54+
CONFIG_ENV_IS_IN_MTD=y
55+
CONFIG_ENV_MTD_NAME="nmbm0"
56+
CONFIG_ENV_SIZE_REDUND=0x80000
57+
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
58+
CONFIG_NET_RANDOM_ETHADDR=y
59+
CONFIG_REGMAP=y
60+
CONFIG_SYSCON=y
61+
CONFIG_BUTTON=y
62+
CONFIG_BUTTON_GPIO=y
63+
CONFIG_CLK=y
64+
# CONFIG_I2C is not set
65+
# CONFIG_INPUT is not set
66+
CONFIG_LED=y
67+
CONFIG_LED_BLINK=y
68+
CONFIG_LED_GPIO=y
69+
# CONFIG_MMC is not set
70+
CONFIG_DM_MTD=y
71+
CONFIG_MTD_SPI_NAND=y
72+
CONFIG_PHY_FIXED=y
73+
CONFIG_DM_ETH=y
74+
CONFIG_MEDIATEK_ETH=y
75+
CONFIG_PINCTRL=y
76+
CONFIG_PINCONF=y
77+
CONFIG_PINCTRL_MT7981=y
78+
CONFIG_POWER_DOMAIN=y
79+
CONFIG_MTK_POWER_DOMAIN=y
80+
CONFIG_RAM=y
81+
CONFIG_DM_SERIAL=y
82+
CONFIG_MTK_SERIAL=y
83+
CONFIG_SPI=y
84+
CONFIG_DM_SPI=y
85+
CONFIG_MTK_SPIM=y
86+
CONFIG_TIMER=y
87+
CONFIG_MTK_TIMER=y
88+
CONFIG_HEXDUMP=y
89+
CONFIG_WEBUI_FAILSAFE=y
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2+
3+
/dts-v1/;
4+
#include "mt7981.dtsi"
5+
#include <dt-bindings/gpio/gpio.h>
6+
7+
/ {
8+
#address-cells = <1>;
9+
#size-cells = <1>;
10+
model = "mt7981-h3c_magic-nx30-pro";
11+
compatible = "mediatek,mt7981", "mediatek,mt7981-rfb";
12+
13+
chosen {
14+
stdout-path = &uart0;
15+
tick-timer = &timer0;
16+
};
17+
18+
config {
19+
bootcmd = "mtkboardboot";
20+
blink_led = "green:status";
21+
system_led = "red:status";
22+
};
23+
24+
gpio-keys {
25+
compatible = "gpio-keys";
26+
27+
button-reset {
28+
label = "reset";
29+
linux,code = <KEY_RESTART>;
30+
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
31+
};
32+
33+
button-mesh {
34+
label = "mesh";
35+
linux,code = <BTN_9>;
36+
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
37+
};
38+
};
39+
40+
leds {
41+
compatible = "gpio-leds";
42+
43+
led-0 {
44+
label = "green:status";
45+
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
46+
};
47+
48+
led-1 {
49+
label = "red:status";
50+
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
51+
};
52+
};
53+
54+
memory@40000000 {
55+
device_type = "memory";
56+
reg = <0x40000000 0x10000000>;
57+
};
58+
59+
bl2_verify {
60+
bl2_compatible = "spim-nand";
61+
};
62+
};
63+
64+
&eth {
65+
status = "okay";
66+
mediatek,gmac-id = <0>;
67+
phy-mode = "2500base-x";
68+
mediatek,switch = "mt7531";
69+
reset-gpios = <&gpio 39 GPIO_ACTIVE_HIGH>;
70+
71+
fixed-link {
72+
speed = <2500>;
73+
full-duplex;
74+
};
75+
};
76+
77+
&pinctrl {
78+
spi_flash_pins: spi0-pins-func-1 {
79+
mux {
80+
function = "flash";
81+
groups = "spi0", "spi0_wp_hold";
82+
};
83+
84+
conf-pu {
85+
pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
86+
drive-strength = <MTK_DRIVE_8mA>;
87+
bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
88+
};
89+
90+
conf-pd {
91+
pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
92+
drive-strength = <MTK_DRIVE_8mA>;
93+
bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
94+
};
95+
};
96+
};
97+
98+
&spi0 {
99+
#address-cells = <1>;
100+
#size-cells = <0>;
101+
pinctrl-names = "default";
102+
pinctrl-0 = <&spi_flash_pins>;
103+
status = "okay";
104+
must_tx;
105+
enhance_timing;
106+
dma_ext;
107+
ipm_design;
108+
support_quad;
109+
tick_dly = <2>;
110+
sample_sel = <0>;
111+
112+
spi_nand@0 {
113+
compatible = "spi-nand";
114+
reg = <0>;
115+
spi-max-frequency = <52000000>;
116+
};
117+
};
118+
119+
&uart0 {
120+
status = "okay";
121+
};
122+
123+
&watchdog {
124+
status = "disabled";
125+
};

0 commit comments

Comments
 (0)