From d4e4a1aad559e35d84b445d1379be94ad036984e Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@piout.net>
Date: Thu, 25 Oct 2012 22:57:14 +0200
Subject: [PATCH] u-boot relocation fix

Every AT91SAM plaforms were broken between 2010.12 and 2011.03 because
of the relocation changes.

We have to get JUMP_ADDR consistant with what is used by u-boot
(CONFIG_SYS_TEXT_BASE).

I didn't know what to do with at91sam9m10g45ek as it doesn't seems to be
converted yet. But anyway, that means that it is either not working or
doesn't care so changing it here shouldn't harm.

We also have to increase the IMG_SIZE as u-boot as grown larger than the
default value. As requested on the u-boot ML, we assume that it could
be up to 495kB big.

It means that now, you have to flash your kernel at 0x00084000 instead
of 0x00042000. And so you also have to load it from that adress from
u-boot.

Then, remember that you could decrease IMG_SIZE to boot faster.

Signed-off-by: Alexandre Belloni <alexandre.belloni@piout.net>
---
 board/at91sam9260ek/dataflash/at91sam9260ek.h      |    4 ++--
 board/at91sam9260ek/nandflash/at91sam9260ek.h      |    2 +-
 board/at91sam9261ek/dataflash/at91sam9261ek.h      |    4 ++--
 board/at91sam9261ek/nandflash/at91sam9261ek.h      |    2 +-
 board/at91sam9263ek/dataflash/at91sam9263ek.h      |    4 ++--
 board/at91sam9263ek/nandflash/at91sam9263ek.h      |    2 +-
 board/at91sam9g10ek/dataflash/at91sam9g10ek.h      |    4 ++--
 board/at91sam9g10ek/nandflash/at91sam9g10ek.h      |    2 +-
 board/at91sam9g20ek/dataflash/at91sam9g20ek.h      |    4 ++--
 board/at91sam9g20ek/nandflash/at91sam9g20ek.h      |    2 +-
 board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h  |    2 +-
 .../at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h  |    2 +-
 board/at91sam9rlek/dataflash/at91sam9rlek.h        |    4 ++--
 board/at91sam9rlek/nandflash/at91sam9rlek.h        |    2 +-
 board/at91sam9xeek/dataflash/at91sam9xeek.h        |    4 ++--
 board/at91sam9xeek/nandflash/at91sam9xeek.h        |    2 +-
 16 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/board/at91sam9260ek/dataflash/at91sam9260ek.h b/board/at91sam9260ek/dataflash/at91sam9260ek.h
index 1834246..91081a1 100644
--- a/board/at91sam9260ek/dataflash/at91sam9260ek.h
+++ b/board/at91sam9260ek/dataflash/at91sam9260ek.h
@@ -74,10 +74,10 @@
 #define AT91C_SPI_PCS_DATAFLASH		AT91C_SPI_PCS1_DATAFLASH	/* Boot on SPI NCS0 */
 
 #define IMG_ADDRESS 		0x8400			/* Image Address in DataFlash */
-#define	IMG_SIZE		0x33900			/* Image Size in DataFlash    */
+#define	IMG_SIZE		0x7BC00			/* Image Size in DataFlash    */
 
 #define MACH_TYPE       0x44B       /* AT91SAM9260-EK */
-#define JUMP_ADDR		0x23F00000		/* Final Jump Address 	      */
+#define JUMP_ADDR		0x21F00000		/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9260ek/nandflash/at91sam9260ek.h b/board/at91sam9260ek/nandflash/at91sam9260ek.h
index 2cac601..f8fdff2 100644
--- a/board/at91sam9260ek/nandflash/at91sam9260ek.h
+++ b/board/at91sam9260ek/nandflash/at91sam9260ek.h
@@ -92,7 +92,7 @@
 #define	IMG_SIZE		0x40000		/* Image Size in NandFlash    */
 
 #define MACH_TYPE       	0x44B		/* AT91SAM9260-EK */
-#define JUMP_ADDR		0x23F00000	/* Final Jump Address 	      */
+#define JUMP_ADDR		0x21F00000	/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9261ek/dataflash/at91sam9261ek.h b/board/at91sam9261ek/dataflash/at91sam9261ek.h
index 8ce30e9..276ba3d 100644
--- a/board/at91sam9261ek/dataflash/at91sam9261ek.h
+++ b/board/at91sam9261ek/dataflash/at91sam9261ek.h
@@ -97,10 +97,10 @@
 #define AT91C_SPI_PCS_DATAFLASH		AT91C_SPI_PCS0_DATAFLASH	/* Boot on SPI NCS0 */
 
 #define IMG_ADDRESS 		0x8400			/* Image Address in DataFlash */
-#define	IMG_SIZE		0x33900			/* Image Size in DataFlash    */
+#define	IMG_SIZE		0x7BC00			/* Image Size in DataFlash    */
 
 #define MACH_TYPE       0x350       /* AT91SAM9261-EK */
-#define JUMP_ADDR		0x23F00000		/* Final Jump Address 	      */
+#define JUMP_ADDR		0x21F00000		/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9261ek/nandflash/at91sam9261ek.h b/board/at91sam9261ek/nandflash/at91sam9261ek.h
index badc3ac..e628c97 100644
--- a/board/at91sam9261ek/nandflash/at91sam9261ek.h
+++ b/board/at91sam9261ek/nandflash/at91sam9261ek.h
@@ -114,7 +114,7 @@
 #define	IMG_SIZE		0x40000		/* Image Size in NandFlash    */
 
 #define MACH_TYPE       	0x350		/* AT91SAM9261-EK */
-#define JUMP_ADDR		0x23F00000	/* Final Jump Address 	      */
+#define JUMP_ADDR		0x21F00000	/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9263ek/dataflash/at91sam9263ek.h b/board/at91sam9263ek/dataflash/at91sam9263ek.h
index 5c9da4b..870f9e2 100644
--- a/board/at91sam9263ek/dataflash/at91sam9263ek.h
+++ b/board/at91sam9263ek/dataflash/at91sam9263ek.h
@@ -96,10 +96,10 @@
 #define AT91C_SPI_PCS_DATAFLASH		AT91C_SPI_PCS0_DATAFLASH	/* Boot on SPI NCS0 */
 
 #define IMG_ADDRESS 			0x8400			/* Image Address in DataFlash */
-#define	IMG_SIZE			0x33900			/* Image Size in DataFlash    */
+#define	IMG_SIZE			0x7BC00			/* Image Size in DataFlash    */
 
 #define MACH_TYPE       		0x4B2       		/* AT91SAM9263-EK */
-#define JUMP_ADDR			0x23F00000		/* Final Jump Address 	      */
+#define JUMP_ADDR			0x21F00000		/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9263ek/nandflash/at91sam9263ek.h b/board/at91sam9263ek/nandflash/at91sam9263ek.h
index 505afc7..8ab4f46 100644
--- a/board/at91sam9263ek/nandflash/at91sam9263ek.h
+++ b/board/at91sam9263ek/nandflash/at91sam9263ek.h
@@ -108,7 +108,7 @@
 #define	IMG_SIZE	0x40000		/* Image Size in NandFlash    */
 
 #define MACH_TYPE       1202       	/* AT91SAM9263-EK */
-#define JUMP_ADDR	0x23F00000	/* Final Jump Address 	      */
+#define JUMP_ADDR	0x21F00000	/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h
index b2faf44..f4f556b 100644
--- a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h
+++ b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h
@@ -98,10 +98,10 @@
 #define AT91C_SPI_PCS_DATAFLASH		AT91C_SPI_PCS0_DATAFLASH	/* Boot on SPI NCS0 */
 
 #define IMG_ADDRESS 		0x8400			/* Image Address in DataFlash */
-#define	IMG_SIZE		0x33900			/* Image Size in DataFlash    */
+#define	IMG_SIZE		0x7BC00			/* Image Size in DataFlash    */
 
 #define MACH_TYPE       0x350       /* AT91SAM9261-EK */
-#define JUMP_ADDR		0x23F00000		/* Final Jump Address 	      */
+#define JUMP_ADDR		0x21F00000		/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h
index 66c40a3..6c3ecda 100644
--- a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h
+++ b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h
@@ -115,7 +115,7 @@
 #define	IMG_SIZE		0x40000		/* Image Size in NandFlash    */
 
 #define MACH_TYPE       	0x350		/* AT91SAM9G10-EK */
-#define JUMP_ADDR		0x23F00000	/* Final Jump Address 	      */
+#define JUMP_ADDR		0x21F00000	/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h
index eea0439..7fc70d6 100644
--- a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h
+++ b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h
@@ -75,10 +75,10 @@
 #define AT91C_SPI_PCS_DATAFLASH		AT91C_SPI_PCS1_DATAFLASH	/* Boot on SPI NCS1 */
 
 #define IMG_ADDRESS 		0x8400			/* Image Address in DataFlash */
-#define	IMG_SIZE		0x33900			/* Image Size in DataFlash */
+#define	IMG_SIZE		0x7BC00			/* Image Size in DataFlash */
 
 #define MACH_TYPE		0x658			/* AT91SAM9G20-EK */
-#define JUMP_ADDR		0x23F00000		/* Final Jump Address */
+#define JUMP_ADDR		0x21F00000		/* Final Jump Address */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h
index 31bd499..e797e4d 100644
--- a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h
+++ b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h
@@ -93,7 +93,7 @@
 #define	IMG_SIZE		0x40000			/* Image Size in NandFlash */
 
 #define MACH_TYPE		0x658			/* AT91SAM9G20-EK */
-#define JUMP_ADDR		0x23F00000		/* Final Jump Address */
+#define JUMP_ADDR		0x21F00000		/* Final Jump Address */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h
index a60fd41..5587a00 100644
--- a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h
+++ b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h
@@ -89,7 +89,7 @@
 #define AT91C_SPI_PCS_DATAFLASH		AT91C_SPI_PCS0_DATAFLASH	/* Boot on SPI NCS0 */
 
 #define IMG_ADDRESS 		0x8400			/* Image Address in DataFlash */
-#define	IMG_SIZE		0x33900			/* Image Size in DataFlash */
+#define	IMG_SIZE		0x7BC00			/* Image Size in DataFlash */
 
 #define MACH_TYPE		0x9CD			/* AT91SAM9M10-EKES */
 #define JUMP_ADDR		0x73F00000		/* Final Jump Address */
diff --git a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h
index 5c726b5..9090097 100644
--- a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h
+++ b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h
@@ -85,7 +85,7 @@
 #define AT91C_SPI_PCS_DATAFLASH		AT91C_SPI_PCS0_DATAFLASH	/* Boot on SPI NCS0 */
 
 #define IMG_ADDRESS 		0x8400			/* Image Address in DataFlash */
-#define	IMG_SIZE		0x33900			/* Image Size in DataFlash */
+#define	IMG_SIZE		0x7BC00			/* Image Size in DataFlash */
 
 #define MACH_TYPE		0x726			/* AT91SAM9M10G45-EK */
 #define JUMP_ADDR		0x73F00000		/* Final Jump Address */
diff --git a/board/at91sam9rlek/dataflash/at91sam9rlek.h b/board/at91sam9rlek/dataflash/at91sam9rlek.h
index 05c42dc..150f17e 100644
--- a/board/at91sam9rlek/dataflash/at91sam9rlek.h
+++ b/board/at91sam9rlek/dataflash/at91sam9rlek.h
@@ -89,10 +89,10 @@
 #define AT91C_SPI_PCS_DATAFLASH		AT91C_SPI_PCS0_DATAFLASH	/* Boot on SPI NCS0 */
 
 #define IMG_ADDRESS 	0x8400		/* Image Address in DataFlash */
-#define	IMG_SIZE	0x33900		/* Image Size in DataFlash    */
+#define	IMG_SIZE	0x7BC00		/* Image Size in DataFlash    */
 
 #define MACH_TYPE       1326       	/* AT91SAM9RL-EK */
-#define JUMP_ADDR	0x23F00000	/* Final Jump Address 	      */
+#define JUMP_ADDR	0x21F00000	/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9rlek/nandflash/at91sam9rlek.h b/board/at91sam9rlek/nandflash/at91sam9rlek.h
index 656b4ba..594db8f 100644
--- a/board/at91sam9rlek/nandflash/at91sam9rlek.h
+++ b/board/at91sam9rlek/nandflash/at91sam9rlek.h
@@ -112,7 +112,7 @@
 #define	IMG_SIZE		0x40000		/* Image Size in NandFlash    */
 
 #define MACH_TYPE       1326       		/* AT91SAM9RL-EK */
-#define JUMP_ADDR		0x23F00000	/* Final Jump Address 	      */
+#define JUMP_ADDR		0x21F00000	/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9xeek/dataflash/at91sam9xeek.h b/board/at91sam9xeek/dataflash/at91sam9xeek.h
index 27d1822..08e515d 100644
--- a/board/at91sam9xeek/dataflash/at91sam9xeek.h
+++ b/board/at91sam9xeek/dataflash/at91sam9xeek.h
@@ -74,10 +74,10 @@
 #define AT91C_SPI_PCS_DATAFLASH		AT91C_SPI_PCS1_DATAFLASH	/* Boot on SPI NCS1 */
 
 #define IMG_ADDRESS 		0x8400			/* Image Address in DataFlash */
-#define	IMG_SIZE		0x33900			/* Image Size in DataFlash    */
+#define	IMG_SIZE		0x7BC00			/* Image Size in DataFlash    */
 
 #define MACH_TYPE		0x44B			/* AT91SAM9XE-EK same id as AT91SAM9260-EK*/
-#define JUMP_ADDR		0x23F00000		/* Final Jump Address 	      */
+#define JUMP_ADDR		0x21F00000		/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
diff --git a/board/at91sam9xeek/nandflash/at91sam9xeek.h b/board/at91sam9xeek/nandflash/at91sam9xeek.h
index 5dbc63e..9fac7cb 100644
--- a/board/at91sam9xeek/nandflash/at91sam9xeek.h
+++ b/board/at91sam9xeek/nandflash/at91sam9xeek.h
@@ -94,7 +94,7 @@
 #define	IMG_SIZE		0x40000		/* Image Size in NandFlash    */
 
 #define MACH_TYPE		0x44B			/* AT91SAM9XE-EK same id as AT91SAM9260-EK*/
-#define JUMP_ADDR		0x23F00000		/* Final Jump Address 	      */
+#define JUMP_ADDR		0x21F00000		/* Final Jump Address 	      */
 
 /* ******************************************************************* */
 /* Application Settings                                                */
-- 
1.7.9.5

