[source] firmware-utils: add support for TL-WR1043ND v4 to mktplinkfw and tplink-safeloader

LEDE Commits lede-commits at lists.infradead.org
Tue Dec 20 05:41:23 PST 2016


neoraider pushed a commit to source.git, branch master:
https://git.lede-project.org/51740990cd1d5375a566454e692b479986cba958

commit 51740990cd1d5375a566454e692b479986cba958
Author: Matthias Schiffer <mschiffer at universe-factory.net>
AuthorDate: Sat Dec 10 20:45:50 2016 +0100

    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 at universe-factory.net>
---
 tools/firmware-utils/src/mktplinkfw.c        | 14 +++++++++++
 tools/firmware-utils/src/tplink-safeloader.c | 36 ++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+)

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"
+	},
+
 	{}
 };
 



More information about the lede-commits mailing list