Skip to content

Commit ff5e66a

Browse files
csharper2005hauke
authored andcommitted
mediatek: add support for Routerich BE7200
This PR adds support for Routerich BE7200 router. Specification ------------- - SoC : MediaTek MT7987A Quad-core ARM Cortex-A53 2.0 GHz - RAM : 1024 MiB DDR4 - Flash : SPI-NAND 512 MiB (Giga Device) - WLAN : MediaTek MT7992E, WiFi 7 - 2.4 GHz : b/g/n/ax, MIMO 4x4 - 5 GHz : a/n/ac/ax, MIMO 4x4 - Ethernet : 10/100/1000 Mbps x3 (LAN, Airoha AN8855AE) 10/100/1000/2500 Mbps x1 (WAN, SoC internal phy) - USB : 3.0 x1 - Buttons : Mesh, Reset - LEDs : 1x Status (blue), gpio-controlled 1x WiFi (blue), gpio-controlled 1x mesh (blue), gpio-controlled 3x LAN activity (blue), gpio-controlled 1x WAN activity (blue), gpio-controlled 1x WAN no-link (red), gpio-controlled - Power : 12 VDC, 1.5 A Installation ------------ 1. Update stock firmware via the web interface (don't keep settings). Update U-Boot (optional) ------------------------ After installing OpenWrt, you may want to install opensource U-Boot. 1. Install kmod-mtd-rw: apk update && apk add kmod-mtd-rw 2. Unlock bootloader: insmod mtd-rw i_want_a_brick=1 mtd unlock BL2 mtd unlock FIP 3. Download and write open-source BL2 and FIP: cd /tmp wget https://.../openwrt-mediatek-filogic-routerich_be7200-preloader.bin wget https://.../openwrt-mediatek-filogic-routerich_be7200-bl31-uboot.fip mtd write /tmp/openwrt-mediatek-filogic-routerich_be7200-preloader.bin BL2 mtd write /tmp/openwrt-mediatek-filogic-routerich_be7200-bl31-uboot.fip FIP 4. Reboot the router. Return to stock --------------- 1. Update OpenWrt wirh the vendor's firmware (don't keep settings). Recovery (original U-Boot) ----------------------------- 1. Press Reset button and power on the router. After ~10 sec release the button; 2. Upload and flash squashfs-sysupgrade.itb image via the web interface. Recovery (open-source U-Boot) ----------------------------- 1. Place OpenWrt 'openwrt-mediatek-filogic-routerich_be7200-initramfs-recovery.itb' image on the tftp server (IP: 192.168.1.254) 2. Press Reset button and power on the router. After ~10 sec release the button. 3. Use OpenWrt initramfs system for recovery Recovery (full disaster) ------------------------ Use UART and mtk_uartboot tool. Link: https://github.com/981213/mtk_uartboot USB power control ----------------- Disable: echo disabled > /sys/devices/platform/usb-power/state Enable: echo enabled > /sys/devices/platform/usb-power/state UART ---- UART pins are silkscreened on the PCB. Don't connect Vcc. Serial connection parameters: 115200, 8n1, 3.3V MAC addresses ------------- +---------+-------------------+-----------+ | | MAC | Algorithm | +---------+-------------------+-----------+ | WAN | 24:0f:5e:xx:xx:30 | label | | LAN | 24:0f:5e:xx:xx:31 | label+1 | | WLAN 2g | 24:0f:5e:xx:xx:32 | label+2 | | WLAN 5g | 24:0f:5e:xx:xx:33 | label+3 | +---------+-------------------+-----------+ The WLAN 2g MAC was found in 'Factory', 0x4 Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com> Link: openwrt/openwrt#21235 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
1 parent 8398a03 commit ff5e66a

File tree

8 files changed

+904
-0
lines changed

8 files changed

+904
-0
lines changed

package/boot/uboot-mediatek/Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,17 @@ define U-Boot/mt7987_bananapi_bpi-r4-lite-nor
881881
FIP_COMPRESS:=1
882882
endef
883883

884+
define U-Boot/mt7987_routerich_be7200
885+
NAME:=Routerich BE7200
886+
BUILD_SUBTARGET:=filogic
887+
BUILD_DEVICES:=routerich_be7200
888+
UBOOT_CONFIG:=mt7987a_routerich_be7200
889+
UBOOT_IMAGE:=u-boot.fip
890+
BL2_BOOTDEV:=spim-nand0
891+
BL2_SOC:=mt7987
892+
DEPENDS:=+trusted-firmware-a-mt7987-spim-nand0
893+
endef
894+
884895
define U-Boot/mt7988_arcadyan_mozart
885896
NAME:=Arcadyan Mozart
886897
BUILD_SUBTARGET:=filogic
@@ -1152,6 +1163,7 @@ UBOOT_TARGETS := \
11521163
mt7987_rfb-emmc \
11531164
mt7987_rfb-sd \
11541165
mt7987_rfb-spim-nand \
1166+
mt7987_routerich_be7200 \
11551167
mt7988_arcadyan_mozart \
11561168
mt7988_asus_zenwifi-bt8 \
11571169
mt7988_bananapi_bpi-r4-emmc \
Lines changed: 373 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,373 @@
1+
--- /dev/null
2+
+++ b/configs/mt7987a_routerich_be7200_defconfig
3+
@@ -0,0 +1,133 @@
4+
+CONFIG_ARM=y
5+
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
6+
+CONFIG_POSITION_INDEPENDENT=y
7+
+CONFIG_ARCH_MEDIATEK=y
8+
+CONFIG_TEXT_BASE=0x41e00000
9+
+CONFIG_SYS_MALLOC_F_LEN=0x4000
10+
+CONFIG_NR_DRAM_BANKS=1
11+
+CONFIG_DEFAULT_DEVICE_TREE="mt7987a-routerich_be7200"
12+
+CONFIG_OF_LIBFDT_OVERLAY=y
13+
+CONFIG_TARGET_MT7987=y
14+
+CONFIG_CPU_ARMV8=y
15+
+CONFIG_SYS_BOOTM_LEN=0x6000000
16+
+CONFIG_SYS_LOAD_ADDR=0x48000000
17+
+CONFIG_PRE_CON_BUF_ADDR=0x4007ef00
18+
+CONFIG_DEBUG_UART_BASE=0x11000000
19+
+CONFIG_DEBUG_UART_CLOCK=40000000
20+
+CONFIG_DEBUG_UART=y
21+
+CONFIG_FIT=y
22+
+CONFIG_AUTOBOOT_MENU_SHOW=y
23+
+CONFIG_DEFAULT_FDT_FILE="mt7987a-routerich_be7200"
24+
+CONFIG_SYS_CBSIZE=512
25+
+CONFIG_SYS_PBSIZE=1049
26+
+CONFIG_LOGLEVEL=7
27+
+CONFIG_PRE_CONSOLE_BUFFER=y
28+
+CONFIG_LOG=y
29+
+# CONFIG_BOARD_INIT is not set
30+
+CONFIG_BOARD_LATE_INIT=y
31+
+CONFIG_HUSH_PARSER=y
32+
+CONFIG_SYS_PROMPT="MT7987> "
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_CMD_BOOTEFI_BOOTMGR is not set
38+
+CONFIG_CMD_LICENSE=y
39+
+CONFIG_CMD_BOOTMENU=y
40+
+CONFIG_CMD_ASKENV=y
41+
+CONFIG_CMD_ERASEENV=y
42+
+CONFIG_CMD_ENV_FLAGS=y
43+
+CONFIG_CMD_STRINGS=y
44+
+CONFIG_CMD_CPU=y
45+
+CONFIG_CMD_DM=y
46+
+CONFIG_CMD_GPIO=y
47+
+CONFIG_CMD_PWM=y
48+
+CONFIG_CMD_GPT=y
49+
+CONFIG_CMD_I2C=y
50+
+CONFIG_CMD_MMC=y
51+
+CONFIG_CMD_MTD=y
52+
+CONFIG_CMD_PART=y
53+
+CONFIG_CMD_PCI=y
54+
+CONFIG_CMD_USB=y
55+
+CONFIG_CMD_TFTPSRV=y
56+
+CONFIG_CMD_RARP=y
57+
+CONFIG_CMD_CDP=y
58+
+CONFIG_CMD_SNTP=y
59+
+CONFIG_CMD_LINK_LOCAL=y
60+
+CONFIG_CMD_DHCP=y
61+
+CONFIG_CMD_DNS=y
62+
+CONFIG_CMD_PING=y
63+
+CONFIG_CMD_PXE=y
64+
+CONFIG_CMD_CACHE=y
65+
+CONFIG_CMD_PSTORE=y
66+
+CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000
67+
+CONFIG_CMD_UUID=y
68+
+CONFIG_CMD_HASH=y
69+
+CONFIG_CMD_SMC=y
70+
+CONFIG_CMD_EXT4=y
71+
+CONFIG_CMD_FAT=y
72+
+CONFIG_CMD_FS_GENERIC=y
73+
+CONFIG_CMD_FS_UUID=y
74+
+CONFIG_CMD_SF_TEST=y
75+
+CONFIG_CMD_UBI=y
76+
+CONFIG_CMD_UBI_RENAME=y
77+
+# CONFIG_CMD_XIMG is not set
78+
+CONFIG_ENV_OVERWRITE=y
79+
+CONFIG_ENV_IS_IN_UBI=y
80+
+CONFIG_ENV_REDUNDANT=y
81+
+CONFIG_ENV_UBI_PART="ubi"
82+
+CONFIG_ENV_UBI_VOLUME="ubootenv"
83+
+CONFIG_ENV_UBI_VOLUME_REDUND="ubootenv2"
84+
+CONFIG_ENV_USE_DEFAULT_ENV_TEXT_FILE=y
85+
+CONFIG_ENV_DEFAULT_ENV_TEXT_FILE="defenvs/routerich_be7200_env"
86+
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
87+
+CONFIG_VERSION_VARIABLE=y
88+
+CONFIG_NETCONSOLE=y
89+
+CONFIG_USE_IPADDR=y
90+
+CONFIG_IPADDR="192.168.1.1"
91+
+CONFIG_USE_NETMASK=y
92+
+CONFIG_NETMASK="255.255.255.0"
93+
+CONFIG_USE_SERVERIP=y
94+
+CONFIG_SERVERIP="192.168.1.254"
95+
+CONFIG_NET_RANDOM_ETHADDR=y
96+
+CONFIG_BUTTON=y
97+
+CONFIG_BUTTON_GPIO=y
98+
+CONFIG_CLK=y
99+
+CONFIG_DM_I2C=y
100+
+CONFIG_SYS_I2C_MTK=y
101+
+CONFIG_LED=y
102+
+CONFIG_LED_BLINK=y
103+
+CONFIG_LED_GPIO=y
104+
+# CONFIG_MMC is not set
105+
+CONFIG_MTD=y
106+
+CONFIG_DM_MTD=y
107+
+CONFIG_MTD_SPI_NAND=y
108+
+CONFIG_MTD_UBI_FASTMAP=y
109+
+CONFIG_PHY_ETHERNET_ID=y
110+
+CONFIG_PHY_FIXED=y
111+
+CONFIG_MEDIATEK_ETH=y
112+
+CONFIG_PHY=y
113+
+CONFIG_PHY_MTK_TPHY=y
114+
+CONFIG_PINCTRL=y
115+
+CONFIG_PINCONF=y
116+
+CONFIG_PINCTRL_MT7987=y
117+
+CONFIG_POWER_DOMAIN=y
118+
+CONFIG_MTK_POWER_DOMAIN=y
119+
+CONFIG_DM_REGULATOR=y
120+
+CONFIG_DM_REGULATOR_FIXED=y
121+
+CONFIG_DM_REGULATOR_GPIO=y
122+
+CONFIG_DM_PWM=y
123+
+CONFIG_PWM_MTK=y
124+
+CONFIG_SCSI=y
125+
+CONFIG_DM_SERIAL=y
126+
+CONFIG_SERIAL_RX_BUFFER=y
127+
+CONFIG_MTK_SERIAL=y
128+
+CONFIG_SPI=y
129+
+CONFIG_DM_SPI=y
130+
+CONFIG_MTK_SPIM=y
131+
+CONFIG_USB=y
132+
+CONFIG_USB_XHCI_HCD=y
133+
+CONFIG_USB_XHCI_MTK=y
134+
+CONFIG_USB_STORAGE=y
135+
+CONFIG_ZSTD=y
136+
+CONFIG_HEXDUMP=y
137+
--- /dev/null
138+
+++ b/defenvs/routerich_be7200_env
139+
@@ -0,0 +1,57 @@
140+
+ipaddr=192.168.1.1
141+
+serverip=192.168.1.254
142+
+loadaddr=0x48000000
143+
+console=earlycon=uart8250,mmio32,0x11002000 console=ttyS0
144+
+bootcmd=run check_buttons ; if pstore check ; then run boot_recovery ; else run boot_ubi ; fi
145+
+bootconf=config-1
146+
+bootdelay=0
147+
+bootfile=openwrt-mediatek-filogic-routerich_be7200-initramfs-recovery.itb
148+
+bootfile_bl2=openwrt-mediatek-filogic-routerich_be7200-preloader.bin
149+
+bootfile_fip=openwrt-mediatek-filogic-routerich_be7200-bl31-uboot.fip
150+
+bootfile_upg=openwrt-mediatek-filogic-routerich_be7200-squashfs-sysupgrade.itb
151+
+bootled_status=blue:status
152+
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
153+
+bootmenu_default=0
154+
+bootmenu_delay=0
155+
+bootmenu_title= ( ( ( OpenWrt ) ) )
156+
+bootmenu_0=Initialize environment.=run _firstboot
157+
+bootmenu_0d=Run default boot command.=run boot_default
158+
+bootmenu_1=Boot system via TFTP.=run boot_tftp ; run bootmenu_confirm_return
159+
+bootmenu_2=Boot production system from NAND.=run boot_production ; run bootmenu_confirm_return
160+
+bootmenu_3=Boot recovery system from NAND.=run boot_recovery ; run bootmenu_confirm_return
161+
+bootmenu_4=Load production system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_production ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
162+
+bootmenu_5=Load recovery system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_recovery ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
163+
+bootmenu_6=Load BL31+U-Boot FIP via TFTP then write to NAND.=run boot_tftp_write_fip ; run bootmenu_confirm_return
164+
+bootmenu_7=Load BL2 preloader via TFTP then write to NAND.=run boot_tftp_write_bl2 ; run bootmenu_confirm_return
165+
+bootmenu_8=Reboot.=reset
166+
+bootmenu_9=Reset all settings to factory defaults.=run reset_factory ; reset
167+
+boot_first=if button reset ; then led $bootled_status on ; run boot_default ; fi ; bootmenu
168+
+boot_default=if env exists flag_recover ; then else run bootcmd ; fi ; run boot_recovery ; setenv replacevol 1 ; run boot_tftp_forever
169+
+boot_production=led $bootled_status on ; run ubi_read_production && bootm $loadaddr#$bootconf ; led bootled_status off
170+
+boot_recovery=led $bootled_status on ; run ubi_read_recovery && bootm $loadaddr#$bootconf ; led bootled_status off
171+
+boot_ubi=run boot_production ; run boot_recovery ; run boot_tftp_forever
172+
+boot_tftp_forever=led $bootled_status on ; while true ; do run boot_tftp ; sleep 1 ; done
173+
+boot_tftp_production=tftpboot $loadaddr $bootfile_upg && env exists replacevol && iminfo $loadaddr && run ubi_write_production ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
174+
+boot_tftp_recovery=tftpboot $loadaddr $bootfile && env exists replacevol && iminfo $loadaddr && run ubi_write_recovery ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
175+
+boot_tftp=tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf
176+
+boot_tftp_write_fip=tftpboot $loadaddr $bootfile_fip && run mtd_write_fip && run reset_factory
177+
+boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run mtd_write_bl2
178+
+check_buttons=if button reset ; then run boot_tftp ; fi
179+
+ethaddr_factory=mtd read Factory 0x40080000 0x0 0x20000 && env readmem -b ethaddr 0x40080004 0x6 ; setenv ethaddr_factory
180+
+part_default=production
181+
+part_recovery=recovery
182+
+reset_factory=ubi part ubi ; mw $loadaddr 0x0 0x800 ; ubi write $loadaddr ubootenv 0x800 ; ubi write $loadaddr ubootenv2 0x800
183+
+mtd_write_fip=mtd erase FIP && mtd write FIP $loadaddr
184+
+mtd_write_bl2=mtd erase BL2 && mtd write BL2 $loadaddr
185+
+ubi_create_env=ubi check ubootenv || ubi create ubootenv 0x100000 dynamic || run ubi_format ; ubi check ubootenv2 || ubi create ubootenv2 0x100000 dynamic || run ubi_format
186+
+ubi_format=ubi detach ; mtd erase ubi && ubi part ubi ; reset
187+
+ubi_prepare_rootfs=if ubi check rootfs_data ; then else if env exists rootfs_data_max ; then ubi create rootfs_data $rootfs_data_max dynamic || ubi create rootfs_data - dynamic ; else ubi create rootfs_data - dynamic ; fi ; fi
188+
+ubi_read_production=ubi read $loadaddr fit && iminfo $loadaddr && run ubi_prepare_rootfs
189+
+ubi_read_recovery=ubi check recovery && ubi read $loadaddr recovery
190+
+ubi_remove_rootfs=ubi check rootfs_data && ubi remove rootfs_data
191+
+ubi_write_production=ubi check fit && ubi remove fit ; run ubi_remove_rootfs ; ubi create fit $filesize dynamic && ubi write $loadaddr fit $filesize
192+
+ubi_write_recovery=ubi check recovery && ubi remove recovery ; run ubi_remove_rootfs ; ubi create recovery $filesize dynamic && ubi write $loadaddr recovery $filesize
193+
+_init_env=setenv _init_env ; run ubi_create_env ; saveenv ; saveenv
194+
+_firstboot=setenv _firstboot ; run ethaddr_factory ; run _switch_to_menu ; run _init_env ; run boot_first
195+
+_switch_to_menu=setenv _switch_to_menu ; setenv bootdelay 3 ; setenv bootmenu_delay 3 ; setenv bootmenu_0 $bootmenu_0d ; setenv bootmenu_0d ; run _bootmenu_update_title
196+
+_bootmenu_update_title=setenv _bootmenu_update_title ; setenv bootmenu_title "$bootmenu_title $ver"
197+
--- /dev/null
198+
+++ b/arch/arm/dts/mt7987a-routerich_be7200.dts
199+
@@ -0,0 +1,77 @@
200+
+// SPDX-License-Identifier: GPL-2.0
201+
+/*
202+
+ * Copyright (c) 2025
203+
+ * Author: Mikhail Zhilkin <csharper2005@gmail.com>
204+
+ */
205+
+
206+
+/dts-v1/;
207+
+#include "mt7987a.dtsi"
208+
+#include <dt-bindings/input/input.h>
209+
+
210+
+/ {
211+
+ model = "Routerich BE7200";
212+
+ compatible = "routerich,be7200",
213+
+ "mediatek,mt7987";
214+
+
215+
+ gpio-keys {
216+
+ compatible = "gpio-keys";
217+
+
218+
+ button-0 {
219+
+ label = "mesh";
220+
+ linux,code = <KEY_WPS_BUTTON>;
221+
+ gpios = <&pio 0 GPIO_ACTIVE_LOW>;
222+
+ debounce-interval = <10>;
223+
+ };
224+
+
225+
+ button-1 {
226+
+ label = "reset";
227+
+ linux,code = <KEY_RESTART>;
228+
+ gpios = <&pio 1 GPIO_ACTIVE_LOW>;
229+
+ debounce-interval = <10>;
230+
+ };
231+
+ };
232+
+
233+
+ leds {
234+
+ compatible = "gpio-leds";
235+
+
236+
+ led-0 {
237+
+ label = "blue:status";
238+
+ gpios = <&pio 4 GPIO_ACTIVE_LOW>;
239+
+ };
240+
+
241+
+ led-1 {
242+
+ label = "blue:wlan5g";
243+
+ gpios = <&pio 5 GPIO_ACTIVE_LOW>;
244+
+ };
245+
+
246+
+ led-2 {
247+
+ label = "blue:mesh";
248+
+ gpios = <&pio 7 GPIO_ACTIVE_LOW>;
249+
+ };
250+
+
251+
+ led-3 {
252+
+ label = "red:wan";
253+
+ gpios = <&pio 8 GPIO_ACTIVE_LOW>;
254+
+ };
255+
+
256+
+ led-4 {
257+
+ label = "blue:wan";
258+
+ gpios = <&pio 9 GPIO_ACTIVE_LOW>;
259+
+ };
260+
+
261+
+ led-5 {
262+
+ label = "blue:lan3";
263+
+ gpios = <&pio 10 GPIO_ACTIVE_LOW>;
264+
+ };
265+
+
266+
+ led-6 {
267+
+ label = "blue:lan2";
268+
+ gpios = <&pio 11 GPIO_ACTIVE_LOW>;
269+
+ };
270+
+
271+
+ led-7 {
272+
+ label = "blue:lan1";
273+
+ gpios = <&pio 12 GPIO_ACTIVE_LOW>;
274+
+ };
275+
+ };
276+
+};
277+
--- a/arch/arm/dts/Makefile
278+
+++ b/arch/arm/dts/Makefile
279+
@@ -1138,6 +1138,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
280+
mt7986b-emmc-rfb.dtb \
281+
mt7987a-emmc-rfb.dtb \
282+
mt7987a-rfb.dtb \
283+
+ mt7987a-routerich_be7200.dtb \
284+
mt7987a-sd-rfb.dtb \
285+
mt7988-rfb.dtb \
286+
mt7988-sd-rfb.dtb \
287+
--- /dev/null
288+
+++ b/arch/arm/dts/mt7987a-routerich_be7200-u-boot.dtsi
289+
@@ -0,0 +1,84 @@
290+
+// SPDX-License-Identifier: GPL-2.0
291+
+/*
292+
+ * Copyright (c) 2025
293+
+ * Author: Mikhail Zhilkin <csharper2005@gmail.com>
294+
+ */
295+
+
296+
+#include "mt7987a-u-boot.dtsi"
297+
+#include "mt7987-netsys-u-boot.dtsi"
298+
+
299+
+/ {
300+
+ model = "Routerich BE7200";
301+
+ compatible = "routerich,be7200",
302+
+ "mediatek,mt7987";
303+
+};
304+
+
305+
+&eth0 {
306+
+ status = "okay";
307+
+ pinctrl-names = "default";
308+
+ pinctrl-0 = <&mdio0_pins>;
309+
+ phy-mode = "2500base-x";
310+
+ mediatek,switch = "auto";
311+
+ reset-gpios = <&pio 42 GPIO_ACTIVE_HIGH>;
312+
+
313+
+ fixed-link {
314+
+ speed = <2500>;
315+
+ full-duplex;
316+
+ pause;
317+
+ };
318+
+};
319+
+
320+
+&spi0 {
321+
+ pinctrl-names = "default";
322+
+ pinctrl-0 = <&spi0_flash_pins>;
323+
+ #address-cells = <1>;
324+
+ #size-cells = <0>;
325+
+ status = "okay";
326+
+ must_tx;
327+
+ enhance_timing;
328+
+ dma_ext;
329+
+ ipm_design;
330+
+ support_quad;
331+
+ tick_dly = <2>;
332+
+ sample_sel = <0>;
333+
+
334+
+ spi_nand@0 {
335+
+ compatible = "spi-nand";
336+
+ reg = <0>;
337+
+ spi-max-frequency = <52000000>;
338+
+ spi-rx-bus-width = <4>;
339+
+ spi-tx-bus-width = <4>;
340+
+
341+
+ partitions {
342+
+ compatible = "fixed-partitions";
343+
+ #address-cells = <1>;
344+
+ #size-cells = <1>;
345+
+
346+
+ partition@0 {
347+
+ label = "BL2";
348+
+ reg = <0x0 0x100000>;
349+
+ };
350+
+
351+
+ partition@100000 {
352+
+ label = "u-boot-env (unused)";
353+
+ reg = <0x100000 0x80000>;
354+
+ };
355+
+
356+
+ partition@180000 {
357+
+ label = "Factory";
358+
+ reg = <0x180000 0x400000>;
359+
+ };
360+
+
361+
+ partition@580000 {
362+
+ label = "FIP";
363+
+ reg = <0x580000 0x200000>;
364+
+ };
365+
+
366+
+ partition@780000 {
367+
+ label = "ubi";
368+
+ reg = <0x780000 0x1f880000>;
369+
+ compatible = "linux,ubi";
370+
+ };
371+
+ };
372+
+ };
373+
+};

0 commit comments

Comments
 (0)