[U-Boot-Users] [PATCH] Upgrade barco bcd8245g1

Marc Leeman marc.leeman at gmail.com
Wed Apr 12 10:34:35 CEST 2006


  * compiles and runs with compilers > ELDK 3.1 (u-boot.lds)
  * allow input of scripts in userspace to be run with by u-boot
  * remove CVS comment clutter 
  * rename barcohydra to bcd8245g1 to better reflect products
  * cleanup: removal of default address increment with 2 words, backwards
    compatibility is kept for support and in-the field installations
  * increased CFG_LOAD_ADDR for larger 2.6 kernels (0x100000 -> 0x400000)
  * Updated platform support with 2 new boards

Marc Leeman <marc.leeman at barco.com>

-- 
  greetz, marc
God, I love science fiction.
	Crichton - Revenging Angel
scorpius.homelinux.org 2.6.16 #6 PREEMPT Sat Apr 1 21:22:39 CEST 2006 GNU/Linux
-------------- next part --------------
Index: u-boot-1.1.4/board/barco/barco.c
===================================================================
--- u-boot-1.1.4.orig/board/barco/barco.c	2005-12-16 17:39:27.000000000 +0100
+++ u-boot-1.1.4/board/barco/barco.c	2006-04-10 06:01:49.594293328 +0200
@@ -1,37 +1,6 @@
 /********************************************************************
  *
- * Unless otherwise specified, Copyright (C) 2004-2005 Barco Control Rooms
- *
- * $Source: /home/services/cvs/firmware/ppc/u-boot-1.1.2/board/barco/barco.c,v $
- * $Revision: 1.4 $
- * $Author: mleeman $
- * $Date: 2005/03/02 16:40:20 $
- *
- * Last ChangeLog Entry
- * $Log: barco.c,v $
- * Revision 1.4  2005/03/02 16:40:20  mleeman
- * remove empty labels (3.4 complains)
- *
- * Revision 1.3  2005/02/21 12:48:58  mleeman
- * update of copyright years (feedback wd)
- *
- * Revision 1.2  2005/02/21 10:10:53  mleeman
- * - split up switch statement to a function call (Linux kernel coding guidelines)
- *   ( feedback wd)
- *
- * Revision 1.1  2005/02/14 09:31:07  mleeman
- * renaming of files
- *
- * Revision 1.1  2005/02/14 09:23:46  mleeman
- * - moved 'barcohydra' directory to a more generic barco; since we will be
- *   supporting and adding multiple boards
- *
- * Revision 1.3  2005/02/10 13:57:32  mleeman
- * fixed flash corruption: I should exit from the moment I find the correct value
- *
- * Revision 1.2  2005/02/09 12:56:23  mleeman
- * add generic header to track changes in sources
- *
+ * Unless otherwise specified, Copyright (C) 2004-2006 Barco Control Rooms
  *
  *******************************************************************/
 
@@ -62,11 +31,36 @@
 #include <command.h>
 
 #include "config.h"
-#include "barco_svc.h"
+
+#include <flash.h>
+#include <asm/io.h>
+
+/* Defines for the bcd8245g1 firmware */
+#ifndef CFG_FLASH_ERASE_SECTOR_LENGTH
+#define CFG_FLASH_ERASE_SECTOR_LENGTH (0x10000)
+#endif
+
+#ifndef CFG_DEFAULT_KERNEL_ADDRESS
+#define CFG_DEFAULT_KERNEL_ADDRESS (CFG_FLASH_BASE + 0x30000)
+#endif
+
+#ifndef CFG_WORKING_KERNEL_ADDRESS
+#define CFG_WORKING_KERNEL_ADDRESS (0xFFE00000)
+#endif
+
+/* Prototypes */
+int checkboard(void);
+long int initdram(int board_type);
+void pci_init_board(void);
+void check_flash(void);
+int write_flash(char *addr, char value);
+unsigned find_boot_info(void);
+void final_boot(void);
 
 #define TRY_WORKING  (3)
 #define BOOT_DEFAULT (2)
 #define BOOT_WORKING (1)
+#define BOOT_SCRIPT (0)
 
 int checkboard (void)
 {
@@ -109,7 +103,7 @@
  * Initialize PCI Devices, report devices found.
  */
 #ifndef CONFIG_PCI_PNP
-static struct pci_config_table pci_barcohydra_config_table[] = {
+static struct pci_config_table pci_bcd8245g1_config_table[] = {
 	{ PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 0x0f, PCI_ANY_ID,
 	  pci_cfgfunc_config_device, { PCI_ENET0_IOADDR,
 				       PCI_ENET0_MEMADDR,
@@ -124,7 +118,7 @@
 
 struct pci_controller hose = {
 #ifndef CONFIG_PCI_PNP
-	config_table: pci_barcohydra_config_table,
+	config_table: pci_bcd8245g1_config_table,
 #endif
 };
 
@@ -172,130 +166,206 @@
 unsigned update_flash (unsigned char *buf)
 {
 	switch ((*buf) & 0x3) {
+	case BOOT_SCRIPT:
+		return BOOT_SCRIPT;
 	case TRY_WORKING:
 		printf ("found 3 and converted it to 2\n");
 		write_flash ((char *)buf, (*buf) & 0xFE);
 		*((unsigned char *)0xFF800000) = 0xF0;
 		udelay (100);
 		printf ("buf [%#010x] %#010x\n", buf, (*buf));
-		/* XXX - fall through??? */
+		/* We adjusted the "TRY_WORKING" to "DEFAULT" and now
+		 * we boot the working. If something goes wrong, we return
+		 * to the working default - fall through. */
 	case BOOT_WORKING :
 		return BOOT_WORKING;
 	}
 	return BOOT_DEFAULT;
 }
 
-unsigned scan_flash (void)
+char* find_section(char* section, char** endp)
 {
-	char section[] =  "kernel";
-	int cfgFileLen  =  (CFG_FLASH_ERASE_SECTOR_LENGTH >> 1);
-	int sectionPtr  = 0;
-	int foundItem   = 0; /* 0: None, 1: section found, 2: "=" found */
-	int bufPtr;
+	int config_len = (CFG_FLASH_ERASE_SECTOR_LENGTH >> 1);
+	char *startp;
 	unsigned char *buf;
+	unsigned i;
 
 	buf = (unsigned char*)(CFG_FLASH_RANGE_BASE + CFG_FLASH_RANGE_SIZE \
 			- CFG_FLASH_ERASE_SECTOR_LENGTH);
-	for (bufPtr = 0; bufPtr < cfgFileLen; ++bufPtr) {
-		if ((buf[bufPtr]==0xFF) && (*(int*)(buf+bufPtr)==0xFFFFFFFF)) {
-			return BOOT_DEFAULT;
-		}
-		/* This is the scanning loop, we try to find a particular
-		 * quoted value
-		 */
-		switch (foundItem) {
-		case 0:
-			if ((section[sectionPtr] == 0)) {
-				++foundItem;
-			} else if (buf[bufPtr] == section[sectionPtr]) {
-				++sectionPtr;
-			} else {
-				sectionPtr = 0;
+	startp = buf;
+
+	/* side effect: if endp is not set; look for it and return it */
+	if(!(*endp)) {
+		for(i = 0; i < config_len; i++) {
+			/* look for end of written flash (raw). note that we
+			 * always assume that at least one word is empty in flash */
+			if ((buf[i]==0xFF) && (*(int*)(buf+i)==0xFFFFFFFF)) {
+				*endp = &buf[i];
 			}
+		}
+	}
+
+	while(startp < *endp) {
+		if(!strncmp(startp, section, strlen(section))) {
+			/* found the section,
+			 * postion the pointer at the end of the section
+			 * inc 1 for the '=' sign */
+			return startp + strlen (section)+1;
+		}
+		else{
+			startp++;
+		}
+	}
+
+	/* oopsie, nothing found */
+	return NULL;
+}
+
+unsigned scan_flash_bootimage (void)
+{
+	char *p, *endp = NULL;
+
+	if (! (p = find_section("kernel",&endp))) {
+		return BOOT_DEFAULT;
+	}
+
+	if (*p != '"') {
+		return BOOT_DEFAULT;
+	}
+	else{
+		p++;
+		return update_flash (p);
+	}
+}
+
+char* scan_flash_bootcommand (void)
+{
+	char* bootcommand;
+	char *endp = NULL, *curp;
+	char *string;
+
+	if (!(bootcommand = find_section("bootloader", &endp))){
+		return NULL;
+	}
+	/* we now have the start pointer, we skip the first " char and
+	 * look for the next one. everything in between can be the parameters
+	 * to use for booting the board */
+	if(*bootcommand != '"') {
+		return NULL;
+	}
+	else{
+		bootcommand++;
+	}
+
+	curp = bootcommand;
+	while(curp < endp) {
+		if(*curp == '"') {
 			break;
-		case 1:
-			++foundItem;
-			break;
-		case 2:
-			++foundItem;
-			break;
-		case 3:
-		default:
-			return update_flash (&buf[bufPtr - 1]);
+		}
+		else{
+			curp++;
 		}
 	}
 
-	printf ("Failed to read %s\n",section);
-	return BOOT_DEFAULT;
+	string = (char*)malloc((curp - bootcommand) * sizeof(char));
+	strncpy(string,bootcommand,curp-bootcommand);
+	string[curp-bootcommand-1]='\0';
+
+	return string;
 }
 
-TSBootInfo* find_boot_info (void)
+unsigned find_boot_info (void)
 {
-	unsigned bootimage = scan_flash ();
-	TSBootInfo* info = (TSBootInfo*)malloc (sizeof(TSBootInfo));
+	unsigned bootimage = scan_flash_bootimage ();
+	unsigned address = 0x0;
+	char *command = NULL;
 
 	switch (bootimage) {
+	case BOOT_SCRIPT:
+		/* this should result in scanning the flash for a custom
+		 * command instead of the hardcoded factory and upgrade
+		 * addresses */
+		command = scan_flash_bootcommand();
+		if(!command) {
+			/* no command was found, do not break backwardward
+			 * compatibility */
+			setenv("bootargs", "noinitrd ip=bootp root=/dev/nfs rw");
+			address = CFG_WORKING_KERNEL_ADDRESS;
+		}
+		else{
+			/* Replace cr/lf with ' ' */
+			unsigned i = 0;
+
+			while (command[i] != 0) {
+				if ((command[i] == '\r') || (command[i] == '\n')) {
+					command[i] = ' ';
+				}
+				i++;
+			}
+
+			/* we got a valid command; we execute this before
+			 * continuing */
+			run_command(command,0);
+			address = simple_strtoul(getenv("bootaddr"),NULL,16);
+		}
+		printf("Script to pass to bootloader:\n>>%s<<\n",command);
+		break;
 	case TRY_WORKING:
-		info->address = CFG_WORKING_KERNEL_ADDRESS;
+		setenv("bootargs", "noinitrd root=/dev/mtdblock1 rw");
+		address = CFG_WORKING_KERNEL_ADDRESS;
 		break;
 	case BOOT_WORKING :
-		info->address = CFG_WORKING_KERNEL_ADDRESS;
+		setenv("bootargs", "noinitrd root=/dev/mtdblock1 rw");
+		address = CFG_WORKING_KERNEL_ADDRESS;
 		break;
 	case BOOT_DEFAULT:
 	default:
-		info->address= CFG_DEFAULT_KERNEL_ADDRESS;
+		setenv("bootargs", "noinitrd root=/dev/mtdblock0 ro");
+		address= CFG_DEFAULT_KERNEL_ADDRESS;
+
+	}
 
+	/* We need to keep this 8 bytes due to Benoit's userspace mess,
+	 * too large of an install base this is removed in newer board
+	 * configurations. */
+	unsigned *maskptr = (unsigned*)address;
+	maskptr++;
+	if(*maskptr == 0x55555555){
+		printf ("Dirty kernel image at %#10x, adjusting.\n", address);
+		address += 8;
 	}
-	info->size = *((unsigned int *)(info->address ));
 
-	return info;
+	return address;
 }
 
 void barcobcd_boot (void)
 {
-	TSBootInfo* start;
 	char *bootm_args[2];
-	char *buf;
-	int cnt;
 	extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
+	unsigned boot_address = 0x0;
 
-	buf = (char *)(0x00800000);
-	/* make certain there are enough chars to print the command line here!
-	 */
+	/* initialise RAM memory */
+	*((unsigned int *)0xFEC00000) = 0x00141A98;
+
+	/* make certain there are enough chars to print the command line
+	 * here */
 	bootm_args[0] = (char *)malloc (16*sizeof(char));
 	bootm_args[1] = (char *)malloc (16*sizeof(char));
 
-	start = find_boot_info ();
+	boot_address = find_boot_info ();
 
-	printf ("Booting kernel at address %#10x with size %#10x\n",
-			start->address, start->size);
+	printf ("Booting kernel at address %#10x\n", boot_address);
 
 	/* give length of the kernel image to bootm */
-	sprintf (bootm_args[0],"%x",start->size);
+	sprintf (bootm_args[0],"%x", 0);
 	/* give address of the kernel image to bootm */
-	sprintf (bootm_args[1],"%x",buf);
-
-	printf ("flash address: %#10x\n",start->address+8);
-	printf ("buf address: %#10x\n",buf);
+	sprintf (bootm_args[1],"%x",boot_address);
 
-	/* aha, we reserve 8 bytes here... */
-	for (cnt = 0; cnt < start->size ; cnt++) {
-		buf[cnt] = ((char *)start->address)[cnt+8];
-	}
-
-	/* initialise RAM memory */
-	*((unsigned int *)0xFEC00000) = 0x00141A98;
 	do_bootm (NULL,0,2,bootm_args);
 }
 
 int barcobcd_boot_image (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
-#if 0
-	if (argc > 1) {
-		printf ("Usage:\n (%d) %s\n", argc, cmdtp->usage);
-		return 1;
-	}
-#endif
 	barcobcd_boot ();
 
 	return 0;
@@ -321,6 +391,7 @@
 		" boot_default - check flash value and boot the appropriate image\n",
 		"\n"
 	  );
+
 /*
  * We are not using serial communication, so just provide empty functions
  */
Index: u-boot-1.1.4/include/configs/barco.h
===================================================================
--- u-boot-1.1.4.orig/include/configs/barco.h	2005-12-16 17:39:27.000000000 +0100
+++ u-boot-1.1.4/include/configs/barco.h	2006-04-10 06:01:49.768266880 +0200
@@ -1,23 +1,6 @@
 /********************************************************************
  *
- * Unless otherwise specified, Copyright (C) 2004-2005 Barco Control Rooms
- *
- * $Source: /home/services/cvs/firmware/ppc/u-boot-1.1.2/include/configs/barco.h,v $
- * $Revision: 1.2 $
- * $Author: mleeman $
- * $Date: 2005/02/21 12:48:58 $
- *
- * Last ChangeLog Entry
- * $Log: barco.h,v $
- * Revision 1.2  2005/02/21 12:48:58  mleeman
- * update of copyright years (feedback wd)
- *
- * Revision 1.1  2005/02/14 09:29:25  mleeman
- * moved barcohydra.h to barco.h
- *
- * Revision 1.4  2005/02/09 12:56:23  mleeman
- * add generic header to track changes in sources
- *
+ * Unless otherwise specified, Copyright (C) 2004-2006 Barco Control Rooms
  *
  *******************************************************************/
 
@@ -60,47 +43,57 @@
 
 #define CONFIG_MPC824X		1
 #define CONFIG_MPC8245		1
-#define CONFIG_BARCOBCD_STREAMING	1
-
-#undef USE_DINK32
+#define CONFIG_BARCO_BCD8245G1	1
 
-#define CONFIG_CONS_INDEX     3               /* set to '3' for on-chip DUART */
-#define CONFIG_BAUDRATE		9600
+#define CONFIG_CONS_INDEX	3               /* set to '3' for on-chip DUART */
+#define CONFIG_BAUDRATE		115200
 #define CONFIG_DRAM_SPEED	100		/* MHz				*/
 
-#define CONFIG_BOOTARGS "mem=32M"
 
 /* Add support for a few extra bootp options like:
  *	- File size
  *	- DNS
  */
 #define CONFIG_BOOTP_MASK	(CONFIG_BOOTP_DEFAULT | \
-				 CONFIG_BOOTP_BOOTFILESIZE | \
-				 CONFIG_BOOTP_DNS)
-
-#define CONFIG_COMMANDS		( CONFIG_CMD_DFL | \
-				  CFG_CMD_ELF    | \
-				  CFG_CMD_I2C 	 | \
-				  CFG_CMD_EEPROM | \
-				  CFG_CMD_PCI    )
+					CONFIG_BOOTP_SUBNETMASK | \
+					CONFIG_BOOTP_GATEWAY | \
+					CONFIG_BOOTP_BOOTFILESIZE \
+				)
+
+#define CONFIG_COMMANDS		( CONFIG_CMD_EEPROM |\
+					CFG_CMD_NET | \
+					CFG_CMD_PCI | \
+					CFG_CMD_DHCP )
 
 /* this must be included AFTER the definition of CONFIG_COMMANDS (if any)	*/
 #include <cmd_confdefs.h>
 
 #define CONFIG_HUSH_PARSER	1 /* use "hush" command parser */
 #define CONFIG_BOOTDELAY 	1
-#define CONFIG_BOOTCOMMAND 	"boot_default"
+#undef CONFIG_BOOTARGS	/* the boot command sets the bootargs */
+#if 0
+#define CONFIG_BOOTCOMMAND                                                      \
+	        "bootp; "                                                               \
+        "setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} "     \
+        "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; "   \
+        "bootm; "
+#else
+#define CONFIG_BOOTCOMMAND "boot_default"
+#endif
+
+#define CONFIG_NET_RETRY_COUNT (1)
 
 /*
  * Miscellaneous configurable options
  */
 #define CFG_LONGHELP		1		/* undef to save memory		*/
+#undef CFG_LONGHELP
 #define CFG_PROMPT		"=> "		/* Monitor Command Prompt	*/
 #define CFG_CBSIZE		256		/* Console I/O Buffer Size	*/
 #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16)	/* Print Buffer Size	*/
 #define CFG_MAXARGS		16		/* max number of command args	*/
 #define CFG_BARGSIZE		CFG_CBSIZE	/* Boot Argument Buffer Size	*/
-#define CFG_LOAD_ADDR		0x00100000	/* default load address		*/
+#define CFG_LOAD_ADDR		0x00400000	/* default load address		*/
 #define CFG_HZ			1000		/* decrementer freq: 1 ms ticks */
 
 
@@ -109,8 +102,9 @@
  *-----------------------------------------------------------------------
  */
 #define CONFIG_PCI				/* include pci support		*/
-#undef CONFIG_PCI_PNP
-#undef CFG_CMD_NET
+#define CONFIG_PCI_PNP
+#define CONFIG_NET_MULTI
+#define CONFIG_EEPRO100
 
 #define PCI_ENET0_IOADDR	0x80000000
 #define PCI_ENET0_MEMADDR	0x80000000
@@ -135,16 +129,6 @@
 
 #define CFG_RESET_ADDRESS	0xFFF00100
 
-#if defined (USE_DINK32)
-#define CFG_MONITOR_LEN		0x00030000
-#define CFG_MONITOR_BASE	0x00090000
-#define CFG_RAMBOOT		1
-#define CFG_INIT_RAM_ADDR	(CFG_MONITOR_BASE + CFG_MONITOR_LEN)
-#define CFG_INIT_RAM_END	0x10000
-#define CFG_GBL_DATA_SIZE	256  /* size in bytes reserved for initial data */
-#define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
-#define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET
-#else
 #undef	CFG_RAMBOOT
 #define CFG_MONITOR_LEN		0x00030000
 #define CFG_MONITOR_BASE	TEXT_BASE
@@ -155,8 +139,6 @@
 #define CFG_INIT_RAM_END      0x1000
 #define CFG_GBL_DATA_OFFSET  (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
 
-#endif
-
 #define CFG_FLASH_BASE		0xFFF00000
 #define CFG_FLASH_SIZE		(8 * 1024 * 1024)	/* Unity has onboard 1MByte flash */
 #define CFG_ENV_IS_IN_FLASH	1
Index: u-boot-1.1.4/board/barco/barco_svc.h
===================================================================
--- u-boot-1.1.4.orig/board/barco/barco_svc.h	2005-12-16 17:39:27.000000000 +0100
+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
@@ -1,68 +0,0 @@
-/********************************************************************
- *
- * Unless otherwise specified, Copyright (C) 2004-2005 Barco Control Rooms
- *
- * $Source: /home/services/cvs/firmware/ppc/u-boot-1.1.2/board/barco/barco_svc.h,v $
- * $Revision: 1.2 $
- * $Author: mleeman $
- * $Date: 2005/02/21 12:48:58 $
- *
- * Last ChangeLog Entry
- * $Log: barco_svc.h,v $
- * Revision 1.2  2005/02/21 12:48:58  mleeman
- * update of copyright years (feedback wd)
- *
- * Revision 1.1  2005/02/14 09:31:07  mleeman
- * renaming of files
- *
- * Revision 1.1  2005/02/14 09:23:46  mleeman
- * - moved 'barcohydra' directory to a more generic barco; since we will be
- *   supporting and adding multiple boards
- *
- * Revision 1.1  2005/02/08 15:40:19  mleeman
- * modified and added platform files
- *
- * Revision 1.2  2005/01/25 08:05:04  mleeman
- * more cleanup of the code
- *
- * Revision 1.1  2004/07/20 08:49:55  mleeman
- * Working version of the default and nfs kernel booting.
- *
- *
- *******************************************************************/
-
-#ifndef _LOCAL_BARCOHYDRA_H_
-#define _LOCAL_BARCOHYDRA_H_
-
-#include <flash.h>
-#include <asm/io.h>
-
-/* Defines for the barcohydra board */
-#ifndef CFG_FLASH_ERASE_SECTOR_LENGTH
-#define CFG_FLASH_ERASE_SECTOR_LENGTH (0x10000)
-#endif
-
-#ifndef CFG_DEFAULT_KERNEL_ADDRESS
-#define CFG_DEFAULT_KERNEL_ADDRESS (CFG_FLASH_BASE + 0x30000)
-#endif
-
-#ifndef CFG_WORKING_KERNEL_ADDRESS
-#define CFG_WORKING_KERNEL_ADDRESS (0xFFE00000)
-#endif
-
-
-typedef struct SBootInfo {
-	unsigned int address;
-	unsigned int size;
-	unsigned char state;
-}TSBootInfo;
-
-/* barcohydra.c */
-int checkboard(void);
-long int initdram(int board_type);
-void pci_init_board(void);
-void check_flash(void);
-int write_flash(char *addr, char value);
-TSBootInfo* find_boot_info(void);
-void final_boot(void);
-#endif
Index: u-boot-1.1.4/board/barco/README
===================================================================
--- u-boot-1.1.4.orig/board/barco/README	2005-12-16 17:39:27.000000000 +0100
+++ u-boot-1.1.4/board/barco/README	2006-04-10 06:01:49.929242408 +0200
@@ -3,6 +3,8 @@
 
    - Streaming Video Card (SVC)
    - Sample Compress Network (SCN)
+   - Source Capture Unit (SCU)
+   - Hydra Display Graphical Unit Card (H-DGUC)
 
 For more information, see http://www.barcocontrolrooms.com/
 
Index: u-boot-1.1.4/board/barco/flash.c
===================================================================
--- u-boot-1.1.4.orig/board/barco/flash.c	2005-12-16 17:39:27.000000000 +0100
+++ u-boot-1.1.4/board/barco/flash.c	2006-04-10 06:01:50.061222344 +0200
@@ -1,30 +1,3 @@
-/********************************************************************
- *
- * Unless otherwise specified, Copyright (C) 2004-2005 Barco Control Rooms
- *
- * $Source: /home/services/cvs/firmware/ppc/u-boot-1.1.2/board/barco/flash.c,v $
- * $Revision: 1.3 $
- * $Author: mleeman $
- * $Date: 2005/02/21 12:48:58 $
- *
- * Last ChangeLog Entry
- * $Log: flash.c,v $
- * Revision 1.3  2005/02/21 12:48:58  mleeman
- * update of copyright years (feedback wd)
- *
- * Revision 1.2  2005/02/21 11:04:04  mleeman
- * remove dead code and Coding style (feedback wd)
- *
- * Revision 1.1  2005/02/14 09:23:46  mleeman
- * - moved 'barcohydra' directory to a more generic barco; since we will be
- *   supporting and adding multiple boards
- *
- * Revision 1.2  2005/02/09 12:56:23  mleeman
- * add generic header to track changes in sources
- *
- *
- *******************************************************************/
-
 /*
  * (C) Copyright 2000
  * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
Index: u-boot-1.1.4/board/barco/speed.h
===================================================================
--- u-boot-1.1.4.orig/board/barco/speed.h	2005-12-16 17:39:27.000000000 +0100
+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
@@ -1,78 +0,0 @@
-/********************************************************************
- *
- * Unless otherwise specified, Copyright (C) 2004-2005 Barco Control Rooms
- *
- * $Source: /home/services/cvs/firmware/ppc/u-boot-1.1.2/board/barco/speed.h,v $
- * $Revision: 1.2 $
- * $Author: mleeman $
- * $Date: 2005/02/21 12:48:58 $
- *
- * Last ChangeLog Entry
- * $Log: speed.h,v $
- * Revision 1.2  2005/02/21 12:48:58  mleeman
- * update of copyright years (feedback wd)
- *
- * Revision 1.1  2005/02/14 09:23:46  mleeman
- * - moved 'barcohydra' directory to a more generic barco; since we will be
- *   supporting and adding multiple boards
- *
- * Revision 1.2  2005/02/09 12:56:23  mleeman
- * add generic header to track changes in sources
- *
- *
- *******************************************************************/
-
-/*
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
- *
- * 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
- */
-
-/*-----------------------------------------------------------------------
- * Timer value for timer 2, ICLK = 10
- *
- * SPEED_FCOUNT2 =  GCLK / (16 * (TIMER_TMR_PS + 1))
- * SPEED_TMR3_PS = (GCLK / (16 * SPEED_FCOUNT3)) - 1
- *
- * SPEED_FCOUNT2	timer 2 counting frequency
- * GCLK	      		CPU clock
- * SPEED_TMR2_PS	prescaler
- */
-#define SPEED_TMR2_PS  	(250 - 1)	/* divide by 250	*/
-
-/*-----------------------------------------------------------------------
- * Timer value for PIT
- *
- * PIT_TIME = SPEED_PITC / PITRTCLK
- * PITRTCLK = 8192
- */
-#define SPEED_PITC	(82 << 16)	/* start counting from 82	*/
-
-/*
- * The new value for PTA is calculated from
- *
- *	PTA = (gclk * Trefresh) / (2 ^ (2 * DFBRG) * PTP * NCS)
- *
- * gclk		CPU clock (not bus clock !)
- * Trefresh	Refresh cycle * 4 (four word bursts used)
- * DFBRG	For normal mode (no clock reduction) always 0
- * PTP		Prescaler (already adjusted for no. of banks and 4K / 8K refresh)
- * NCS		Number of SDRAM banks (chip selects) on this UPM.
- */
Index: u-boot-1.1.4/board/barco/u-boot.lds
===================================================================
--- u-boot-1.1.4.orig/board/barco/u-boot.lds	2005-12-16 17:39:27.000000000 +0100
+++ u-boot-1.1.4/board/barco/u-boot.lds	2006-04-10 11:13:38.049534528 +0200
@@ -101,11 +101,13 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  . = .;
   __u_boot_cmd_start = .;
   .u_boot_cmd : { *(.u_boot_cmd) }
   __u_boot_cmd_end = .;
 
 
+  . = .;
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: Digital signature
Url : http://lists.denx.de/pipermail/u-boot/attachments/20060412/cbd8f42b/attachment.pgp 


More information about the U-Boot mailing list