diff options
Diffstat (limited to 'target/linux/gemini/patches-4.19/0007-ARM-dts-Fix-up-the-D-Link-DIR-685-MTD-partition-info.patch')
-rw-r--r-- | target/linux/gemini/patches-4.19/0007-ARM-dts-Fix-up-the-D-Link-DIR-685-MTD-partition-info.patch | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/target/linux/gemini/patches-4.19/0007-ARM-dts-Fix-up-the-D-Link-DIR-685-MTD-partition-info.patch b/target/linux/gemini/patches-4.19/0007-ARM-dts-Fix-up-the-D-Link-DIR-685-MTD-partition-info.patch new file mode 100644 index 0000000000..2e4377ec02 --- /dev/null +++ b/target/linux/gemini/patches-4.19/0007-ARM-dts-Fix-up-the-D-Link-DIR-685-MTD-partition-info.patch @@ -0,0 +1,71 @@ +From 0f6c4817471faf572b5273cdf90160790b0c3b29 Mon Sep 17 00:00:00 2001 +From: Linus Walleij <linus.walleij@linaro.org> +Date: Thu, 17 May 2018 17:00:10 +0200 +Subject: [PATCH 07/18] ARM: dts: Fix up the D-Link DIR-685 MTD partition info + +The vendor firmware was analyzed to get the right idea about +this flash layout. /proc/mtd contains: + +dev: size erasesize name +mtd0: 01e7ff40 00020000 "rootfs" +mtd1: 01f40000 00020000 "upgrade" +mtd2: 00040000 00020000 "rgdb" +mtd3: 00020000 00020000 "nvram" +mtd4: 00040000 00020000 "RedBoot" +mtd5: 00020000 00020000 "LangPack" +mtd6: 02000000 00020000 "flash" + +Here "flash" is obviously the whole device and we know "rootfs" +is a bogus hack to point to a squashfs rootfs inside of the main +"upgrade partition". We know "RedBoot" is the first 0x40000 of +the flash and the "upgrade" partition follows from 0x40000 to +0x1f8000. So we have mtd0, 1, 4 and 6 covered. + +Remains: +mtd2: 00040000 00020000 "rgdb" +mtd3: 00020000 00020000 "nvram" +mtd5: 00020000 00020000 "LangPack" + +Inspecting the flash at 0x1f8000 and 0x1fa000 reveals each of +these starting with "RGCFG1" so we assume 0x1f8000-1fbfff is +"rgdb" of 0x40000. + +Signed-off-by: Linus Walleij <linus.walleij@linaro.org> +--- + arch/arm/boot/dts/gemini-dlink-dir-685.dts | 16 ++++++---------- + 1 file changed, 6 insertions(+), 10 deletions(-) + +diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts b/arch/arm/boot/dts/gemini-dlink-dir-685.dts +index 6f258b50eb44..502a361d1fe9 100644 +--- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts ++++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts +@@ -274,20 +274,16 @@ + read-only; + }; + /* +- * Between the boot loader and the rootfs is the kernel +- * in a custom Storlink format flashed from the boot +- * menu. The rootfs is in squashfs format. ++ * This firmware image contains the kernel catenated ++ * with the squashfs root filesystem. For some reason ++ * this is called "upgrade" on the vendor system. + */ +- partition@1800c0 { +- label = "rootfs"; +- reg = <0x001800c0 0x01dbff40>; +- read-only; +- }; +- partition@1f40000 { ++ partition@40000 { + label = "upgrade"; +- reg = <0x01f40000 0x00040000>; ++ reg = <0x00040000 0x01f40000>; + read-only; + }; ++ /* RGDB, Residental Gateway Database? */ + partition@1f80000 { + label = "rgdb"; + reg = <0x01f80000 0x00040000>; +-- +2.19.2 + |