diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2016-12-10 20:45:50 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2016-12-20 14:38:48 +0100 |
commit | 51740990cd1d5375a566454e692b479986cba958 (patch) | |
tree | 5df034a99a8f4908daf79ff668ded5cf20ddb81a | |
parent | 0495181529e6069af03704f4b5ae71883a2cd6b6 (diff) | |
download | mtk-20170518-51740990cd1d5375a566454e692b479986cba958.zip mtk-20170518-51740990cd1d5375a566454e692b479986cba958.tar.gz mtk-20170518-51740990cd1d5375a566454e692b479986cba958.tar.bz2 |
firmware-utils: add support for TL-WR1043ND v4 to mktplinkfw and tplink-safeloader
The TL-WR1043ND v4 uses a kernel image with a mktplinkfw header inside the
os-image partition of a tplink-safeloader image.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-rw-r--r-- | tools/firmware-utils/src/mktplinkfw.c | 14 | ||||
-rw-r--r-- | tools/firmware-utils/src/tplink-safeloader.c | 36 |
2 files changed, 50 insertions, 0 deletions
diff --git a/tools/firmware-utils/src/mktplinkfw.c b/tools/firmware-utils/src/mktplinkfw.c index 34e6546..fbf8960 100644 --- a/tools/firmware-utils/src/mktplinkfw.c +++ b/tools/firmware-utils/src/mktplinkfw.c @@ -178,6 +178,20 @@ static struct flash_layout layouts[] = { .kernel_ep = 0xc0000000, .rootfs_ofs = 0x2a0000, }, { + /* + Some devices (e.g. TL-WR1043 v4) use a mktplinkfw kernel image + embedded in a tplink-safeloader image as os-image partition. + + We use a 1.5MB partition for the compressed kernel, which should + be sufficient, but not too wasteful (the flash of the TL-WR1043 v4 + has 16MB in total). + */ + .id = "16Msafeloader", + .fw_max_len = 0x180000, + .kernel_la = 0x80060000, + .kernel_ep = 0x80060000, + .rootfs_ofs = 0, + }, { /* terminating entry */ } }; diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c index 7a5990c..016c118 100644 --- a/tools/firmware-utils/src/tplink-safeloader.c +++ b/tools/firmware-utils/src/tplink-safeloader.c @@ -294,6 +294,42 @@ static struct device_info boards[] = { .last_sysupgrade_partition = "file-system" }, + /** Firmware layout for the TL-WR1043 v4 */ + { + .id = "TLWR1043NDV4", + .vendor = "", + .support_list = + "SupportList:\n" + "{product_name:TL-WR1043ND,product_ver:4.0.0,special_id:45550000}\n", + .support_trail = '\x00', + + /** + We use a bigger os-image partition than the stock images (and thus + smaller file-system), as our kernel doesn't fit in the stock firmware's + 1MB os-image. + */ + .partitions = { + {"fs-uboot", 0x00000, 0x20000}, + {"os-image", 0x20000, 0x180000}, + {"file-system", 0x1a0000, 0xdb0000}, + {"default-mac", 0xf50000, 0x00200}, + {"pin", 0xf50200, 0x00200}, + {"product-info", 0xf50400, 0x0fc00}, + {"soft-version", 0xf60000, 0x0b000}, + {"support-list", 0xf6b000, 0x04000}, + {"profile", 0xf70000, 0x04000}, + {"default-config", 0xf74000, 0x0b000}, + {"user-config", 0xf80000, 0x40000}, + {"partition-table", 0xfc0000, 0x10000}, + {"log", 0xfd0000, 0x20000}, + {"radio", 0xff0000, 0x10000}, + {NULL, 0, 0} + }, + + .first_sysupgrade_partition = "os-image", + .last_sysupgrade_partition = "file-system" + }, + {} }; |