From 8c2091f823699ac7f7e10ab0dc7512dcc956b043 Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
Date: Sun, 6 Dec 2009 09:08:03 +0000
Subject: [PATCH] correct flash size and detection for sitecom targets (#6278),
 patch from rtz

SVN-Revision: 18671
---
 .../rdc/files-2.6.30/arch/x86/mach-rdc321x/platform.c     | 8 ++++----
 target/linux/rdc/sitecom/config-2.6.30                    | 1 -
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/target/linux/rdc/files-2.6.30/arch/x86/mach-rdc321x/platform.c b/target/linux/rdc/files-2.6.30/arch/x86/mach-rdc321x/platform.c
index e319c02b33..f59cb15a7c 100644
--- a/target/linux/rdc/files-2.6.30/arch/x86/mach-rdc321x/platform.c
+++ b/target/linux/rdc/files-2.6.30/arch/x86/mach-rdc321x/platform.c
@@ -161,15 +161,15 @@ static int __init rdc_board_setup(void)
 
 	ROOT_DEV = 0;
 	rdc_map_info.name = rdc_flash_device.name;
-	rdc_map_info.phys = 0xff000000;
-	rdc_map_info.size = 0x1000000;
+	rdc_map_info.size = 0x800000;	//8MB
+	rdc_map_info.phys = (u32) -rdc_map_info.size;
 	rdc_map_info.bankwidth = 2;
 	rdc_map_info.set_vpp = NULL;
 	simple_map_init(&rdc_map_info);
 	while (probe_flash_start(&rdc_map_info)) {
-		rdc_map_info.phys++;
-		if (--rdc_map_info.size)
+		if (rdc_map_info.size /= 2 < 0x100000)	//1MB
 			panic("Could not find start of flash!");
+		rdc_map_info.phys = (u32) -rdc_map_info.size;
 	}
 	rdc_flash_resource.start = rdc_map_info.phys;
 	rdc_flash_data.width = rdc_map_info.bankwidth;
diff --git a/target/linux/rdc/sitecom/config-2.6.30 b/target/linux/rdc/sitecom/config-2.6.30
index e6bfa8886e..d756e87950 100644
--- a/target/linux/rdc/sitecom/config-2.6.30
+++ b/target/linux/rdc/sitecom/config-2.6.30
@@ -1,3 +1,2 @@
-# CONFIG_MTD_PHYSMAP is not set
 # CONFIG_MTD_R8610 is not set
 # CONFIG_MTD_RDC3210 is not set
-- 
2.30.2