[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