summaryrefslogtreecommitdiff
path: root/target/device/Atmel/at91bootstrap/at91bootstrap-2.3.4.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/device/Atmel/at91bootstrap/at91bootstrap-2.3.4.patch')
-rw-r--r--target/device/Atmel/at91bootstrap/at91bootstrap-2.3.4.patch336
1 files changed, 0 insertions, 336 deletions
diff --git a/target/device/Atmel/at91bootstrap/at91bootstrap-2.3.4.patch b/target/device/Atmel/at91bootstrap/at91bootstrap-2.3.4.patch
deleted file mode 100644
index 237689f66..000000000
--- a/target/device/Atmel/at91bootstrap/at91bootstrap-2.3.4.patch
+++ /dev/null
@@ -1,336 +0,0 @@
-diff -urN at91bootstrap-2.3-0rig/driver/dataflash.c at91bootstrap-2.3.4/driver/dataflash.c
---- at91bootstrap-2.3-0rig/driver/dataflash.c 2007-04-22 13:56:29.000000000 +0200
-+++ at91bootstrap-2.3.4/driver/dataflash.c 2007-09-24 20:56:18.000000000 +0200
-@@ -39,8 +39,12 @@
- #include "../include/part.h"
- #include "../include/main.h"
- #include "../include/dataflash.h"
-+#include "../include/debug.h"
- #include <stdlib.h>
-
-+#define SUCCESS 1
-+#define FAILURE 0
-+
- #ifdef CFG_DATAFLASH
- extern div_t udiv(unsigned int numerator, unsigned int denominator);
- /* Write SPI register */
-@@ -92,7 +96,7 @@
- /* SPI_Enable */
- write_spi(SPI_CR, AT91C_SPI_SPIEN);
-
-- return 0;
-+ return SUCCESS;
- }
-
- /*------------------------------------------------------------------------------*/
-@@ -134,12 +138,10 @@
-
- /* Try to get the dataflash semaphore */
- if ((pDataFlash->bSemaphore) != UNLOCKED)
-- return (char) 0;
-+ return (char) FAILURE;
- pDataFlash->bSemaphore = LOCKED;
--
- /* Compute command pattern */
- dInternalAdr = (result.quot << AT91C_PAGE_OFFSET(pDataFlash)) + result.rem;
--
- if (AT91C_DF_NB_PAGE(pDataFlash) >= 16384)
- {
- pDataFlash->command[0] = (bCmd & 0x000000FF) | \
-@@ -178,7 +180,7 @@
-
- while (df_is_busy(pDataFlash) == LOCKED);
-
-- return 1;
-+ return SUCCESS;
- }
-
- /*------------------------------------------------------------------------------*/
-@@ -194,13 +196,13 @@
- if (df_get_status(pDataFlash))
- {
- if (df_is_ready(pDataFlash))
-- return 1;
-+ return SUCCESS;
- }
- }
-
-- return 0;
-+ return FAILURE;
- }
--
-+volatile int loop;
- /*------------------------------------------------------------------------------*/
- /* \fn df_read */
- /* \brief Read a block in dataflash */
-@@ -212,21 +214,30 @@
- unsigned int size)
- {
- unsigned int SizeToRead;
-+ int page_counter;
-
-+ page_counter = 32;
- while (size)
- {
-- SizeToRead = (size < AT91C_MAX_PDC_SIZE)? size : AT91C_MAX_PDC_SIZE;
--
-+ SizeToRead = (size < 0x8000)? size : 0x8000;
- /* wait the dataflash ready status */
-- df_wait_ready(pDf);
-- df_continuous_read(pDf, (char *)buffer, SizeToRead, addr);
--
-- size -= SizeToRead;
-- addr += SizeToRead;
-- buffer += SizeToRead;
-+ if(df_wait_ready(pDf) != 0) {
-+ df_continuous_read(pDf, (char *)buffer, SizeToRead, addr);
-+ dbg_print(".");
-+ if(--page_counter <= 0) {
-+ page_counter = 32;
-+ dbg_print("\r\n");
-+ }
-+ size -= SizeToRead;
-+ addr += SizeToRead;
-+ buffer += SizeToRead;
-+ } else {
-+ /* We got a timeout */
-+ dbg_print("Timeout while waiting for dataflash ready\n");
-+ return FAILURE;
-+ }
- }
--
-- return 0;
-+ return SUCCESS;
- }
-
- /*----------------------------------------------------------------------*/
-@@ -235,13 +246,19 @@
- /*----------------------------------------------------------------------*/
- static int df_download(AT91PS_DF pDf, unsigned int img_addr, unsigned int img_size, unsigned int img_dest)
- {
-+ dbg_print(">Loading from Dataflash[");
-+ dbg_print_hex(img_addr);
-+ dbg_print("] to SDRAM[");
-+ dbg_print_hex(img_dest);
-+ dbg_print("]\r\n");
- /* read bytes in the dataflash */
-- df_read(pDf, img_addr,(unsigned char *)img_dest, img_size);
--
-+ if(df_read(pDf, img_addr,(unsigned char *)img_dest, img_size) == FAILURE)
-+ return FAILURE;
-+ dbg_print("\r\n>Loading complete, [");
-+ dbg_print_hex(IMG_SIZE);
-+ dbg_print("] bytes\r\n");
- /* wait the dataflash ready status */
-- df_wait_ready(pDf);
--
-- return 0;
-+ return df_wait_ready(pDf);
- }
-
- /*----------------------------------------------------------------------*/
-@@ -263,7 +280,7 @@
- static int df_init (AT91PS_DF pDf)
- {
- int dfcode = 0;
-- int status = 1;
-+ int status = SUCCESS;
-
- /* Default: AT45DB321B */
- pDf->dfDescription.pages_number = 8192;
-@@ -302,18 +319,21 @@
- pDf->dfDescription.pages_number = 4096;
- pDf->dfDescription.pages_size = 528;
- pDf->dfDescription.page_offset = 10;
-+ dbg_print(">AT45DB161D detected\r\n");
- break;
-
- case AT45DB321B:
- pDf->dfDescription.pages_number = 8192;
- pDf->dfDescription.pages_size = 528;
- pDf->dfDescription.page_offset = 10;
-+ dbg_print(">AT45DB321D detected\r\n");
- break;
-
- case AT45DB642:
- pDf->dfDescription.pages_number = 8192;
- pDf->dfDescription.pages_size = 1056;
- pDf->dfDescription.page_offset = 11;
-+ dbg_print(">AT45DB642D detected\r\n");
- break;
- /*
- case AT45DB1282:
-@@ -335,7 +355,7 @@
- break;
- */
- default:
-- status = 0;
-+ status = FAILURE;
- break;
- }
-
-@@ -357,12 +377,12 @@
- if (i != 23)
- {
- if ((buffer[i] != 0xEA) && (buffer[i] != 0xE5) )
-- return -1;
-+ return FAILURE;
- }
- i+=4;
- }
-
-- return 0;
-+ return SUCCESS;
- }
-
- /*------------------------------------------------------------------------------*/
-@@ -374,13 +394,14 @@
- AT91S_DF sDF;
- AT91PS_DF pDf = (AT91PS_DF)&sDF;
- unsigned int rxBuffer[128];
-+ unsigned int status;
-
- pDf->bSemaphore = UNLOCKED;
-
- df_spi_init(pcs, DF_CS_SETTINGS);
-
-- if (!df_init(pDf))
-- return -1;
-+ if (df_init(pDf) == FAILURE)
-+ return FAILURE;
-
- #ifdef AT91SAM9260
- /* Test if a button has been pressed or not */
-@@ -391,10 +412,13 @@
- df_continuous_read(pDf, (char *)rxBuffer, 32, img_addr);
- df_wait_ready(pDf);
-
-- if (df_is_boot_valid((unsigned char*)rxBuffer))
-- return -1;
-+ if (df_is_boot_valid((unsigned char*)rxBuffer) == FAILURE) {
-+ dbg_print(">Invalid Boot Area...\n\r");
-+ return FAILURE;
-+ }
-
-- return df_download(pDf, img_addr, img_size, img_dest);
-+ status = df_download(pDf, img_addr, img_size, img_dest);
-+ return status;
- }
-
- #endif /* CFG_DATAFLASH */
-diff -urN at91bootstrap-2.3-0rig/driver/debug.c at91bootstrap-2.3.4/driver/debug.c
---- at91bootstrap-2.3-0rig/driver/debug.c 2006-12-05 11:27:24.000000000 +0100
-+++ at91bootstrap-2.3.4/driver/debug.c 2007-09-24 20:38:01.000000000 +0200
-@@ -85,4 +85,19 @@
- }
- }
-
-+void dbg_print_hex(unsigned int data)
-+{
-+ unsigned char hex[11];
-+ int i=0;
-+ hex[0]='0';
-+ hex[1]='x';
-+ for(i = 9 ;i >= 2;i--) {
-+ hex[i] = "0123456789ABCDEF"[data & 0xF];
-+ data >>= 4;
-+ }
-+ hex[10]='\0';
-+ dbg_print((const char *) hex);
-+}
-+
-+
- #endif /* CFG_DEBUG */
-diff -urN at91bootstrap-2.3-0rig/include/debug.h at91bootstrap-2.3.4/include/debug.h
---- at91bootstrap-2.3-0rig/include/debug.h 2006-12-05 11:27:20.000000000 +0100
-+++ at91bootstrap-2.3.4/include/debug.h 2007-09-24 18:26:37.000000000 +0200
-@@ -45,5 +45,6 @@
- /* Global functions */
- extern void dbg_init(unsigned int);
- extern void dbg_print(const char *ptr);
-+extern void dbg_print_hex(unsigned int data);
-
- #endif /*_DEBUG_H_*/
-diff -urN at91bootstrap-2.3-0rig/main.c at91bootstrap-2.3.4/main.c
---- at91bootstrap-2.3-0rig/main.c 2007-09-24 18:26:10.000000000 +0200
-+++ at91bootstrap-2.3.4/main.c 2007-09-24 20:56:20.000000000 +0200
-@@ -41,6 +41,10 @@
- #include "include/flash.h"
- #include "include/nandflash.h"
-
-+int test(void)
-+{
-+
-+}
- /*------------------------------------------------------------------------------*/
- /* Function Name : main */
- /* Object : Main function */
-@@ -49,6 +53,7 @@
- /*------------------------------------------------------------------------------*/
- int main(void)
- {
-+
- /* ================== 1st step: Hardware Initialization ================= */
- /* Performs the hardware initialization */
- #ifdef CFG_HW_INIT
-@@ -60,29 +65,35 @@
- #ifdef CFG_DATAFLASH
- load_df(AT91C_SPI_PCS_DATAFLASH, IMG_ADDRESS, IMG_SIZE, JUMP_ADDR);
- #endif
--
- #ifdef CFG_FLASH
- load_flash(IMG_ADDRESS, IMG_SIZE, JUMP_ADDR);
-+ dbg_print(">Flash ready\r\n");
- #endif
-
- /* Load from Nandflash in RAM */
- #ifdef CFG_NANDFLASH
- load_nandflash(IMG_ADDRESS, IMG_SIZE, JUMP_ADDR);
-+ dbg_print(">NANDflash ready\r\n");
- #endif
-
- /* ==================== 3rd step: Process the Image =================== */
- /* Uncompress the image */
- #ifdef GUNZIP
-- decompress_image((void *)IMG_ADDRESS, (void *)JUMP_ADDR, IMG_SIZE); /* NOT IMPLEMENTED YET */
-+ decompress_image((void *)IMG_ADDRESS, (void *)JUMP_ADDR, IMG_SIZE);
-+ /* NOT IMPLEMENTED YET */
-+ dbg_print(">Decompress ready\r\n");
- #endif /* GUNZIP */
-
- /* ==================== 4th step: Start the application =================== */
- /* Set linux arguments */
- #ifdef LINUX_ARG
- linux_arg(LINUX_ARG); /* NOT IMPLEMENTED YET */
-+ dbg_print(">Linux ready\r\n");
- #endif /* LINUX_ARG */
--
-+ dbg_print(">Start application at [");
-+ dbg_print_hex(JUMP_ADDR);
-+ dbg_print("]\r\n");
-+ { volatile unsigned int loop; for(loop = 200000; loop > 0; loop--);}
- /* Jump to the Image Address */
- return JUMP_ADDR;
- }
--
-diff -urN at91bootstrap-2.3-0rig/Makefile at91bootstrap-2.3.4/Makefile
---- at91bootstrap-2.3-0rig/Makefile 2007-09-24 18:26:10.000000000 +0200
-+++ at91bootstrap-2.3.4/Makefile 2007-09-24 20:56:53.000000000 +0200
-@@ -8,7 +8,7 @@
-
- TOPDIR := $(CURDIR)
-
--VERSION:=2.3.2
-+VERSION:=2.3.4
-
- include .config
-
-@@ -17,7 +17,7 @@
- endif
-
- ifeq ($(CONFIG_SPI_CLK),)
--CONFIG_SPI_CLK=5000000
-+CONFIG_SPI_CLK=33000000
- endif
-
- ifndef MEMORY