[OpenWrt-Devel] [PATCH] gemini: Fix up flash accesses
Linus Walleij
linus.walleij at linaro.org
Wed Jul 17 13:22:40 EDT 2019
The SL93512r and the NAS4220B have Redboot partition
tables (rely on these) and need to boot from mtdblock3.
Add two patches from upstream to fix this.
Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
---
...-Switch-to-redboot-partition-parsing.patch | 104 ++++++++++++++++++
...dts-gemini-Mount-root-from-mtdblock3.patch | 36 ++++++
2 files changed, 140 insertions(+)
create mode 100644 target/linux/gemini/patches-4.19/0022-RM-dts-gemini-Switch-to-redboot-partition-parsing.patch
create mode 100644 target/linux/gemini/patches-4.19/0023-ARM-dts-gemini-Mount-root-from-mtdblock3.patch
diff --git a/target/linux/gemini/patches-4.19/0022-RM-dts-gemini-Switch-to-redboot-partition-parsing.patch b/target/linux/gemini/patches-4.19/0022-RM-dts-gemini-Switch-to-redboot-partition-parsing.patch
new file mode 100644
index 000000000000..12c899ea3020
--- /dev/null
+++ b/target/linux/gemini/patches-4.19/0022-RM-dts-gemini-Switch-to-redboot-partition-parsing.patch
@@ -0,0 +1,104 @@
+From cad2161e64aca9e1c94fd11b0d0f7b53c9e80de0 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij at linaro.org>
+Date: Fri, 12 Jul 2019 22:57:11 +0200
+Subject: [PATCH 1/2] ARM: dts: gemini: Switch to redboot partition parsing
+
+This switches the kernel to parse the Redboot partitions
+in the SL93512r and the NAS4220B properly using the
+right compatible string instead of using hard-coded
+partitions.
+
+Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
+---
+ arch/arm/boot/dts/gemini-nas4220b.dts | 35 +++------------------------
+ arch/arm/boot/dts/gemini-sl93512r.dts | 35 +++------------------------
+ 2 files changed, 8 insertions(+), 62 deletions(-)
+
+--- a/arch/arm/boot/dts/gemini-nas4220b.dts
++++ b/arch/arm/boot/dts/gemini-nas4220b.dts
+@@ -81,37 +81,10 @@
+ /* 16MB of flash */
+ reg = <0x30000000 0x01000000>;
+
+- partition at 0 {
+- label = "RedBoot";
+- reg = <0x00000000 0x00020000>;
+- read-only;
+- };
+- partition at 20000 {
+- label = "Kernel";
+- reg = <0x00020000 0x00300000>;
+- };
+- partition at 320000 {
+- label = "Ramdisk";
+- reg = <0x00320000 0x00600000>;
+- };
+- partition at 920000 {
+- label = "Application";
+- reg = <0x00920000 0x00600000>;
+- };
+- partition at f20000 {
+- label = "VCTL";
+- reg = <0x00f20000 0x00020000>;
+- read-only;
+- };
+- partition at f40000 {
+- label = "CurConf";
+- reg = <0x00f40000 0x000a0000>;
+- read-only;
+- };
+- partition at fe0000 {
+- label = "FIS directory";
+- reg = <0x00fe0000 0x00020000>;
+- read-only;
++ partitions {
++ compatible = "redboot-fis";
++ /* Eraseblock at 0xfe0000 */
++ fis-index-block = <0x1fc>;
+ };
+ };
+
+--- a/arch/arm/boot/dts/gemini-sl93512r.dts
++++ b/arch/arm/boot/dts/gemini-sl93512r.dts
+@@ -143,37 +143,10 @@
+ /* 16MB of flash */
+ reg = <0x30000000 0x01000000>;
+
+- partition at 0 {
+- label = "BOOT";
+- reg = <0x00000000 0x00020000>;
+- read-only;
+- };
+- partition at 120000 {
+- label = "Kern";
+- reg = <0x00020000 0x00300000>;
+- };
+- partition at 320000 {
+- label = "Ramdisk";
+- reg = <0x00320000 0x00600000>;
+- };
+- partition at 920000 {
+- label = "Application";
+- reg = <0x00920000 0x00600000>;
+- };
+- partition at f20000 {
+- label = "VCTL";
+- reg = <0x00f20000 0x00020000>;
+- read-only;
+- };
+- partition at f40000 {
+- label = "CurConf";
+- reg = <0x00f40000 0x000a0000>;
+- read-only;
+- };
+- partition at fe0000 {
+- label = "FIS directory";
+- reg = <0x00fe0000 0x00020000>;
+- read-only;
++ partitions {
++ compatible = "redboot-fis";
++ /* Eraseblock at 0xfe0000 */
++ fis-index-block = <0x1fc>;
+ };
+ };
+
diff --git a/target/linux/gemini/patches-4.19/0023-ARM-dts-gemini-Mount-root-from-mtdblock3.patch b/target/linux/gemini/patches-4.19/0023-ARM-dts-gemini-Mount-root-from-mtdblock3.patch
new file mode 100644
index 000000000000..2c2ddfaaf45f
--- /dev/null
+++ b/target/linux/gemini/patches-4.19/0023-ARM-dts-gemini-Mount-root-from-mtdblock3.patch
@@ -0,0 +1,36 @@
+From b40cd2116ea0ba3584db12ab9dab7e02dd1e3333 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij at linaro.org>
+Date: Fri, 12 Jul 2019 22:59:39 +0200
+Subject: [PATCH 2/2] ARM: dts: gemini: Mount root from mtdblock3
+
+The third mtdblock device named "Application" is where we
+want to mount our root filesystem.
+
+Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
+---
+ arch/arm/boot/dts/gemini-nas4220b.dts | 2 +-
+ arch/arm/boot/dts/gemini-sl93512r.dts | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/boot/dts/gemini-nas4220b.dts
++++ b/arch/arm/boot/dts/gemini-nas4220b.dts
+@@ -20,7 +20,7 @@
+ };
+
+ chosen {
+- bootargs = "console=ttyS0,19200n8";
++ bootargs = "console=ttyS0,19200n8 root=/dev/mtdblock3 rw rootfstype=squashfs,jffs2 rootwait";
+ stdout-path = &uart0;
+ };
+
+--- a/arch/arm/boot/dts/gemini-sl93512r.dts
++++ b/arch/arm/boot/dts/gemini-sl93512r.dts
+@@ -24,7 +24,7 @@
+ };
+
+ chosen {
+- bootargs = "console=ttyS0,19200n8 root=/dev/sda1 rw rootwait";
++ bootargs = "console=ttyS0,19200n8 root=/dev/mtdblock3 rw rootfstype=squashfs,jffs2 rootwait";
+ stdout-path = &uart0;
+ };
+
--
2.21.0
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list