浏览代码

ramips: add NMBM support for ipTIME AX2004M

AX2004M uses NMBM on its NAND flash, but it was not enabled in DTS as the
device support [1] had been added before NMBM feature in mtk_bmt driver [2].
Let's enable it now.

With this change, there is a low possibility of boot failure after
sysupgrade from older versions. As AX2004M already has gone through
two stable releases in the meantime, it would be safe to warn users
by bumping DEVICE_COMPAT_VERSION.

[1] 37753f34ac68 ("ramips: add support for ipTIME AX2004M")
[2] 06382d1af7b2 ("kernel: add support for mediatek NMBM flash mapping support")

Signed-off-by: Sungbo Eo <[email protected]>
Sungbo Eo 1 年之前
父节点
当前提交
7e04a611bc

+ 7 - 0
target/linux/ramips/dts/mt7621_iptime_ax2004m.dts

@@ -57,6 +57,11 @@
 &nand {
 	status = "okay";
 
+	mediatek,nmbm;
+	mediatek,bmt-max-ratio = <1>;
+	mediatek,bmt-max-reserved-blocks = <64>;
+	mediatek,bmt-remap-range = <0x000000 0x580000>;
+
 	partitions {
 		compatible = "fixed-partitions";
 		#address-cells = <1>;
@@ -118,6 +123,8 @@
 				reg = <0x400000 0x7280000>;
 			};
 		};
+
+		/* last 8 MiB is reserved for NMBM bad block table */
 	};
 };
 

+ 4 - 0
target/linux/ramips/image/mt7621.mk

@@ -1461,6 +1461,10 @@ define Device/iptime_ax2004m
   DEVICE_VENDOR := ipTIME
   DEVICE_MODEL := AX2004M
   DEVICE_PACKAGES := kmod-mt7915-firmware kmod-usb3 -uboot-envtools
+  DEVICE_COMPAT_VERSION := 2.0
+  DEVICE_COMPAT_MESSAGE := NMBM has been newly enabled, and its flash block \
+	mapping might be incompatible with existing installation. \
+	New installation via recovery mode is recommended.
 endef
 TARGET_DEVICES += iptime_ax2004m
 

+ 3 - 0
target/linux/ramips/mt7621/base-files/etc/board.d/05_compat-version

@@ -8,6 +8,9 @@
 board_config_update
 
 case "$(board_name)" in
+	iptime,ax2004m)
+		ucidef_set_compat_version "2.0"
+		;;
 	*)
 		ucidef_set_compat_version "1.1"
 		;;