mediatek: add new layout for Xiaomi Redmi Router AX6000 for OpenWrt U-Boot
This new layout is only bootable with OpenWrt U-Boot. It reuses the two crash partions and expands the ubi partion to the end of whole flash. Do not use this layout with stock U-Boot! Signed-off-by: Furong Xu <xfr@outlook.com>
This commit is contained in:
		| @@ -8,7 +8,25 @@ | ||||
| 	compatible = "xiaomi,redmi-router-ax6000-stock", "mediatek,mt7986a"; | ||||
| }; | ||||
|  | ||||
| &spi_nand_flash { | ||||
| 	mediatek,nmbm; | ||||
| 	mediatek,bmt-max-ratio = <1>; | ||||
| 	mediatek,bmt-max-reserved-blocks = <64>; | ||||
| }; | ||||
|  | ||||
| &partitions { | ||||
| 	partition@580000 { | ||||
| 		label = "crash"; | ||||
| 		reg = <0x580000 0x40000>; | ||||
| 		read-only; | ||||
| 	}; | ||||
|  | ||||
| 	partition@5c0000 { | ||||
| 		label = "crash_log"; | ||||
| 		reg = <0x5c0000 0x40000>; | ||||
| 		read-only; | ||||
| 	}; | ||||
|  | ||||
| 	partition@600000 { | ||||
| 		label = "ubi_kernel"; | ||||
| 		reg = <0x600000 0x1e00000>; | ||||
|   | ||||
| @@ -0,0 +1,16 @@ | ||||
| // SPDX-License-Identifier: (GPL-2.0 OR MIT) | ||||
|  | ||||
| /dts-v1/; | ||||
| #include "mt7986a-xiaomi-redmi-router-ax6000.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "Xiaomi Redmi Router AX6000 (OpenWrt U-Boot layout)"; | ||||
| 	compatible = "xiaomi,redmi-router-ax6000-ubootmod", "mediatek,mt7986a"; | ||||
| }; | ||||
|  | ||||
| &partitions { | ||||
| 	partition@580000 { | ||||
| 		label = "ubi"; | ||||
| 		reg = <0x580000 0x7a80000>; | ||||
| 	}; | ||||
| }; | ||||
| @@ -8,7 +8,25 @@ | ||||
| 	compatible = "xiaomi,redmi-router-ax6000", "mediatek,mt7986a"; | ||||
| }; | ||||
|  | ||||
| &spi_nand_flash { | ||||
| 	mediatek,nmbm; | ||||
| 	mediatek,bmt-max-ratio = <1>; | ||||
| 	mediatek,bmt-max-reserved-blocks = <64>; | ||||
| }; | ||||
|  | ||||
| &partitions { | ||||
| 	partition@580000 { | ||||
| 		label = "crash"; | ||||
| 		reg = <0x580000 0x40000>; | ||||
| 		read-only; | ||||
| 	}; | ||||
|  | ||||
| 	partition@5c0000 { | ||||
| 		label = "crash_log"; | ||||
| 		reg = <0x5c0000 0x40000>; | ||||
| 		read-only; | ||||
| 	}; | ||||
|  | ||||
| 	/* ubi partition is the result of squashing | ||||
| 	 * consecutive stock partitions: | ||||
| 	 * - ubi | ||||
|   | ||||
| @@ -127,16 +127,12 @@ | ||||
| 	pinctrl-0 = <&spi_flash_pins>; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	flash@0 { | ||||
| 	spi_nand_flash: flash@0 { | ||||
| 		compatible = "spi-nand"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
|  | ||||
| 		mediatek,nmbm; | ||||
| 		mediatek,bmt-max-ratio = <1>; | ||||
| 		mediatek,bmt-max-reserved-blocks = <64>; | ||||
|  | ||||
| 		spi-max-frequency = <20000000>; | ||||
| 		spi-tx-buswidth = <4>; | ||||
| 		spi-rx-buswidth = <4>; | ||||
| @@ -181,18 +177,6 @@ | ||||
| 				reg = <0x380000 0x200000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@580000 { | ||||
| 				label = "crash"; | ||||
| 				reg = <0x580000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@5c0000 { | ||||
| 				label = "crash_log"; | ||||
| 				reg = <0x5c0000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|   | ||||
| @@ -7,7 +7,8 @@ board_config_update | ||||
|  | ||||
| case $board in | ||||
| xiaomi,redmi-router-ax6000|\ | ||||
| xiaomi,redmi-router-ax6000-stock) | ||||
| xiaomi,redmi-router-ax6000-stock|\ | ||||
| xiaomi,redmi-router-ax6000-ubootmod) | ||||
| 	ucidef_set_led_netdev "wan" "wan" "rgb:network" "wan" | ||||
| 	;; | ||||
| esac | ||||
|   | ||||
| @@ -17,7 +17,8 @@ mediatek_setup_interfaces() | ||||
| 		ucidef_set_interface_macaddr "wan" "$(macaddr_add $(cat /sys/class/net/eth0/address) 1)" | ||||
| 		;; | ||||
| 	xiaomi,redmi-router-ax6000|\ | ||||
| 	xiaomi,redmi-router-ax6000-stock) | ||||
| 	xiaomi,redmi-router-ax6000-stock|\ | ||||
| 	xiaomi,redmi-router-ax6000-ubootmod) | ||||
| 		ucidef_set_interfaces_lan_wan "lan2 lan3 lan4" wan | ||||
| 		;; | ||||
| 	*) | ||||
| @@ -35,7 +36,8 @@ mediatek_setup_macs() | ||||
|  | ||||
| 	case $board in | ||||
| 	xiaomi,redmi-router-ax6000|\ | ||||
| 	xiaomi,redmi-router-ax6000-stock) | ||||
| 	xiaomi,redmi-router-ax6000-stock|\ | ||||
| 	xiaomi,redmi-router-ax6000-ubootmod) | ||||
| 		wan_mac=$(mtd_get_mac_ascii Bdata ethaddr_wan) | ||||
| 		label_mac=$wan_mac | ||||
| 		;; | ||||
|   | ||||
| @@ -64,6 +64,10 @@ platform_do_upgrade() { | ||||
| 		CI_ROOT_UBIPART=ubi | ||||
| 		nand_do_upgrade "$1" | ||||
| 		;; | ||||
| 	xiaomi,redmi-router-ax6000-ubootmod) | ||||
| 		CI_KERNPART="fit" | ||||
| 		nand_do_upgrade "$1" | ||||
| 		;; | ||||
| 	*) | ||||
| 		nand_do_upgrade "$1" | ||||
| 		;; | ||||
|   | ||||
| @@ -157,3 +157,32 @@ endif | ||||
|   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | ||||
| endef | ||||
| TARGET_DEVICES += xiaomi_redmi-router-ax6000-stock | ||||
|  | ||||
| define Device/xiaomi_redmi-router-ax6000-ubootmod | ||||
|   DEVICE_VENDOR := Xiaomi | ||||
|   DEVICE_MODEL := Redmi Router AX6000 (OpenWrt U-Boot layout) | ||||
|   DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-ubootmod | ||||
|   DEVICE_DTS_DIR := ../dts | ||||
|   DEVICE_PACKAGES := kmod-leds-ws2812b | ||||
|   KERNEL_INITRAMFS_SUFFIX := -recovery.itb | ||||
|   IMAGES := sysupgrade.itb | ||||
|   KERNEL_LOADADDR := 0x48000000 | ||||
|   UBINIZE_OPTS := -E 5 | ||||
|   BLOCKSIZE := 128k | ||||
|   PAGESIZE := 2048 | ||||
|   KERNEL_IN_UBI := 1 | ||||
|   UBOOTENV_IN_UBI := 1 | ||||
|   KERNEL := kernel-bin | gzip | ||||
|   KERNEL_INITRAMFS := kernel-bin | lzma | \ | ||||
|         fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k | ||||
|   IMAGE/sysupgrade.itb := append-kernel | \ | ||||
|         fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata | ||||
|   ARTIFACTS := preloader.bin bl31-uboot.fip | ||||
|   ARTIFACT/preloader.bin := bl2 spim-nand-ddr4 | ||||
|   ARTIFACT/bl31-uboot.fip := bl31-uboot xiaomi_redmi-router-ax6000 | ||||
| ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) | ||||
|   ARTIFACTS += initramfs-factory.ubi | ||||
|   ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel | ||||
| endif | ||||
| endef | ||||
| TARGET_DEVICES += xiaomi_redmi-router-ax6000-ubootmod | ||||
|   | ||||
		Reference in New Issue
	
	Block a user