The patch converts the ep1s10 board to use the common cfi flash
driver.

The addressing of devices is changed to virtual address.

Signed-off-by: Thomas Chou <tho...@wytron.com.tw>
---
 board/altera/ep1s10/Makefile   |    2 +-
 board/altera/ep1s10/config.mk  |    2 +-
 board/altera/ep1s10/u-boot.lds |    1 +
 include/configs/EP1S10.h       |   58 ++++++++++++++++++++++++----------------
 4 files changed, 38 insertions(+), 25 deletions(-)

diff --git a/board/altera/ep1s10/Makefile b/board/altera/ep1s10/Makefile
index acad2aa..c57ef1a 100644
--- a/board/altera/ep1s10/Makefile
+++ b/board/altera/ep1s10/Makefile
@@ -28,7 +28,7 @@ endif
 
 LIB    = $(obj)lib$(BOARD).a
 
-COMOBJS := ../common/AMDLV065D.o ../common/epled.o
+COMOBJS := ../common/epled.o
 
 COBJS  := $(BOARD).o $(COMOBJS)
 
diff --git a/board/altera/ep1s10/config.mk b/board/altera/ep1s10/config.mk
index dab2740..6cb9629 100644
--- a/board/altera/ep1s10/config.mk
+++ b/board/altera/ep1s10/config.mk
@@ -21,7 +21,7 @@
 # MA 02111-1307 USA
 #
 
-TEXT_BASE = 0x01fc0000
+#TEXT_BASE = 0x01fc0000
 
 PLATFORM_CPPFLAGS += -mno-hw-div -mno-hw-mul
 PLATFORM_CPPFLAGS += -I$(TOPDIR)/board/$(VENDOR)/include
diff --git a/board/altera/ep1s10/u-boot.lds b/board/altera/ep1s10/u-boot.lds
index e2eb3aa..fa7ed30 100644
--- a/board/altera/ep1s10/u-boot.lds
+++ b/board/altera/ep1s10/u-boot.lds
@@ -28,6 +28,7 @@ ENTRY(_start)
 
 SECTIONS
 {
+       . = text_base;
        .text :
        {
          cpu/nios2/start.o (.text)
diff --git a/include/configs/EP1S10.h b/include/configs/EP1S10.h
index 41e64e6..38320f3 100644
--- a/include/configs/EP1S10.h
+++ b/include/configs/EP1S10.h
@@ -24,6 +24,9 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
+#define CONFIG_SYS_BOARD_NAME "EP1S10"
+#define IO_REGION_BASE 0x80000000
+
 /*------------------------------------------------------------------------
  * BOARD/CPU
  *----------------------------------------------------------------------*/
@@ -32,7 +35,7 @@
 
 #define CONFIG_SYS_RESET_ADDR          0x00000000      /* Hard-reset address   
*/
 #define CONFIG_SYS_EXCEPTION_ADDR      0x01000020      /* Exception entry 
point*/
-#define CONFIG_SYS_NIOS_SYSID_BASE     0x021208b8      /* System id address    
*/
+#define CONFIG_SYS_NIOS_SYSID_BASE     0x821208b8      /* System id address    
*/
 
 /*------------------------------------------------------------------------
  * CACHE -- the following will support II/s and II/f. The II/s does not
@@ -46,12 +49,12 @@
 /*------------------------------------------------------------------------
  * MEMORY BASE ADDRESSES
  *----------------------------------------------------------------------*/
-#define CONFIG_SYS_FLASH_BASE          0x00000000      /* FLASH base addr      
*/
+#define CONFIG_SYS_FLASH_BASE          0x80000000      /* FLASH base addr      
*/
 #define CONFIG_SYS_FLASH_SIZE          0x00800000      /* 8 MByte              
*/
 #define CONFIG_SYS_SDRAM_BASE          0x01000000      /* SDRAM base addr      
*/
 #define CONFIG_SYS_SDRAM_SIZE          0x01000000      /* 16 MByte             
*/
 #define CONFIG_SYS_SRAM_BASE           0x02000000      /* SRAM base addr       
*/
-#define CONFIG_SYS_SRAM_SIZE           0x00100000      /* 1 MB                 
*/
+#define CONFIG_SYS_SRAM_SIZE           0x00100000      /* 1 MB (only 1M 
mapped)*/
 
 /*------------------------------------------------------------------------
  * MEMORY ORGANIZATION
@@ -60,46 +63,56 @@
  *     -Global data is placed below the heap.
  *     -The stack is placed below global data (&grows down).
  *----------------------------------------------------------------------*/
-#define CONFIG_SYS_MONITOR_LEN         (256 * 1024)    /* Reserve 256k         
*/
+#define CONFIG_SYS_TEXT_LEN            (256 * 1024)    /* Reserve 256k */
+#define CONFIG_SYS_TEXT_BASE           (CONFIG_SYS_SDRAM_BASE + \
+                                        CONFIG_SYS_SDRAM_SIZE - 
CONFIG_SYS_TEXT_LEN)
+#define CONFIG_SYS_MONITOR_BASE                (CONFIG_SYS_RESET_ADDR | 
IO_REGION_BASE)
+#define CONFIG_SYS_MONITOR_LEN         CONFIG_SYS_TEXT_LEN
 #define CONFIG_SYS_GBL_DATA_SIZE       128             /* Global data size 
rsvd*/
 #define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + 256*1024) /* 256k 
heap */
 
-#define CONFIG_SYS_MONITOR_BASE        TEXT_BASE
-#define CONFIG_SYS_MALLOC_BASE         (CONFIG_SYS_MONITOR_BASE - 
CONFIG_SYS_MALLOC_LEN)
+#define CONFIG_SYS_MALLOC_BASE         (CONFIG_SYS_TEXT_BASE - 
CONFIG_SYS_MALLOC_LEN)
 #define CONFIG_SYS_GBL_DATA_OFFSET     (CONFIG_SYS_MALLOC_BASE - 
CONFIG_SYS_GBL_DATA_SIZE)
 #define CONFIG_SYS_INIT_SP             CONFIG_SYS_GBL_DATA_OFFSET
 
 /*------------------------------------------------------------------------
  * FLASH (AM29LV065D)
  *----------------------------------------------------------------------*/
+#define CONFIG_FLASH_CFI_DRIVER
+#define CONFIG_SYS_CFI_FLASH_STATUS_POLL /* fix nios2 flash timing issue in 
amd toggle*/
+#define CONFIG_SYS_FLASH_CFI
+#define CONFIG_SYS_FLASH_PROTECTION
+#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
+
 #define CONFIG_SYS_MAX_FLASH_SECT      128             /* Max # sects per bank 
*/
 #define CONFIG_SYS_MAX_FLASH_BANKS     1               /* Max # of flash banks 
*/
-#define CONFIG_SYS_FLASH_ERASE_TOUT    8000            /* Erase timeout (msec) 
*/
-#define CONFIG_SYS_FLASH_WRITE_TOUT    100             /* Write timeout (msec) 
*/
 
 /*------------------------------------------------------------------------
  * ENVIRONMENT -- Put environment in sector CONFIG_SYS_MONITOR_LEN above
- * CONFIG_SYS_FLASH_BASE, since we assume that u-boot is stored at the bottom
- * of flash memory. This will keep the environment in user region
+ * CONFIG_SYS_RESET_ADDR, since we assume the monitor is stored at the
+ * reset address, no? This will keep the environment in user region
  * of flash. NOTE: the monitor length must be multiple of sector size
  * (which is common practice).
  *----------------------------------------------------------------------*/
 #define CONFIG_ENV_IS_IN_FLASH 1               /* Environment in flash */
 #define CONFIG_ENV_SIZE                (64 * 1024)     /* 64 KByte (1 sector)  
*/
 #define CONFIG_ENV_OVERWRITE                   /* Serial change Ok     */
-#define CONFIG_ENV_ADDR        (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN)
+#define CONFIG_ENV_ADDR        (CONFIG_SYS_RESET_ADDR + CONFIG_SYS_MONITOR_LEN)
 
 /*------------------------------------------------------------------------
  * CONSOLE
  *----------------------------------------------------------------------*/
 #if defined(CONFIG_CONSOLE_JTAG)
-#define CONFIG_SYS_NIOS_CONSOLE        0x021208b0      /* JTAG UART base addr  
*/
+#define CONFIG_ALTERA_JTAGUART
 #else
-#define CONFIG_SYS_NIOS_CONSOLE        0x02120840      /* UART base addr       
*/
+#define CONFIG_ALTERA_UART
 #endif
 
-#define CONFIG_SYS_NIOS_FIXEDBAUD      1               /* Baudrate is fixed    
*/
-#define CONFIG_BAUDRATE                115200          /* Initial baudrate     
*/
+#define CONFIG_SYS_JTAGUART_BASE       0x821208b0      /* JTAG UART base addr  
*/
+#define CONFIG_SYS_UART_BASE           0x82120840      /* UART base addr       
*/
+
+#define CONFIG_SYS_UART_FREQ           CONFIG_SYS_CLK_FREQ
+#define CONFIG_BAUDRATE                        115200          /* Initial 
baudrate     */
 #define CONFIG_SYS_BAUDRATE_TABLE      {115200}        /* It's fixed ;-)       
*/
 
 #define CONFIG_SYS_CONSOLE_INFO_QUIET  1               /* Suppress console 
info*/
@@ -107,7 +120,6 @@
 /*------------------------------------------------------------------------
  * EPCS Device -- None for stratix.
  *----------------------------------------------------------------------*/
-#undef CONFIG_SYS_NIOS_EPCSBASE
 
 /*------------------------------------------------------------------------
  * DEBUG
@@ -121,22 +133,22 @@
  * registers, we can slow it down to 10 msec using TMRCNT. If the default
  * period is acceptable, TMRCNT can be left undefined.
  *----------------------------------------------------------------------*/
-#define CONFIG_SYS_NIOS_TMRBASE        0x02120820      /* Tick timer base addr 
*/
-#define CONFIG_SYS_NIOS_TMRIRQ         3               /* Timer IRQ num        
*/
-#define CONFIG_SYS_NIOS_TMRMS          10              /* 10 msec per tick     
*/
-#define CONFIG_SYS_NIOS_TMRCNT (CONFIG_SYS_NIOS_TMRMS * 
(CONFIG_SYS_CLK_FREQ/1000))
-#define CONFIG_SYS_HZ          (CONFIG_SYS_CLK_FREQ/(CONFIG_SYS_NIOS_TMRCNT + 
1))
+#define CONFIG_SYS_TIMER_BASE          0x82120820      /* Tick timer base addr 
*/
+#define CONFIG_SYS_TIMER_IRQ           3               /* Timer IRQ num        
*/
+#define CONFIG_SYS_TIMER_FREQ          CONFIG_SYS_CLK_FREQ     /* Timer input 
freq     */
+#define CONFIG_SYS_HZ                  1000            /* should be 1000 for 
flash timing */
 
 /*------------------------------------------------------------------------
  * STATUS LED -- Provides a simple blinking led. For Nios2 each board
  * must implement its own led routines -- since leds are board-specific.
  *----------------------------------------------------------------------*/
-#define CONFIG_SYS_LEDPIO_ADDR         0x02120870      /* LED PIO base addr    
*/
+#define CONFIG_SYS_LED_PIO_BASE                0x82120870      /* LED PIO base 
addr    */
+#define CONFIG_EPLED                           /* Enable LED PIO driver */
 #define CONFIG_STATUS_LED                      /* Enable status driver */
 
 #define STATUS_LED_BIT         1               /* Bit-0 on PIO         */
 #define STATUS_LED_STATE       1               /* Blinking             */
-#define STATUS_LED_PERIOD      (500/CONFIG_SYS_NIOS_TMRMS) /* Every 500 msec   
*/
+#define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)     /* Every 500 msec       
*/
 
 /*------------------------------------------------------------------------
  * ETHERNET -- The header file for the SMC91111 driver hurts my eyes ...
-- 
1.6.6.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to