aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2022-01-10 12:35:08 +0100
committerFelix Fietkau <nbd@nbd.name>2022-01-13 18:33:06 +0100
commit76b27f6bb92eec4a25001da8d8188d30440eafd9 (patch)
treefb58ac17728deb0a740633efa52d0c9b2fc12193 /target/linux/mediatek
parent7235c8d00ccf2d6d1bde3a2bec476d45d8c7c2ab (diff)
downloadupstream-76b27f6bb92eec4a25001da8d8188d30440eafd9.tar.gz
upstream-76b27f6bb92eec4a25001da8d8188d30440eafd9.tar.bz2
upstream-76b27f6bb92eec4a25001da8d8188d30440eafd9.zip
mediatek: rework and fix mt7622-rfb1-ubi support
Limit bmt remapping range to cover everything up to and including the kernel image, use the rest of the flash area for ubi. Fix partition table and sysupgrade support Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux/mediatek')
-rw-r--r--target/linux/mediatek/dts/mt7622-rfb1-ubi.dts18
-rw-r--r--target/linux/mediatek/image/mt7622.mk1
-rw-r--r--target/linux/mediatek/mt7622/base-files/etc/board.d/02_network3
-rwxr-xr-xtarget/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh5
4 files changed, 15 insertions, 12 deletions
diff --git a/target/linux/mediatek/dts/mt7622-rfb1-ubi.dts b/target/linux/mediatek/dts/mt7622-rfb1-ubi.dts
index 3816dcb9cc..1a94446c7a 100644
--- a/target/linux/mediatek/dts/mt7622-rfb1-ubi.dts
+++ b/target/linux/mediatek/dts/mt7622-rfb1-ubi.dts
@@ -3,10 +3,13 @@
#include "mt7622-rfb1.dts"
/ {
model = "MT7622_MT7531 RFB (UBI)";
- compatible = "mediatek,mt7622,ubi";
+ compatible = "mediatek,mt7622-rfb1-ubi";
};
&snand {
+ mediatek,bmt-v2;
+ mediatek,bmt-remap-range = <0x0 0x6c0000>;
+
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
@@ -35,22 +38,19 @@
factory: partition@1c0000 {
label = "Factory";
- reg = <0x1c0000 0x0040000>;
+ reg = <0x1c0000 0x0100000>;
};
partition@200000 {
label = "kernel";
- reg = <0x200000 0x400000>;
+ reg = <0x2c0000 0x400000>;
};
- partition@600000 {
+ partition@6c0000 {
label = "ubi";
- reg = <0x600000 0x1C00000>;
+ reg = <0x6c0000 0x6f00000>;
};
- partition@2200000 {
- label = "User_data";
- reg = <0x2200000 0x4000000>;
- };
+ /delete-node/ partition@2200000;
};
};
diff --git a/target/linux/mediatek/image/mt7622.mk b/target/linux/mediatek/image/mt7622.mk
index 795bb3fc76..3b0afa98df 100644
--- a/target/linux/mediatek/image/mt7622.mk
+++ b/target/linux/mediatek/image/mt7622.mk
@@ -190,6 +190,7 @@ define Device/mediatek_mt7622-rfb1-ubi
DEVICE_DTS := mt7622-rfb1-ubi
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3
+ BOARD_NAME := mediatek,mt7622-rfb1-ubi
UBINIZE_OPTS := -E 5
BLOCKSIZE := 128k
PAGESIZE := 2048
diff --git a/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network b/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network
index 3724fd6d5c..7b454314cf 100644
--- a/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network
+++ b/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network
@@ -11,7 +11,8 @@ mediatek_setup_interfaces()
bananapi,bpi-r64|\
linksys,e8450|\
linksys,e8450-ubi|\
- mediatek,mt7622-rfb1)
+ mediatek,mt7622-rfb1|\
+ mediatek,mt7622-rfb1-ubi)
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" wan
;;
buffalo,wsr-2533dhp2)
diff --git a/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh b/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh
index e6afb9547c..bd86a92c7b 100755
--- a/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh
@@ -34,8 +34,7 @@ platform_do_upgrade() {
nand_do_upgrade "$1"
fi
;;
- linksys,e8450-ubi|\
- mediatek,mt7622,ubi)
+ linksys,e8450-ubi)
CI_KERNPART="fit"
nand_do_upgrade "$1"
;;
@@ -47,6 +46,7 @@ platform_do_upgrade() {
fi
default_do_upgrade "$1"
;;
+ mediatek,mt7622-rfb1-ubi|\
totolink,a8000ru)
nand_do_upgrade "$1"
;;
@@ -68,6 +68,7 @@ platform_check_image() {
buffalo,wsr-2533dhp2)
buffalo_check_image "$board" "$magic" "$1" || return 1
;;
+ mediatek,mt7622-rfb1-ubi|\
totolink,a8000ru)
nand_do_platform_check "$board" "$1"
;;