From e0881008b49ecbec1c88f1f96c62a6a37c808df4 Mon Sep 17 00:00:00 2001
From: Linus Walleij <linusw@kernel.org>
Date: Sun, 1 Feb 2026 00:21:08 +0100
Subject: [PATCH] gemini: augment SQ201 DTS with botched partitions

Same botched partitions as the Raidsonic IB-4220-B.

Signed-off-by: Linus Walleij <linusw@kernel.org>
---
 arch/arm/boot/dts/gemini/gemini-sq201.dts | 39 ++++++++++++++++++++---
 1 file changed, 35 insertions(+), 4 deletions(-)

--- a/arch/arm/boot/dts/gemini/gemini-sq201.dts
+++ b/arch/arm/boot/dts/gemini/gemini-sq201.dts
@@ -20,7 +20,7 @@
 	};
 
 	chosen {
-		bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait";
+		bootargs = "console=ttyS0,115200n8";
 		stdout-path = &uart0;
 	};
 
@@ -131,10 +131,41 @@
 			/* 16MB of flash */
 			reg = <0x30000000 0x01000000>;
 
+			/*
+			 * Override the RedBoot partition table with fixed partitions
+			 * in order to create a coherent "firmware" partition so that
+			 * we can have optimal flash usage with OpenWrt in a big
+			 * MTD-splitted "firmware" partition.
+			 */
 			partitions {
-				compatible = "redboot-fis";
-				/* Eraseblock at 0xfe0000 */
-				fis-index-block = <0x7f>;
+				compatible = "fixed-partitions";
+				#address-cells = <1>;
+				#size-cells = <1>;
+				partition@0 {
+					label = "BOOT";
+					reg = <0x00000000 0x00016000>;
+					read-only;
+				};
+				partition@1 {
+					compatible = "openwrt,executable-prolog";
+					label = "firmware";
+					reg = <0x00120000 0x00e00000>;
+				};
+				partition@2 {
+					label = "VCTL";
+					reg = <0x00f20000 0x00020000>;
+					read-only;
+				};
+				partition@3 {
+					label = "CurConf";
+					reg = <0x00f40000 0x000a0000>;
+					read-only;
+				};
+				partition@4 {
+					label = "FIS directory";
+					reg = <0x00fe0000 0x00020000>;
+					read-only;
+				};
 			};
 		};
 
