aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware-utils/src
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2016-12-10 20:45:50 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2016-12-20 14:38:48 +0100
commit51740990cd1d5375a566454e692b479986cba958 (patch)
tree5df034a99a8f4908daf79ff668ded5cf20ddb81a /tools/firmware-utils/src
parent0495181529e6069af03704f4b5ae71883a2cd6b6 (diff)
downloadupstream-51740990cd1d5375a566454e692b479986cba958.tar.gz
upstream-51740990cd1d5375a566454e692b479986cba958.tar.bz2
upstream-51740990cd1d5375a566454e692b479986cba958.zip
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>
Diffstat (limited to 'tools/firmware-utils/src')
-rw-r--r--tools/firmware-utils/src/mktplinkfw.c14
-rw-r--r--tools/firmware-utils/src/tplink-safeloader.c36
2 files changed, 50 insertions, 0 deletions
diff --git a/tools/firmware-utils/src/mktplinkfw.c b/tools/firmware-utils/src/mktplinkfw.c
index 34e6546a2d..fbf89609c2 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 7a5990cc9b..016c118787 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"
+ },
+
{}
};