ramips: fix/tidy up 4M tplink-v2-image flash layouts

For the TP-Link 4M devices with tplink-v2-image recipe
(mktplinkfw2.c), there are two different flash layouts based
on the size of the (u)boot partition:

device         uboot    OEM firmware  OpenWrt (incl. config)
tl-wr840n-v5   0x20000  0x3c0000      0x3d0000
tl-wr841n-v14  0x10000  0x3d0000      0x3e0000

In both cases, the 0x10000 config partition is used for the firmware
partition as well due to the limited space available and since it's
recreated by the OEM firmware anyway.

However, the TFTP flashing process will only copy data up to the
size of the initial (OEM) firmware size. Therefore, while we can
use the bigger partition to have additional erase blocks on the
device, we have to limit the image sizes to the TFTP limits.

So far, only one layout definition has been set up in mktplinkfw2.c
for 4M mediatek devices. This adds a second one and assigns them
to the devices so the image sizes are correctly restrained.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
Adrian Schmutzler 2020-08-03 12:02:48 +02:00
parent 18b7d87a8f
commit 1deaf695ec
2 changed files with 7 additions and 1 deletions

View File

@ -528,7 +528,7 @@ define Device/tplink_tl-wr841n-v14
IMAGE_SIZE := 3968k
DEVICE_MODEL := TL-WR841N
DEVICE_VARIANT := v14
TPLINK_FLASHLAYOUT := 4Mmtk
TPLINK_FLASHLAYOUT := 4MLmtk
TPLINK_HWID := 0x08410014
TPLINK_HWREVADD := 0x14
IMAGES := sysupgrade.bin tftp-recovery.bin

View File

@ -124,6 +124,12 @@ char md5salt_boot[MD5SUM_LEN] = {
static struct flash_layout layouts[] = {
{
.id = "4Mmtk",
.fw_max_len = 0x3c0000,
.kernel_la = 0x80000000,
.kernel_ep = 0x80000000,
.rootfs_ofs = 0x140000,
}, {
.id = "4MLmtk",
.fw_max_len = 0x3d0000,
.kernel_la = 0x80000000,
.kernel_ep = 0x80000000,