The port now uses the CFI-driver so board/RRvision/flash.c has been removed.
Signed-off-by: Gary Jennejohn <[EMAIL PROTECTED]>
---
 Makefile                     |  385 +++++++++++++++++++++++++++++++
 board/RRvision/Makefile      |    4 +-
 board/RRvision/RRvision.c    |    9 +-
 board/RRvision/flash.c       |  522 ------------------------------------------
 common/lcd.c                 |    9 +-
 cpu/mpc8xx/cpu_init.c        |    2 +-
 cpu/mpc8xx/fec.c             |    8 +
 cpu/mpc8xx/lcd.c             |  185 ++++++++++++++-
 cpu/mpc8xx/video.c           |   22 ++-
 include/configs/RRvision.h   |  210 +++++++++++++----
 include/configs/TTTech_env.h |   99 ++++++++
 tools/Makefile               |   20 ++
 12 files changed, 891 insertions(+), 584 deletions(-)
 delete mode 100644 board/RRvision/flash.c
 create mode 100644 include/configs/TTTech_env.h

diff --git a/common/lcd.c b/common/lcd.c
index ebf377a..e54d4f5 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -70,6 +70,13 @@
 # if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET)
 #  error Default Color Map overlaps with Logo Color Map
 # endif
+
+# ifndef CONFIG_LCD_LOGO_X
+# define CONFIG_LCD_LOGO_X      0
+# endif
+# ifndef CONFIG_LCD_LOGO_Y
+# define CONFIG_LCD_LOGO_Y      0
+# endif
 #endif
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -768,7 +775,7 @@ static void *lcd_logo (void)
 #endif /* CONFIG_SPLASH_SCREEN */
 
 #ifdef CONFIG_LCD_LOGO
-       bitmap_plot (0, 0);
+       bitmap_plot (CONFIG_LCD_LOGO_X, CONFIG_LCD_LOGO_Y);
 #endif /* CONFIG_LCD_LOGO */
 
 #ifdef CONFIG_MPC823
diff --git a/cpu/mpc8xx/cpu_init.c b/cpu/mpc8xx/cpu_init.c
index fb3414a..400c2bc 100644
--- a/cpu/mpc8xx/cpu_init.c
+++ b/cpu/mpc8xx/cpu_init.c
@@ -62,7 +62,7 @@ void cpu_init_f (volatile immap_t * immr)
 #endif /* CONFIG_WATCHDOG */
 
        /* SIUMCR - contains debug pin configuration (11-6) */
-#ifndef CONFIG_SVM_SC8xx
+#if !defined (CONFIG_SVM_SC8xx) && !defined (CONFIG_RRVISION)
        immr->im_siu_conf.sc_siumcr |= CFG_SIUMCR;
 #else
        immr->im_siu_conf.sc_siumcr = CFG_SIUMCR;
diff --git a/cpu/mpc8xx/fec.c b/cpu/mpc8xx/fec.c
index 37eb481..59da088 100644
--- a/cpu/mpc8xx/fec.c
+++ b/cpu/mpc8xx/fec.c
@@ -837,6 +837,8 @@ static void fec_halt(struct eth_device* dev)
 #define PHY_ID_LSI80225B       0x0016f880      /* LSI 80225/B */
 #define PHY_ID_DM9161          0x0181B880      /* Davicom DM9161 */
 #define PHY_ID_KSM8995M                0x00221450      /* MICREL KS8995MA */
+#define PHY_ID_DP83846A                0x20005c20      /* NatSem DP83846A */
+#define PHY_ID_DP83847         0x20005c30      /* NatSem DP83847 */
 
 /* send command to phy using mii, wait for result */
 static uint
@@ -924,6 +926,12 @@ static int mii_discover_phy(struct eth_device *dev)
                                case PHY_ID_KSM8995M:
                                        printf("MICREL KS8995M\n");
                                        break;
+                               case PHY_ID_DP83846A:
+                                       printf("NatSem DP83846A\n");
+                                       break;
+                               case PHY_ID_DP83847:
+                                       printf("NatSem DP83847\n");
+                                       break;
                                default:
                                        printf("0x%08x\n", phytype);
                                        break;
diff --git a/cpu/mpc8xx/lcd.c b/cpu/mpc8xx/lcd.c
index 3c64a9b..13469a8 100644
--- a/cpu/mpc8xx/lcd.c
+++ b/cpu/mpc8xx/lcd.c
@@ -55,6 +55,10 @@
 #undef CONFIG_LCD_INFO
 #endif
 
+#if defined(CONFIG_RRVISION) && defined(TTTECH_NO_SCREEN_INFO)
+#undef CONFIG_LCD_INFO
+#endif
+
 /*----------------------------------------------------------------------*/
 #ifdef CONFIG_KYOCERA_KCS057QV1AJ
 /*
@@ -114,7 +118,7 @@ vidinfo_t panel_info = {
  */
 vidinfo_t panel_info = {
     640, 480, 212, 158, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
-    3, 0, 0, 1, 1, 144, 2, 0, 33
+    3, 0, 0, 1, 1, 88, 2, 0, 33
                /* wbl, vpw, lcdac, wbf */
 };
 #endif /* CONFIG_NEC_NL6448BC33_54 */
@@ -122,16 +126,115 @@ vidinfo_t panel_info = {
 
 #ifdef CONFIG_SHARP_LQ104V7DS01
 /*
- *  SHARP LQ104V7DS01. 6.5", 640x480. Active, color, single scan.
+ *  SHARP LQ104V7DS01. 10", 640x480. Active, color, single scan.
  */
 vidinfo_t panel_info = {
-    640, 480, 132, 99, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_LOW,
-    3, 0, 0, 1, 1, 25, 1, 0, 33
+    660, 480, 0, 0, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
+    3, 0, 0, 1, 1, 99, 30, 0, 20
                /* wbl, vpw, lcdac, wbf */
 };
 #endif /* CONFIG_SHARP_LQ104V7DS01 */
 /*----------------------------------------------------------------------*/
 
+/*----------------------------------------------------------------------*/
+
+#ifdef CONFIG_SHARP_LQ104V1DG61
+/*
+ *  SHARP LQ104V1DG61. 10", 640x480. Active, color, single scan.
+ */
+vidinfo_t panel_info = {
+    640, 480, 0, 0, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
+    3, 0, 0, 1, 1, 80, 30, 0, 20
+
+};
+#endif /* CONFIG_SHARP_LQ104V1DG61 */
+/*----------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------*/
+
+#ifdef CONFIG_NEC_NL8060BC26
+#undef LCD_DF
+#define LCD_DF 4
+/*
+ *  NEC_NL8060BC26. 10.4"", 800x600. Active, color, single scan.
+ */
+vidinfo_t panel_info = {
+    800,            /* Number of columns (i.e. 640) */
+    600,            /* Number of rows (i.e. 480) */
+    211,            /* Width of display area in millimeters */
+    158,            /* Height of display area in millimeters */
+    CFG_HIGH,       /* Clock polarity */
+    CFG_HIGH,       /* Output Enable polarity */
+    CFG_LOW,        /* Horizontal Sync polarity */
+    CFG_LOW,        /* Vertical Sync polarity */
+    CFG_HIGH,       /* Data polarity */
+    3,              /* Bits per pixel, 0 = 1, 1 = 2, 2 = 4, 3 = 8 */
+    0,              /* LCD Bus width, 0 = 4, 1 = 8 */
+    0,              /* Split display, 0 = single-scan, 1 = dual-scan */
+    1,              /* Color, 0 = mono, 1 = color */
+    1,              /* 0 = passive, 1 = TFT */
+    80,             /* Wait between lines */
+    30,             /* Vertical sync pulse width */
+    0,              /* LCD AC timing */
+    20              /* Wait between frames */
+};
+#endif /* CONFIG_NEC_NL8060BC26 */
+/*----------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------*/
+
+#ifdef CONFIG_PM070WL3
+#undef LCD_DF
+#define LCD_DF 4
+/*
+ *  PM070-WL3. 7"", 800x480. Active, color, single scan.
+ */
+vidinfo_t panel_info = {
+    800,            /* Number of columns (i.e. 640) */
+    480,            /* Number of rows (i.e. 480) */
+    153,            /* Width of display area in millimeters */
+    92,             /* Height of display area in millimeters */
+    CFG_HIGH,       /* Clock polarity */
+    CFG_HIGH,       /* Output Enable polarity */
+    CFG_LOW,        /* Horizontal Sync polarity */
+    CFG_LOW,        /* Vertical Sync polarity */
+    CFG_HIGH,       /* Data polarity */
+    3,              /* Bits per pixel, 0 = 1, 1 = 2, 2 = 4, 3 = 8 */
+    0,              /* LCD Bus width, 0 = 4, 1 = 8 */
+    0,              /* Split display, 0 = single-scan, 1 = dual-scan */
+    1,              /* Color, 0 = mono, 1 = color */
+    1,              /* 0 = passive, 1 = TFT */
+    80,             /* Wait between lines */
+    30,             /* Vertical sync pulse width */
+    0,              /* LCD AC timing */
+    20              /* Wait between frames */
+};
+#endif /* CONFIG_PM070WL3 */
+/*----------------------------------------------------------------------*/
+
+
+#ifdef CONFIG_HLD1045AE1
+vidinfo_t panel_info = {
+    640, 480, 0, 0, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
+    3, 0, 0, 1, 1, 80, 3, 0, 33
+        /* wbl, vpw, lcdac, wbf */
+};
+#endif /* CONFIG_HLD1045AE1 */
+/*----------------------------------------------------------------------*/
+
+#ifdef CONFIG_AUO_T070W1D1
+#undef LCD_DF
+#define LCD_DF 12
+
+vidinfo_t panel_info = {
+    480, 240, 0, 0, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
+    3, 1, 0, 1, 1, 80, 4, 0, 16
+        /* wbl, vpw, lcdac, wbf */
+};
+#define CONFIG_LCD_INFO_BELOW_LOGO
+#endif /* CONFIG_AUO_T070W1D1 */
+/*----------------------------------------------------------------------*/
+
 #ifdef CONFIG_SHARP_16x9
 /*
  * Sharp 320x240. Active, color, single scan.  It isn't 16x9, and I am
@@ -144,6 +247,44 @@ vidinfo_t panel_info = {
 #endif /* CONFIG_SHARP_16x9 */
 /*----------------------------------------------------------------------*/
 
+#ifdef CONFIG_SHARP_LQ050Q5DR01
+/*
+ * Sharp LQ050Q5DR01 display. Active, color, single scan.
+ */
+#undef LCD_DF
+#define LCD_DF 12
+
+vidinfo_t panel_info = {
+    320, 241, 0, 0, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_HIGH,
+    3, 1, 0, 1, 1, 15, 4, 0, 3
+        /* wbl, vpw, lcdac, wbf */
+};
+#define CONFIG_LCD_INFO_BELOW_LOGO
+#endif /* CONFIG_SHARP_LQ050Q5DR01 */
+/*----------------------------------------------------------------------*/
+
+#ifdef CONFIG_SHARP_LQ070Q5TR01
+/*
+ * Sharp LQ070Q5DR01 display. Active, color, single scan.
+ * !!! The actual screen size is only 480x240, but the HSYNC period has to
+ * be at least 680 pixels. The HSYNC period is given by 4 + vl_width + wbl.
+ * Changing wbl moves the picture on the screen. The only parameter to change
+ * is the screen width. Therefore we need a bitplane wider than the screen.
+ * The same holds for the VSYNC period. This is given byx VPW + WBF + 
vl_height.
+ * Changing VPW or WBF moves the picture up/down. Therefore we can only
+ * change vl_height.  As a consequence the bitplane needs to be higher
+ * than the screen as well.
+ */
+
+vidinfo_t panel_info = {
+    680, 246, 0, 0, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_HIGH,
+    3, 0, 0, 1, 1, 7, 4, 0, 3
+        /* wbl, vpw, lcdac, wbf */
+};
+#define CONFIG_LCD_INFO_BELOW_LOGO
+#endif /* CONFIG_SHARP_LQ070Q5TR01 */
+/*----------------------------------------------------------------------*/
+
 #ifdef CONFIG_SHARP_LQ057Q3DC02
 /*
  * Sharp LQ057Q3DC02 display. Active, color, single scan.
@@ -170,6 +311,22 @@ vidinfo_t panel_info = {
                /* wbl, vpw, lcdac, wbf */
 };
 #endif /* CONFIG_SHARP_LQ64D341 */
+/*-----------------------------------------------------------------*/
+
+#ifdef CONFIG_UMSH_7189JD1F
+/*
+ * UMSH 7189JD1F FSTN Monochrome 320x240 4 Data bits  doesn't work
+ */
+#undef LCD_DF
+#define LCD_DF      10
+
+vidinfo_t panel_info = {
+    320, 240, 0, 0, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_LOW,
+    LCD_BPP,  0, 0, 0, 0, 33, 0, 1, 0
+};
+
+#undef LCD_TEST_PATTERN
+#endif
 
 #ifdef CONFIG_SHARP_LQ065T9DR51U
 /*
@@ -396,6 +553,23 @@ void lcd_ctrl_init (void *lcdbase)
        immr->im_ioport.iop_pddat |= 0x0200;
 #endif
 
+/*
+ * Workaround for RRVision with 10" LCD Display. see issue26199.
+ * This Workaround works with the Displays SHARP LQ104V7DS01 and SHARP
+ * LQ104V1DG61
+ */
+#if defined(CONFIG_RRVISION) && (defined(CONFIG_SHARP_LQ104V7DS01) || \
+ defined(CONFIG_SHARP_LQ104V1DG61))
+       /* PDPAR Bit 6 - DD6 => 0 */
+       immr->im_ioport.iop_pdpar &= ~0x0200;
+
+       /* PDDIR Bit 6 - DR6 => 1 */
+       immr->im_ioport.iop_pddir |= 0x0200;
+
+       /* PDDAT Bit 6 - D6 => 0 */
+       immr->im_ioport.iop_pddat &= ~0x0200;
+#endif /* CONFIG_SHARP_LQ104V7DS01 */
+
        /* Load the physical address of the linear frame buffer
         * into the LCD controller.
         * BIG NOTE:  This has to be modified to load A and B depending
@@ -483,7 +657,6 @@ lcd_setcolreg (ushort regno, ushort red, ushort green, 
ushort blue)
 /*----------------------------------------------------------------------*/
 
 #if LCD_BPP == LCD_MONOCHROME
-static
 void lcd_initcolregs (void)
 {
        volatile immap_t *immr = (immap_t *) CFG_IMMR;
@@ -564,12 +737,10 @@ void lcd_enable (void)
 #endif
 #ifdef CONFIG_RRVISION
        debug ("PC4->Output(1): enable LVDS\n");
-       debug ("PC5->Output(0): disable PAL clock\n");
        immr->im_ioport.iop_pddir |=  0x1000;
        immr->im_ioport.iop_pcpar &= ~(0x0C00);
        immr->im_ioport.iop_pcdir |=   0x0C00 ;
        immr->im_ioport.iop_pcdat |=   0x0800 ;
-       immr->im_ioport.iop_pcdat &= ~(0x0400);
        debug ("PDPAR=0x%04X PDDIR=0x%04X PDDAT=0x%04X\n",
               immr->im_ioport.iop_pdpar,
               immr->im_ioport.iop_pddir,
diff --git a/cpu/mpc8xx/video.c b/cpu/mpc8xx/video.c
index 8bf8e46..5bbd693 100644
--- a/cpu/mpc8xx/video.c
+++ b/cpu/mpc8xx/video.c
@@ -68,6 +68,10 @@ DECLARE_GLOBAL_DATA_PTR;
 #define VIDEO_INFO_X           VIDEO_LOGO_WIDTH+8
 #define VIDEO_INFO_Y           16
 
+#if defined(CONFIG_RRVISION) && defined(TTTECH_NO_SCREEN_INFO)
+#undef VIDEO_INFO
+#endif
+
 /************************************************************************/
 /* ** VIDEO ENCODER CONSTANTS                                          */
 /************************************************************************/
@@ -115,10 +119,15 @@ DECLARE_GLOBAL_DATA_PTR;
 #define VIDEO_BURST_LEN                (VIDEO_COLS/8)
 
 #ifdef VIDEO_MODE_YUYV
+
+#if defined(CONFIG_RRVISION)
+#define VIDEO_BG_COL   0x80108010      /* Background color in YUYV format */
+#else
 #define VIDEO_BG_COL   0x80D880D8      /* Background color in YUYV format */
+#endif /* CONFIG_RRVISION */
 #else
 #define VIDEO_BG_COL   0xF8F8F8F8      /* Background color in RGB format */
-#endif
+#endif /* VIDEO_MODE_YUYV */
 
 /************************************************************************/
 /* ** FONT AND LOGO DATA                                               */
@@ -132,6 +141,14 @@ DECLARE_GLOBAL_DATA_PTR;
 #define VIDEO_LOGO_WIDTH       DEF_U_BOOT_LOGO_WIDTH
 #define VIDEO_LOGO_HEIGHT      DEF_U_BOOT_LOGO_HEIGHT
 #define VIDEO_LOGO_ADDR                &u_boot_logo
+
+#ifndef CONFIG_VIDEO_LOGO_X
+#define CONFIG_VIDEO_LOGO_X            0
+#endif
+#ifndef CONFIG_VIDEO_LOGO_Y
+#define CONFIG_VIDEO_LOGO_Y            0
+#endif
+
 #endif
 
 /************************************************************************/
@@ -1171,7 +1188,8 @@ static void *video_logo (void)
        char info[80];
 #endif /* VIDEO_INFO */
 
-       easylogo_plot (VIDEO_LOGO_ADDR, screen, width, 0, 0);
+       easylogo_plot (VIDEO_LOGO_ADDR, screen, width, CONFIG_VIDEO_LOGO_X,
+               CONFIG_VIDEO_LOGO_Y);
 
 #ifdef VIDEO_INFO
        sprintf (info, "%s (%s - %s) ", U_BOOT_VERSION, __DATE__, __TIME__);
diff --git a/include/configs/RRvision.h b/include/configs/RRvision.h
index 6a71801..1ffd9f3 100644
--- a/include/configs/RRvision.h
+++ b/include/configs/RRvision.h
@@ -29,12 +29,19 @@
 #define __CONFIG_H
 
 /*
+ * Extra environment settings common for TTTech.  Moved fron include
+ * to include/configs.
+ */
+#include <configs/TTTech_env.h>
+
+/*
  * High Level Configuration Options
  * (easy to change)
  */
 
 #define CONFIG_MPC823          1       /* This is a MPC823 CPU         */
 #define CONFIG_RRVISION                1       /* ...on a RRvision board       
*/
+#define CONFIG_C2CHIP          1       /* ... C2/C2NF Chip             */
 
 #define CONFIG_8xx_GCLK_FREQ 64000000
 
@@ -48,39 +55,93 @@
 #define CONFIG_BOOTDELAY       3       /* autoboot after 5 seconds     */
 #endif
 
-#define        CONFIG_CLOCKS_IN_MHZ    1       /* clocks passsed to Linux in 
MHz */
+#undef CONFIG_CLOCKS_IN_MHZ            /* clocks passsed to Linux in MHz */
 
-#define CONFIG_PREBOOT "setenv stdout serial"
+#define CONFIG_PREBOOT  "run holdpower; run sensor_supply_on"
 
 #undef CONFIG_BOOTARGS
-#define CONFIG_ETHADDR                00:50:C2:00:E0:70
-#define CONFIG_OVERWRITE_ETHADDR_ONCE 1
-#define CONFIG_IPADDR                 10.0.0.5
-#define CONFIG_SERVERIP               10.0.0.2
-#define CONFIG_NETMASK                255.0.0.0
-#define CONFIG_ROOTPATH               /opt/eldk/ppc_8xx
-#define CONFIG_BOOTCOMMAND            "run flash_self"
-
-#define        CONFIG_EXTRA_ENV_SETTINGS                                       
\
-       "netdev=eth0\0"                                                 \
-       "ramargs=setenv bootargs root=/dev/ram rw\0"                    \
-       "nfsargs=setenv bootargs root=/dev/nfs rw "                     \
-               "nfsroot=${serverip}:${rootpath}\0"                     \
-       "addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}"    \
-               ":${gatewayip}:${netmask}:${hostname}:${netdev}:off\0"  \
-       "addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"\
-       "load=tftp 100000 /tftpboot/u-boot.bin\0"                       \
-       "update=protect off 1:0-8;era 1:0-8;"                           \
-               "cp.b 100000 40000000 ${filesize};"                     \
-               "setenv filesize;saveenv\0"                             \
-       "kernel_addr=40040000\0"                                        \
-       "ramdisk_addr=40100000\0"                                       \
-       "kernel_img=/tftpboot/uImage\0"                                 \
-       "kernel_load=tftp 200000 ${kernel_img}\0"                       \
-       "net_nfs=run kernel_load nfsargs addip addtty;bootm\0"          \
-       "flash_nfs=run nfsargs addip addtty;bootm ${kernel_addr}\0"     \
-       "flash_self=run ramargs addip addtty;"                          \
-               "bootm ${kernel_addr} ${ramdisk_addr}\0"
+#define CONFIG_ETHADDR                 00:50:C2:00:E0:70
+#define CONFIG_OVERWRITE_ETHADDR_ONCE  1
+#define CONFIG_IPADDR                  10.120.30.2
+#define CONFIG_SERVERIP                        10.120.20.27
+#define CONFIG_NETMASK                 255.255.0.0
+#define CONFIG_GATEWAYIP               10.255.255.254
+#define CONFIG_NETDEV                  "eth0"
+#define CONFIG_STDIN                   "serial"
+#define CONFIG_STDOUT                  "serial"
+#define CONFIG_STDERR                  "serial"
+
+#define CONFIG_ROOTPATH /tftpboot/root/
+
+#ifdef CONFIG_LCD
+# define SENSOR_SUPPLY_ON \
+    "sensor_supply_on=mw.w fff00960 C02; mw.w fff00966 800\0"
+#else
+# define SENSOR_SUPPLY_ON \
+    "sensor_supply_on=mw.w fff00960 402; mw.w fff00966 0\0"
+#endif
+ 
+#ifdef CONFIG_TTTECH_BIGMEM
+# define MEM_ALLOC             \
+    "flash_st_ub=40000000\0"   \
+    "flash_en_ub=400FFFFF\0"   \
+    "flash_st_lx=40100000\0"   \
+    "flash_en_lx=401BFFFF\0"   \
+    "flash_st_rd=401C0000\0"   \
+    "flash_en_rd=407BFFFF\0"   \
+    "flash_st_jf=407C0000\0"   \
+    "flash_en_jf=43FFFFFF\0"   \
+    "rd_size=6144\0"
+#else
+#ifdef CONFIG_CODESYS
+# define MEM_ALLOC             \
+    "flash_st_ub=40000000\0"   \
+    "flash_en_ub=4003FFFF\0"   \
+    "flash_st_lx=40040000\0"   \
+    "flash_en_lx=400FFFFF\0"   \
+    "flash_st_rd=40100000\0"   \
+    "flash_en_rd=402FFFFF\0"   \
+    "flash_st_jf=40300000\0"   \
+    "flash_en_jf=407FFFFF\0"   \
+    "rd_size=4096\0"
+#else
+# define MEM_ALLOC             \
+    "flash_st_ub=40000000\0"   \
+    "flash_en_ub=4003FFFF\0"   \
+    "flash_st_lx=40040000\0"   \
+    "flash_en_lx=400FFFFF\0"   \
+    "flash_st_rd=40100000\0"   \
+    "flash_en_rd=403FFFFF\0"   \
+    "flash_st_jf=40400000\0"   \
+    "flash_en_jf=407FFFFF\0"   \
+    "rd_size=6144\0"
+#endif
+#endif
+
+#ifdef CONFIG_PRODTEST
+# define CONFIG_BOOTCOMMAND "run prodtest"
+#else
+# define CONFIG_BOOTCOMMAND "saveenv; run updateall"
+#endif
+
+#define        CONFIG_EXTRA_ENV_SETTINGS                               \
+        "img_lx=/tftpboot/kernel-rrv.bin\0"                    \
+        "img_lxpt=/tftpboot/uImage_prodtest\0"                 \
+        "img_rd=/tftpboot/rd-rrv.bin\0"                                \
+        "img_rdpt=/tftpboot/rdisk_prodtest.bin\0"              \
+        "img_ub=/tftpboot/boot-rrv.bin\0"                      \
+        "img_ubpt=/tftpboot/uboot_prodtest.bin\0"               \
+        "img_sc=/tftpboot/setenv_rrv.img\0"                    \
+        "img_jf=/tftpboot/jffs-rrv.bin\0"                      \
+        "bootcmd_prodtest=run flash_self\0"                    \
+        "holdpower=mw.w fff00950 40; mw.w fff00956 40\0"       \
+        SENSOR_SUPPLY_ON                                       \
+        "changeip=\0"                                          \
+        "runscr=run ${loadscr};autoscr 100000\0"               \
+        "hostname=ttcvision\0"                                 \
+        CONFIG_BOOTCOMMAND                                     \
+        CONFIG_TTTECH_ENV_SETTINGS                             \
+        MEM_ALLOC
 
 
 #define CONFIG_LOADS_ECHO      1       /* echo on for serial download  */
@@ -90,6 +151,12 @@
 
 #undef CONFIG_STATUS_LED               /* disturbs display             */
 
+/*
+ * Note that the ocan driver under Linux does its own mapping, so we
+ * don't need it here. Also note that enabling this needs some work
+ * because the default mapping below is wrong (CS3 is the TTP-Controller
+ * not the CAN)
+ */
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /*
@@ -107,16 +174,25 @@
 
 #define        CONFIG_RTC_MPC8xx               /* use internal RTC of MPC8xx   
*/
 
+#define TTTECH_NO_SCREEN_INFO          /* was CFG_NO_SCREEN_INFO       */
 
-#ifndef CONFIG_LCD
+#ifdef CONFIG_LCD
+#define CONFIG_LCD_LOGO
+#define CONFIG_LCD_LOGO_X    ((panel_info.vl_col - BMP_LOGO_WIDTH)  / 2)
+#define CONFIG_LCD_LOGO_Y    ((panel_info.vl_row - BMP_LOGO_HEIGHT) / 2)
+#define CFG_WHITE_ON_BLACK
+#else
 #define CONFIG_VIDEO           1       /* To enable the video initialization */
-
 /* Video related */
 #define CONFIG_VIDEO_LOGO                      1       /* Show the logo */
 #define CONFIG_VIDEO_ENCODER_AD7179            1       /* Enable this encoder 
*/
 #define CONFIG_VIDEO_ENCODER_AD7179_ADDR       0x2A    /* ALSB to ground */
+#define CONFIG_VIDEO_LOGO_X    ((VIDEO_COLS - VIDEO_LOGO_WIDTH)  / 2)
+#define CONFIG_VIDEO_LOGO_Y    ((VIDEO_ROWS - VIDEO_LOGO_HEIGHT) / 2)
 #endif
 
+#define CFG_CONSOLE_IS_IN_ENV
+
 /* enable I2C and select the hardware/software driver */
 #undef CONFIG_HARD_I2C                 /* I2C with hardware support    */
 #define        CONFIG_SOFT_I2C                 /* I2C bit-banged               
*/
@@ -135,9 +211,9 @@
 #define I2C_ACTIVE     (immr->im_cpm.cp_pbdir |=  PB_SDA)
 #define I2C_TRISTATE   (immr->im_cpm.cp_pbdir &= ~PB_SDA)
 #define I2C_READ       ((immr->im_cpm.cp_pbdat & PB_SDA) != 0)
-#define I2C_SDA(bit)   if(bit) immr->im_cpm.cp_pbdat |=  PB_SDA; \
+#define I2C_SDA(bit)   if((bit)) immr->im_cpm.cp_pbdat |=  PB_SDA; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SDA
-#define I2C_SCL(bit)   if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
+#define I2C_SCL(bit)   if((bit)) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
 #define I2C_DELAY      udelay(1)       /* 1/4 I2C clock duration */
 #endif /* CONFIG_SOFT_I2C */
@@ -150,11 +226,15 @@
 
 #define CONFIG_CMD_DHCP
 #define CONFIG_CMD_I2C
-#define CONFIG_CMD_IDE
 #define CONFIG_CMD_DATE
+#define CONFIG_CMD_JFFS2
+#define CONFIG_CMDLINE_EDITING         /* add command line history     */
 
+#undef CONFIG_CMD_REGINFO              /* could be useful              */
 #undef CONFIG_CMD_PCMCIA
 #undef CONFIG_CMD_IDE
+#undef CONFIG_CMD_FPGA
+#undef CONFIG_CMD_SETGETDCR            /* DCR support on 4xx           */
 
 
 /*
@@ -206,7 +286,11 @@
  */
 #define        CFG_SDRAM_BASE          0x00000000
 #define CFG_FLASH_BASE         0x40000000
+#ifdef CONFIG_TTTECH_BIGMEM                    /* set in Makefile */
+#define CFG_MONITOR_LEN                (256 << 12)     /* Reserve 1024 kB for 
Monitor */
+#else
 #define        CFG_MONITOR_LEN         (256 << 10)     /* Reserve 256 kB for 
Monitor   */
+#endif
 #define CFG_MONITOR_BASE       CFG_FLASH_BASE
 #define        CFG_MALLOC_LEN          (128 << 10)     /* Reserve 128 kB for 
malloc()  */
 
@@ -220,16 +304,42 @@
 /*-----------------------------------------------------------------------
  * FLASH organization
  */
+#define CFG_FLASH_CFI                  /* The flash is CFI compatible  */
+#define        CFG_FLASH_CFI_DRIVER
+
+#define CFG_FLASH_BANKS_LIST   { CFG_FLASH_BASE }
+
 #define CFG_MAX_FLASH_BANKS    1       /* max number of memory banks           
*/
-#define CFG_MAX_FLASH_SECT     71      /* max number of sectors on one chip    
*/
+#ifdef CONFIG_TTTECH_BIGMEM
+#define CFG_MAX_FLASH_SECT     256     /* max number of sectors on one chip  */
+#else
+#define CFG_MAX_FLASH_SECT     71      /* max number of sectors on one chip */
+#endif
 
 /* timeout values are in ticks = ms */
-#define CFG_FLASH_ERASE_TOUT   (120*CFG_HZ)    /* Timeout for Flash Erase      
*/
-#define CFG_FLASH_WRITE_TOUT   (1 * CFG_HZ)    /* Timeout for Flash Write      
*/
+#ifdef CONFIG_TTTECH_BIGMEM
+#define CFG_FLASH_ERASE_TOUT   (120 * CFG_HZ)  /* Timeout for Flash Erase  */
+#define CFG_FLASH_WRITE_TOUT   (10 * CFG_HZ)   /* Timeout for Flash Write  */
+#else
+#define CFG_FLASH_ERASE_TOUT   (120 * CFG_HZ)  /* Timeout for Flash Erase */
+#define CFG_FLASH_WRITE_TOUT   (1 * CFG_HZ)    /* Timeout for Flash Write */
+#endif
+
+#define CFG_FLASH_USE_BUFFER_WRITE 1   /* use buffered writes (20x faster) */
+#define CFG_FLASH_INCREMENT      0       /* there is only one bank         */
+
+#define CFG_FLASH_EMPTY_INFO           /* print 'E' for empty sector on flinfo 
*/
+#define CFG_FLASH_QUIET_TEST   1       /* don't warn upon unknown flash */
 
 #define        CFG_ENV_IS_IN_FLASH     1
-#define        CFG_ENV_OFFSET          0x8000  /*   Offset   of Environment 
Sector     */
-#define        CFG_ENV_SIZE            0x4000  /* Total Size of Environment 
Sector     */
+#ifdef CONFIG_TTTECH_BIGMEM
+#define CFG_ENV_OFFSET         0x40000 /* Offset   of Environment Sector */
+#define CFG_ENV_SIZE           0x40000 /* Total Size of Environment Sector */
+#else
+/* this is actually in the first sector of the flash */
+#define        CFG_ENV_OFFSET          0x8100  /* Offset   of Environment 
Sector */
+#define        CFG_ENV_SIZE            0x4000  /* Total Size of Environment 
Sector */
+#endif
 
 /* Address and size of Redundant Environment Sector    */
 #define CFG_ENV_OFFSET_REDUND  (CFG_ENV_OFFSET+CFG_ENV_SIZE)
@@ -251,7 +361,7 @@
  *-----------------------------------------------------------------------
  * Software & Bus Monitor Timer max, Bus Monitor enable, SW Watchdog freeze
  */
-#if defined(CONFIG_WATCHDOG)
+#ifdef CONFIG_WATCHDOG
 #define CFG_SYPCR      (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | \
                         SYPCR_SWE  | SYPCR_SWRI| SYPCR_SWP)
 #else
@@ -264,9 +374,9 @@
  * PCMCIA config., multi-function pin tri-state
  */
 #ifndef        CONFIG_CAN_DRIVER
-#define CFG_SIUMCR     (SIUMCR_DBGC00 | SIUMCR_DBPC00 | SIUMCR_MLRC01)
+#define CFG_SIUMCR     (SIUMCR_DBGC00 | SIUMCR_DBPC00 | SIUMCR_MLRC00)
 #else  /* we must activate GPL5 in the SIUMCR for CAN */
-#define CFG_SIUMCR     (SIUMCR_DBGC11 | SIUMCR_DBPC00 | SIUMCR_MLRC01)
+#define CFG_SIUMCR     (SIUMCR_DBGC11 | SIUMCR_DBPC00 | SIUMCR_MLRC00)
 #endif /* CONFIG_CAN_DRIVER */
 
 /*-----------------------------------------------------------------------
@@ -306,7 +416,7 @@
  * power management and some other internal clocks
  */
 #define SCCR_MASK      SCCR_EBDF11
-#define CFG_SCCR       (/* SCCR_TBS  | */ SCCR_RTSEL | SCCR_RTDIV    | \
+#define CFG_SCCR       (/* SCCR_TBS  | SCCR_RTSEL | SCCR_RTDIV    | */ \
                         SCCR_COM00   | SCCR_DFSYNC00 | SCCR_DFBRG00  | \
                         SCCR_DFNL000 | SCCR_DFNH000  | SCCR_DFLCD000 | \
                         SCCR_DFALCD00)
@@ -400,6 +510,10 @@
 #define CFG_OR2_PRELIM (CFG_PRELIM_OR_AM | CFG_OR_TIMING_SDRAM )
 #define CFG_BR2_PRELIM ((SDRAM_BASE2_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
 
+/*
+ * Note that the CAN chip uses CS7 (not 3) so before enabling this,
+ * correct the setting.
+ */
 #ifndef        CONFIG_CAN_DRIVER
 #define        CFG_OR3_PRELIM  CFG_OR2_PRELIM
 #define CFG_BR3_PRELIM ((SDRAM_BASE3_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
@@ -411,6 +525,14 @@
                                        BR_PS_8 | BR_MS_UPMB | BR_V )
 #endif /* CONFIG_CAN_DRIVER */
 
+#ifdef  CONFIG_C2CHIP
+#define CFG_C2_BASE             0x20000000      /* C2 mapped at 0x00FFE000     
 - last 32KB of SDRAM*/
+#define CFG_C2_OR_AM            0xFFF00000      /* 1MB address mask          */
+#define CFG_OR3_C2              (OR_AM_MSK | OR_CSNT_SAM | OR_ACS_DIV2 | \
+                               OR_SCY_15_CLK | OR_EHTR | OR_BI | OR_TRLX)
+#define CFG_BR3_C2              ((CFG_C2_BASE & BR_BA_MSK) | BR_PS_16 | BR_V )
+#endif  /* CONFIG_C2CHIP */
+
 /*
  * Memory Periodic Timer Prescaler
  *
diff --git a/include/configs/TTTech_env.h b/include/configs/TTTech_env.h
new file mode 100644
index 0000000..8cdeafd
--- /dev/null
+++ b/include/configs/TTTech_env.h
@@ -0,0 +1,99 @@
+/*
+ * (C) Copyright 2008
+ * Wolfgang Denk, DENX Software Engineering, [EMAIL PROTECTED]
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __TTTECH_ENV_H
+#define __TTTECH_ENV_H
+
+/*
+ * Extra environment settings shared by various TTTech configs
+ */
+
+#define CONFIG_TTTECH_ENV_SETTINGS                                     \
+  "netdev=" CONFIG_NETDEV "\0"                                         \
+  "stderr=" CONFIG_STDERR "\0"                                         \
+  "stdin="  CONFIG_STDIN  "\0"                                         \
+  "stdout=" CONFIG_STDOUT "\0"                                         \
+  "bootcmd_appl=run flash_self\0"                                      \
+  "addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}"         \
+    ":${gatewayip}:${netmask}:${hostname}:${netdev}:off\0"             \
+  "addnostartapp=setenv bootargs ${bootargs} nostartapp=yes\0"         \
+  "addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"     \
+  "addpanic=setenv bootargs ${bootargs} panic=1\0"                     \
+  "nfsargs=setenv bootargs ${bootargs} root=/dev/nfs rw "              \
+    "nfsroot=${serverip}:${rootpath}\0"                                        
\
+  "ramargs=setenv bootargs ${bootargs} root=/dev/ram rw "              \
+    "ramdisk_size=${rd_size}\0"                                                
\
+  "cleansave=setenv img; setenv filesize; "                            \
+    "setenv flash_st; setenv flash_en; sleep 1; saveenv\0"             \
+  "load=tftp 100000 ${img}\0"                                          \
+        "flash=protect off all;era ${flash_st} ${flash_en};"           \
+    "cp.b 100000 ${flash_st} ${filesize}\0"                            \
+  "update=run load flash\0"                                            \
+  "loadlx=setenv img ${img_lx}; run load\0"                            \
+  "updatelx=setenv img ${img_lx}; "                                    \
+    "setenv flash_st ${flash_st_lx}; "                                 \
+    "setenv flash_en ${flash_en_lx}; run update\0"                     \
+  "updatelxpt=setenv img ${img_lxpt}; "                                        
\
+    "setenv flash_st ${flash_st_lx}; "                                 \
+    "setenv flash_en ${flash_en_lx}; run update\0"                     \
+  "updaterd=setenv img ${img_rd}; "                                    \
+    "setenv flash_st ${flash_st_rd}; "                                 \
+               "setenv flash_en ${flash_en_rd}; run update; "          \
+               "setenv boot_cmd ${bootcmd_appl} \0"                    \
+        "updateub=setenv img ${img_ub}; "                              \
+               "setenv flash_st ${flash_st_ub}; "                      \
+               "setenv flash_en ${flash_en_ub};"                       \
+                "run update;"                                          \
+                "protect off all;"                                     \
+                "era 40008000 4000FFFF;reset; \0"                      \
+        "updateubpt=setenv img ${img_ubpt}; "                          \
+               "setenv flash_st ${flash_st_ub}; "                      \
+               "setenv flash_en ${flash_en_ub};"                       \
+                "run update;\0"                                                
\
+  "updaterdpt=setenv img ${img_rdpt}; "                                        
\
+    "setenv flash_st ${flash_st_rd}; "                                 \
+    "setenv flash_en ${flash_en_rd}; run update\0"                     \
+  "updatepb=run updateub\0"                                            \
+  "updatejf=setenv img ${img_jf}; "                                    \
+    "setenv flash_st ${flash_st_jf}; "                                 \
+    "setenv flash_en ${flash_en_jf}; run update\0"                     \
+  "net_nfs=run loadlx nfsargs addip addtty;bootm\0"                    \
+  "flash_nfs=run nfsargs addip addtty;bootm ${flash_st_lx}\0"          \
+  "flash_self=run ramargs addip addtty;"                               \
+    "bootm ${flash_st_lx} ${flash_st_rd}\0"                            \
+  "prodtest=run updatelxpt;run updaterdpt;"                            \
+    "setenv bootcmd ${bootcmd_prodtest};"                              \
+    "run cleansave;"                                                   \
+    "reset\0"                                                          \
+       "application=run updateub; run updatelx; run updaterd;"         \
+    "setenv bootcmd ${bootcmd_appl};"                                  \
+    "run cleansave;"                                                   \
+    "reset\0"                                                          \
+       "updateall=run updatelx;"                                       \
+               "run updatejf; run updaterd;"                           \
+    "setenv bootcmd="                                                  \
+    "run cleansave;"                                                   \
+    "reset\0"                                                          \
+  "test=run addnostartapp flash_self\0"
+
+#endif  /* __TTTECH_ENV_H */
diff --git a/tools/Makefile b/tools/Makefile
index 8533a8e..f68acba 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -41,6 +41,26 @@ LIBFDT_OBJ_FILES     = $(obj)fdt.o $(obj)fdt_ro.o 
$(obj)fdt_rw.o $(obj)fdt_strerror.
 
 LOGO_H = $(OBJTREE)/include/bmp_logo.h
 
+ifeq ($(LOGO),palfin)
+LOGO_BMP= logos/linux_logo_ttcontrol_palfin.bmp
+else
+ifeq ($(LOGO),ttcontrol)
+LOGO_BMP= logos/linux_logo_ttcontrol.bmp
+else
+ifeq ($(LOGO),patria)
+LOGO_BMP= logos/linux_logo_ttcontrol_patria.bmp
+else
+ifeq ($(LOGO),eaton)
+LOGO_BMP= logos/linux_logo_ttcontrol_eaton.bmp
+else
+ifeq ($(LOGO),void)
+LOGO_BMP= logos/linux_logo_void.bmp
+endif
+endif
+endif
+endif
+endif
+
 ifeq ($(LOGO_BMP),)
 LOGO_BMP= logos/denx.bmp
 endif
-- 
1.5.4.3


---
Gary Jennejohn
*********************************************************************
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: [EMAIL PROTECTED]
*********************************************************************

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to