diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-ppc/global_data.h | 3 | ||||
| -rw-r--r-- | include/cmd_boota.h | 42 | ||||
| -rw-r--r-- | include/cmd_bsp.h | 110 | ||||
| -rw-r--r-- | include/cmd_confdefs.h | 51 | ||||
| -rw-r--r-- | include/cmd_menu.h | 42 | ||||
| -rw-r--r-- | include/common.h | 12 | ||||
| -rw-r--r-- | include/configs/AmigaOneG3SE.h | 383 | ||||
| -rw-r--r-- | include/configs/sbc8260.h | 79 | ||||
| -rw-r--r-- | include/part.h | 9 | ||||
| -rw-r--r-- | include/pci.h | 3 | ||||
| -rw-r--r-- | include/syscall.h | 7 | 
11 files changed, 639 insertions, 102 deletions
| diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h index 7cf234d18..34701803f 100644 --- a/include/asm-ppc/global_data.h +++ b/include/asm-ppc/global_data.h @@ -62,6 +62,9 @@ typedef	struct	global_data {  #if defined(CONFIG_SANDPOINT) || defined(CONFIG_MUSENKI)  	void *		console_addr;  #endif +#ifdef CONFIG_AMIGAONEG3SE +	unsigned long	relocaddr;	/* Start address of U-Boot in RAM */ +#endif  #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)  	unsigned long	fb_base;	/* Base address of framebuffer memory	*/  #endif diff --git a/include/cmd_boota.h b/include/cmd_boota.h new file mode 100644 index 000000000..3ec31183b --- /dev/null +++ b/include/cmd_boota.h @@ -0,0 +1,42 @@ +/* + * (C) Copyright 2001 + * Thomas Frieden, Hyperion Entertainment + * ThomasF@hyperion-entertainment.com + * + * 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 _CMD_BOOTA_H +#define _CMD_BOOTA_H + +#include <common.h> +#include <command.h> + +#if defined(CONFIG_AMIGAONEG3SE) && (CONFIG_COMMANDS & CFG_CMD_BSP) +#define CMD_TBL_BOOTA     MK_CMD_TBL_ENTRY(                      \ +        "boota", 5,   3,      1,      do_boota,                   \ +        "boota   - boot an Amiga kernel\n",                     \ +        "address disk"                                        \ +), + +int do_boota (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[] ); +#else +#define CMD_TBL_BOOTA +#endif + +#endif /* _CMD_BOOTA_H */ diff --git a/include/cmd_bsp.h b/include/cmd_bsp.h index b39d50bd2..e4b10414b 100644 --- a/include/cmd_bsp.h +++ b/include/cmd_bsp.h @@ -1,5 +1,5 @@  /* - * (C) Copyright 2001 + * (C) Copyright 2001, 2002   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -29,7 +29,7 @@  #if (CONFIG_COMMANDS & CFG_CMD_BSP) -/* ----- LWMON ----------------------------------------------------------------- +/* ----- LWMON ---------------------------------------------------------   */  #if defined(CONFIG_LWMON) @@ -54,10 +54,9 @@ int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  int do_lsb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  #endif	/* CONFIG_LWMON */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ -/* ----- PCU E ----------------------------------------------------------------- - */ +/* ----- PCU E -------------------------------------------------------- */  #if defined(CONFIG_PCU_E)  #define CMD_TBL_BSP	MK_CMD_TBL_ENTRY(					\ @@ -69,10 +68,9 @@ int do_lsb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  int do_puma (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  #endif	/* CONFIG_PCU_E */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ -/* ----- CCM/SCM --------------------------------------------------------------- - */ +/* ----- CCM/SCM ------------------------------------------------------ */  #if defined(CONFIG_CCM) || defined(CONFIG_SCM)  #define CMD_TBL_BSP	MK_CMD_TBL_ENTRY(					\ @@ -85,10 +83,9 @@ int do_puma (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  int do_fpga (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  #endif	/* CONFIG_CCM, CONFIG_SCM */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ -/* ----- PIP405 ----------------------------------------------------------------- - */ +/* ----- PIP405 ------------------------------------------------------- */  #if defined(CONFIG_PIP405)  #define	CMD_TBL_BSP MK_CMD_TBL_ENTRY(				\ @@ -101,9 +98,9 @@ int do_fpga (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  int do_pip405 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  #endif /* CONFIG_PIP405 */ -/* ----------------------------------------------------------------------------*/ -/* ----- MIP405 ----------------------------------------------------------------- - */ +/* --------------------------------------------------------------------	*/ + +/* ----- MIP405 ------------------------------------------------------- */  #if defined(CONFIG_MIP405)  #define	CMD_TBL_BSP MK_CMD_TBL_ENTRY(				\ @@ -115,10 +112,9 @@ int do_pip405 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  int do_mip405 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  #endif /* CONFIG_MIP405 */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ -/* ----- DASA_SIM --------------------------------------------------------------- - */ +/* ----- DASA_SIM ----------------------------------------------------- */  #if defined(CONFIG_DASA_SIM)  #define	CMD_TBL_BSP MK_CMD_TBL_ENTRY(				                \ @@ -130,10 +126,9 @@ int do_mip405 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  int do_pci9054 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  #endif /* CONFIG_DASA_SIM */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ -/* ----- HYMOD ----------------------------------------------------------------- - */ +/* ----- HYMOD -------------------------------------------------------- */  #if defined(CONFIG_HYMOD)  #define	CMD_TBL_BSP	MK_CMD_TBL_ENTRY(				\ @@ -171,8 +166,9 @@ int do_fpga (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  int do_eecl (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  #endif	/* CONFIG_HYMOD */ -/* ----------------------------------------------------------------------------*/ -/* CRAY405 (L1) */ +/* --------------------------------------------------------------------	*/ + +/* ----- CRAY405 (L1) ------------------------------------------------- */  #if defined (CONFIG_CRAYL1)  #define	CMD_TBL_BSP MK_CMD_TBL_ENTRY(						\  	"L1cmd",	5,	4,	1,	do_crayL1,			\ @@ -182,10 +178,10 @@ int do_eecl (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  ),  int do_crayL1 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  #endif /* CONFIG_CRAY405 */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ +/* ----- EVB64260 ----------------------------------------------------- */  #if defined (CONFIG_EVB64260) -/* ----- EVB64260 -------------------------------------------------------------*/  #ifdef CONFIG_ZUMA_V2  #define CMD_TBL_BSP  ZUMA_TBL_ENTRY @@ -218,9 +214,9 @@ int zuma_test_dma(int cmd, int size);  #endif /* ZUMA_NTL */  #endif /* CONFIG_EVB64260 */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ -/* -----W7O--------------------------------------------------------------------*/ +/* -----W7O------------------------------------------------------------ */  #if defined(CONFIG_W7O)  #define CMD_TBL_BSP MK_CMD_TBL_ENTRY(			\ @@ -233,18 +229,18 @@ int zuma_test_dma(int cmd, int size);  extern int do_vpd (cmd_tbl_t *, int, int, char *[]);  #endif	/* CONFIG_W7O */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ -/* ---- PCIPPC2 / PCIPPC6 -----------------------------------------------------*/ +/* ---- PCIPPC2 / PCIPPC6 --------------------------------------------- */  #if defined(CONFIG_PCIPPC2) || defined(CONFIG_PCIPPC6)  #if defined(CONFIG_WATCHDOG)  #define CMD_TBL_BSP MK_CMD_TBL_ENTRY(			\ -	"wd",	3,	2,	1,	do_wd,					\ -	"wd      - check and set watchdog\n",					\ -	"on   - switch watchDog on\n"							\ -	"wd off  - switch watchdog off\n"						\ -	"wd      - print current status\n"					\ +	"wd",	3,	2,	1,	do_wd,		\ +	"wd      - check and set watchdog\n",		\ +	"on   - switch watchDog on\n"			\ +	"wd off  - switch watchdog off\n"		\ +	"wd      - print current status\n"		\  ),  extern int do_wd (cmd_tbl_t *, int, int, char *[]); @@ -254,9 +250,9 @@ extern int do_wd (cmd_tbl_t *, int, int, char *[]);  #endif  /* CONFIG_WATCHDOG */  #endif	/* CONFIG_PCIPPC2 , CONFIG_PCIPPC6 */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ -/* ----- PN62 -----------------------------------------------------------------*/ +/* ----- PN62 --------------------------------------------------------- */  #if defined(CONFIG_PN62)  #define CMD_TBL_BSP MK_CMD_TBL_ENTRY(				\ @@ -274,40 +270,46 @@ extern int do_wd (cmd_tbl_t *, int, int, char *[]);  extern int do_loadpci (cmd_tbl_t *, int, int, char *[]);  extern int do_led (cmd_tbl_t *, int, int, char *[]);  #endif /* CONFIG_PN62 */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ -/* ----- TRAB ------------------------------------------------------------------ - */ +/* ----- TRAB --------------------------------------------------------- */  #if defined(CONFIG_TRAB) -#define	CMD_TBL_BSP	MK_CMD_TBL_ENTRY(					\ -	"kbd",	3,	1,	1,	do_kbd,					\ -	"kbd     - read keyboard status\n",					\ -	NULL									\ +#define	CMD_TBL_BSP	MK_CMD_TBL_ENTRY(			\ +	"kbd",	3,	1,	1,	do_kbd,			\ +	"kbd     - read keyboard status\n",			\ +	NULL							\  ),  int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  #endif	/* CONFIG_TRAB */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ -#else -#define CMD_TBL_BSP -#endif	/* CFG_CMD_BSP */ - -/* ----- R360MPI --------------------------------------------------------------- - */ +/* ----- R360MPI ------------------------------------------------------ */  #if defined(CONFIG_R360MPI) -#define	CMD_TBL_BSP	MK_CMD_TBL_ENTRY(					\ -	"kbd",	3,	1,	1,	do_kbd,					\ -	"kbd     - read keyboard status\n",					\ -	NULL									\ +#define	CMD_TBL_BSP	MK_CMD_TBL_ENTRY(			\ +	"kbd",	3,	1,	1,	do_kbd,			\ +	"kbd     - read keyboard status\n",			\ +	NULL							\  ),  int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  #endif	/* CONFIG_R360MPI */ -/* ----------------------------------------------------------------------------*/ +/* --------------------------------------------------------------------	*/ + +/* ------ AMIGAONEG3SE ------------------------------------------------ */ +#if defined(CONFIG_AMIGAONEG3SE) + +#define CMD_TBL_BSP	/* dummy */ + +#endif  /* AmigaOneG3SE */ +/* -------------------------------------------------------------------- */ + +#else +#define CMD_TBL_BSP +#endif	/* CFG_CMD_BSP */  #endif	/* _CMD_BSP_H_ */ diff --git a/include/cmd_confdefs.h b/include/cmd_confdefs.h index 25f386b95..c462c3f42 100644 --- a/include/cmd_confdefs.h +++ b/include/cmd_confdefs.h @@ -12,7 +12,7 @@   *   * 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 + * 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 @@ -24,8 +24,8 @@  /*   *  Definitions for Configuring the monitor commands   */ -#ifndef	_CMD_CONFIG_H -#define	_CMD_CONFIG_H +#ifndef _CMD_CONFIG_H +#define _CMD_CONFIG_H  /*   * Configurable monitor commands @@ -42,27 +42,27 @@  #define CFG_CMD_ENV		0x00000100	/* saveenv			*/  #define CFG_CMD_KGDB		0x00000200	/* kgdb				*/  #define CFG_CMD_PCMCIA		0x00000400	/* PCMCIA support		*/ -#define	CFG_CMD_IDE		0x00000800	/* IDE harddisk support		*/ -#define	CFG_CMD_PCI		0x00001000	/* pciinfo			*/ -#define	CFG_CMD_IRQ		0x00002000	/* irqinfo			*/ +#define CFG_CMD_IDE		0x00000800	/* IDE harddisk support		*/ +#define CFG_CMD_PCI		0x00001000	/* pciinfo			*/ +#define CFG_CMD_IRQ		0x00002000	/* irqinfo			*/  #define CFG_CMD_BOOTD		0x00004000	/* bootd			*/  #define CFG_CMD_CONSOLE		0x00008000	/* coninfo			*/  #define CFG_CMD_EEPROM		0x00010000	/* EEPROM read/write support	*/ -#define	CFG_CMD_ASKENV		0x00020000	/* ask for env variable		*/ -#define	CFG_CMD_RUN		0x00040000	/* run command in env variable	*/ -#define	CFG_CMD_ECHO		0x00080000	/* echo arguments		*/ -#define	CFG_CMD_I2C		0x00100000	/* I2C serial bus support	*/ -#define	CFG_CMD_REGINFO		0x00200000	/* Register dump		*/ -#define	CFG_CMD_IMMAP		0x00400000	/* IMMR dump support		*/ -#define	CFG_CMD_DATE		0x00800000	/* support for RTC, date/time...*/ +#define CFG_CMD_ASKENV		0x00020000	/* ask for env variable		*/ +#define CFG_CMD_RUN		0x00040000	/* run command in env variable	*/ +#define CFG_CMD_ECHO		0x00080000	/* echo arguments		*/ +#define CFG_CMD_I2C		0x00100000	/* I2C serial bus support	*/ +#define CFG_CMD_REGINFO		0x00200000	/* Register dump		*/ +#define CFG_CMD_IMMAP		0x00400000	/* IMMR dump support		*/ +#define CFG_CMD_DATE		0x00800000	/* support for RTC, date/time...*/  #define CFG_CMD_DHCP		0x01000000	/* DHCP Support			*/  #define CFG_CMD_BEDBUG		0x02000000	/* Include BedBug Debugger	*/ -#define	CFG_CMD_FDC		0x04000000	/* Floppy Disk Support		*/ -#define	CFG_CMD_SCSI		0x08000000	/* SCSI Support			*/ -#define	CFG_CMD_AUTOSCRIPT	0x10000000	/* Autoscript Support		*/ -#define	CFG_CMD_MII		0x20000000	/* MII support			*/ +#define CFG_CMD_FDC		0x04000000	/* Floppy Disk Support		*/ +#define CFG_CMD_SCSI		0x08000000	/* SCSI Support			*/ +#define CFG_CMD_AUTOSCRIPT	0x10000000	/* Autoscript Support		*/ +#define CFG_CMD_MII		0x20000000	/* MII support			*/  #define CFG_CMD_SETGETDCR	0x40000000	/* DCR support on 4xx		*/ -#define	CFG_CMD_BSP		0x80000000	/* Board Specific functions	*/ +#define CFG_CMD_BSP		0x80000000	/* Board Specific functions	*/  #define CFG_CMD_ELF	0x0000000100000000	/* ELF (VxWorks) load/boot cmd	*/  #define CFG_CMD_MISC	0x0000000200000000	/* Misc functions like sleep etc*/ @@ -70,13 +70,14 @@  #define CFG_CMD_DOC	0x0000000800000000	/* Disk-On-Chip Support		*/  #define CFG_CMD_JFFS2	0x0000001000000000	/* JFFS2 Support		*/  #define CFG_CMD_DTT	0x0000002000000000	/* Digital Therm and Thermostat */ -#define CFG_CMD_SDRAM	0x0000004000000000	/* SDRAM DIMM SPD info printout	*/ +#define CFG_CMD_SDRAM	0x0000004000000000	/* SDRAM DIMM SPD info printout */  #define CFG_CMD_DIAG	0x0000008000000000	/* Diagnostics			*/ -#define CFG_CMD_FPGA	0x0000010000000000	/* FPGA configuration Support   */ +#define CFG_CMD_FPGA	0x0000010000000000	/* FPGA configuration Support	*/  #define CFG_CMD_HWFLOW	0x0000020000000000	/* RTS/CTS hw flow control	*/  #define CFG_CMD_SAVES	0x0000040000000000	/* save S record dump		*/  #define CFG_CMD_SPI	0x0000100000000000	/* SPI utility			*/ -#define CFG_CMD_FDOS    0x0000200000000000      /* Floppy DOS support           */ +#define CFG_CMD_FDOS	0x0000200000000000	/* Floppy DOS support		*/ +#define CFG_CMD_VFD	0x0000400000000000	/* VFD support (TRAB)		*/  #define CFG_CMD_ALL	0xFFFFFFFFFFFFFFFF	/* ALL commands			*/ @@ -96,7 +97,7 @@  			CFG_CMD_EEPROM	| \  			CFG_CMD_ELF	| \  			CFG_CMD_FDC	| \ -                        CFG_CMD_FDOS    | \ +			CFG_CMD_FDOS	| \  			CFG_CMD_HWFLOW	| \  			CFG_CMD_I2C	| \  			CFG_CMD_IDE	| \ @@ -107,7 +108,7 @@  			CFG_CMD_MII	| \  			CFG_CMD_PCI	| \  			CFG_CMD_PCMCIA	| \ -			CFG_CMD_REGINFO	| \ +			CFG_CMD_REGINFO | \  			CFG_CMD_SAVES	| \  			CFG_CMD_SCSI	| \  			CFG_CMD_SDRAM	| \ @@ -117,10 +118,10 @@  /* Default configuration   */ -#define	CONFIG_CMD_DFL	(CFG_CMD_ALL & ~CFG_CMD_NONSTD) +#define CONFIG_CMD_DFL	(CFG_CMD_ALL & ~CFG_CMD_NONSTD)  #ifndef CONFIG_COMMANDS -#define CONFIG_COMMANDS	CONFIG_CMD_DFL +#define CONFIG_COMMANDS CONFIG_CMD_DFL  #endif diff --git a/include/cmd_menu.h b/include/cmd_menu.h new file mode 100644 index 000000000..ad1bd7fdc --- /dev/null +++ b/include/cmd_menu.h @@ -0,0 +1,42 @@ +/* + * (C) Copyright 2001 + * Hans-Jörg Frieden, Hyperion Entertainment + * Hans-JoergF@hyperion-entertainment.com + * + * 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 _CMD_MENU_H +#define _CMD_MENU_H + +#include <common.h> +#include <command.h> + +#if defined(CONFIG_AMIGAONEG3SE) && (CONFIG_COMMANDS & CFG_CMD_BSP) +#define CMD_TBL_MENU     MK_CMD_TBL_ENTRY(                      \ +        "menu", 3,   1,      1,      do_menu,                   \ +        "menu    - display BIOS setup menu\n",                     \ +        ""                                                      \ +), + +int do_menu( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[] ); +#else +#define CMD_TBL_MENU +#endif + +#endif /* _CMD_MENU_H */ diff --git a/include/common.h b/include/common.h index a950cdcc4..d9d5702a9 100644 --- a/include/common.h +++ b/include/common.h @@ -81,6 +81,18 @@ typedef	void (interrupt_handler_t)(void *);  /* + * General Purpose Utilities + */ +#define min(X, Y)				\ +	({ typeof (X) __x = (X), __y = (Y);	\ +		(__x < __y) ? __x : __y; }) + +#define max(X, Y)				\ +	({ typeof (X) __x = (X), __y = (Y);	\ +		(__x > __y) ? __x : __y; }) + + +/*   * Function Prototypes   */ diff --git a/include/configs/AmigaOneG3SE.h b/include/configs/AmigaOneG3SE.h new file mode 100644 index 000000000..7e40c5334 --- /dev/null +++ b/include/configs/AmigaOneG3SE.h @@ -0,0 +1,383 @@ +/* + * (C) Copyright 2002 + * Wolfgang Denk, DENX Software Engineering, wd@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 + */ + +/* + * + * Configuration settings for the AmigaOneG3SE board. + * + */ + +/* ------------------------------------------------------------------------- */ + +/* + * board/config.h - configuration options, board specific + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +/* + * High Level Configuration Options + * (easy to change) + */ + +#define CONFIG_AMIGAONEG3SE	1 + +#define CONFIG_BOARD_PRE_INIT	1 +#define CONFIG_MISC_INIT_R	1 + +#define CONFIG_VERY_BIG_RAM	1 + +#define CONFIG_CONS_INDEX	1 +#define CONFIG_BAUDRATE		9600 +#define CFG_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 } + +#undef CONFIG_CLOCKS_IN_MHZ		/* clocks passed to Linux in Hz */ + +#define CONFIG_BOOTARGS		"root=/dev/ram rw ramdisk=4096" + +#define CONFIG_BOOTP_MASK	(CONFIG_BOOTP_DEFAULT | \ +				 CONFIG_BOOTP_BOOTFILESIZE) + +#define CONFIG_MAC_PARTITION +#define CONFIG_DOS_PARTITION +#define CONFIG_AMIGA_PARTITION + +#define CONFIG_COMMANDS		(CONFIG_CMD_DFL | \ +				 CFG_CMD_ASKENV | \ +				 CFG_CMD_BSP	| \ +				 CFG_CMD_DATE	| \ +				 CFG_CMD_DHCP	| \ +				 CFG_CMD_ELF	| \ +				 CFG_CMD_NET	| \ +				 CFG_CMD_IDE	| \ +				 CFG_CMD_FDC	| \ +				 CFG_CMD_CACHE	| \ +				 CFG_CMD_CONSOLE| \ +				 CFG_CMD_USB	| \ +				 CFG_CMD_BSP	| \ +				 CFG_CMD_PCI	) + +/*				    CFG_CMD_MII	   | \ */ + +#define CONFIG_PCI		1 +/* #define CONFIG_PCI_SCAN_SHOW 1 */ +#define CONFIG_PCI_PNP		1	/* PCI plug-and-play */ + +/* This must be included AFTER the definition of CONFIG_COMMANDS (if any) + */ +#include <cmd_confdefs.h> + + +/* + * Miscellaneous configurable options + */ +#define CFG_LONGHELP			/* undef to save memory		*/ +#define CFG_PROMPT	"=> "		/* Monitor Command Prompt	*/ + +#define CFG_HUSH_PARSER		1	/* use "hush" command parser	*/ +/* #undef CFG_HUSH_PARSER */ +#ifdef	CFG_HUSH_PARSER +#define CFG_PROMPT_HUSH_PS2	"> " +#endif +#define CFG_CBSIZE	1024		/* Console I/O Buffer Size	*/ + +/* Print Buffer Size + */ +#define CFG_PBSIZE	(CFG_CBSIZE + sizeof(CFG_PROMPT) + 16) + +#define CFG_MAXARGS	64		/* max number of command args	*/ +#define CFG_BARGSIZE	CFG_CBSIZE	/* Boot Argument Buffer Size	*/ +#define CFG_LOAD_ADDR	0x00500000	/* Default load address		*/ + +/*----------------------------------------------------------------------- + * Start addresses for the final memory configuration + * (Set up by the startup code) + * Please note that CFG_SDRAM_BASE _must_ start at 0 + */ +#define CFG_SDRAM_BASE	    0x00000000 +#define CFG_FLASH_BASE	    0xFFF00000 +#define CFG_FLASH_MAX_SIZE  0x00080000 +/* Maximum amount of RAM. + */ +#define CFG_MAX_RAM_SIZE    0x80000000	/* 2G			*/ + +#define CFG_RESET_ADDRESS   0xFFF00100 + +#define CFG_MONITOR_BASE    TEXT_BASE + +#define CFG_MONITOR_LEN	    (768 << 10) /* Reserve 512 kB for Monitor	*/ +#define CFG_MALLOC_LEN	    (2500 << 10) /* Reserve 128 kB for malloc() */ + +#if CFG_MONITOR_BASE >= CFG_SDRAM_BASE && \ +    CFG_MONITOR_BASE < CFG_SDRAM_BASE + CFG_MAX_RAM_SIZE +#define CFG_RAMBOOT +#else +#undef CFG_RAMBOOT +#endif + +#define CFG_MEMTEST_START	0x00004000	/* memtest works on	*/ +#define CFG_MEMTEST_END		0x02000000	/* 0 ... 32 MB in DRAM	*/ + +/*----------------------------------------------------------------------- + * Definitions for initial stack pointer and data area + */ + +/* Size in bytes reserved for initial data + */ +#define CFG_INIT_RAM_ADDR	0x400000 +#define CFG_INIT_RAM_END	0x8000 +#define CFG_GBL_DATA_SIZE	128 +#define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) +#define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET + +#define CFG_INIT_RAM_LOCK + +/* + * Temporary buffer for serial data until the real serial driver + * is initialised (memtest will destroy this buffer) + */ +#define CFG_SCONSOLE_ADDR     CFG_INIT_RAM_ADDR +#define CFG_SCONSOLE_SIZE     0x0002000 + +/* SDRAM 0 - 256MB + */ + +#define CFG_IBAT0L (CFG_SDRAM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT) +#define CFG_IBAT0U (CFG_SDRAM_BASE | BATU_BL_4M | BATU_VS | BATU_VP) +#define CFG_DBAT0L (CFG_SDRAM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT) +#define CFG_DBAT0U CFG_IBAT0U + +/* SDRAM 1 - 256MB + */ +#define CFG_IBAT1L ((CFG_SDRAM_BASE+CFG_INIT_RAM_ADDR) | BATL_PP_RW) /* | BATL_CACHEINHIBIT) */ +#define CFG_IBAT1U ((CFG_SDRAM_BASE+CFG_INIT_RAM_ADDR) | BATU_BL_256M | BATU_VS | BATU_VP) +#define CFG_DBAT1L ((CFG_SDRAM_BASE+CFG_INIT_RAM_ADDR + 0x20000) | BATL_PP_RW ) /* | BATL_CACHEINHIBIT) */ +#define CFG_DBAT1U ((CFG_SDRAM_BASE+CFG_INIT_RAM_ADDR + 0x20000) | BATU_BL_256M | BATU_VS | BATU_VP) + +/* Init RAM in the CPU DCache (no backing memory) + */ +#define CFG_DBAT2L	(CFG_INIT_RAM_ADDR | BATL_PP_RW | BATL_MEMCOHERENCE) +#define CFG_DBAT2U	(CFG_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP) +#define CFG_IBAT2L	0 /* CFG_DBAT2L */ +#define CFG_IBAT2U	0 /* CFG_DBAT2U */ + +/* I/O and PCI memory at 0xf0000000 + */ +#define CFG_DBAT3L	(0xf0000000 | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) +#define CFG_DBAT3U	(0xf0000000 | BATU_BL_256M | BATU_VS | BATU_VP) + +#define CFG_IBAT3L	(0xf0000000 | BATL_PP_RW | BATL_CACHEINHIBIT) +#define CFG_IBAT3U	(0xf0000000 | BATU_BL_256M | BATU_VS | BATU_VP) + +/* + * Low Level Configuration Settings + * (address mappings, register initial values, etc.) + */ +#define CFG_HZ		1000 +#define CFG_BUS_HZ	133000000 /* bus speed - 100 mhz		*/ +#define CFG_CPU_CLK	133000000 +#define CFG_BUS_CLK	133000000 + +/* + * For booting Linux, the board info and command line data + * have to be in the first 8 MB of memory, since this is + * the maximum mapped by the Linux kernel during initialization. + */ +#define CFG_BOOTMAPSZ	(8 << 20) /* Initial Memory map for Linux */ + +/*----------------------------------------------------------------------- + * FLASH organization + */ +#define CFG_MAX_FLASH_BANKS	1	/* Max number of flash banks		*/ +#define CFG_MAX_FLASH_SECT	8	/* Max number of sectors in one bank	*/ + +#define CFG_FLASH_ERASE_TOUT	120000	/* Timeout for Flash Erase (in ms)	*/ +#define CFG_FLASH_WRITE_TOUT	1000	/* Timeout for Flash Write (in ms)	*/ + +/* + * Environment is stored in NVRAM. + */ +#define CFG_ENV_IS_IN_NVRAM	1 +#define CFG_ENV_ADDR		0xFD0E0000 /* This should be 0xFD0E0000, but we skip bytes to +					    * protect softex's settings for now. +					    * Original 768 bytes where not enough. +					    */ +#define CFG_ENV_SIZE		0x8000	   /* Size of the Environment. See comment above */ + +#define CFG_CONSOLE_IS_IN_ENV	1 /* stdin/stdout/stderr are in environment */ +#define CFG_CONSOLE_OVERWRITE_ROUTINE	1 +#define CONFIG_ENV_OVERWRITE 1 + +/*----------------------------------------------------------------------- + * Cache Configuration + */ +#define CFG_CACHELINE_SIZE	32 +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#  define CFG_CACHELINE_SHIFT	5	/* log base 2 of the above value	*/ +#endif + +/* + * L2 cache + */ +#define CFG_L2 +#define L2_INIT	  (L2CR_L2SIZ_2M | L2CR_L2CLK_3 | L2CR_L2RAM_BURST | \ +		   L2CR_L2OH_5 | L2CR_L2CTL | L2CR_L2WT) +#define L2_ENABLE (L2_INIT | L2CR_L2E) + +/* + * Internal Definitions + * + * Boot Flags + */ +#define BOOTFLAG_COLD		0x01	/* Normal Power-On: Boot from FLASH	*/ +#define BOOTFLAG_WARM		0x02	/* Software reboot			*/ + + +/*----------------------------------------------------------------------- + * IDE ATAPI Configuration + */ + +#define CONFIG_ATAPI		1 +#define CFG_IDE_MAXBUS		2 +#define CFG_IDE_MAXDEVICE	4 +#define CONFIG_ISO_PARTITION	1 + +#define CFG_ATA_BASE_ADDR	0xFE000000  /* was: via_get_base_addr() */ +#define CFG_ATA_IDE0_OFFSET	0x1F0 +#define CFG_ATA_IDE1_OFFSET	0x170 + +#define CFG_ATA_REG_OFFSET	0 +#define CFG_ATA_DATA_OFFSET	0 +#define CFG_ATA_ALT_OFFSET	0x0200 + +/*----------------------------------------------------------------------- + * Disk-On-Chip configuration + */ + +#define CFG_MAX_DOC_DEVICE	1	/* Max number of DOC devices		*/ + +#define CFG_DOC_SUPPORT_2000 +#undef CFG_DOC_SUPPORT_MILLENNIUM + +/*----------------------------------------------------------------------- +  RTC +*/ +#define CONFIG_RTC_MC146818 + +/*----------------------------------------------------------------------- + * NS16550 Configuration + */ + +#define CFG_NS16550 + +#define CFG_NS16550_COM1 0xFE0003F8 +#define CFG_NS16550_COM2 0xFE0002F8 + +#define CFG_NS16550_REG_SIZE 1 + +/* base address for ISA I/O + */ +#define CFG_ISA_IO_BASE_ADDRESS 0xFE000000 + +/* ISA Interrupt stuff (taken from JWL) */ + +#define ISA_INT1_OCW1		0x21 +#define ISA_INT2_OCW1		0xA1 +#define ISA_INT1_OCW2		0x20 +#define ISA_INT2_OCW2		0xA0 +#define ISA_INT1_OCW3		0x20 +#define ISA_INT2_OCW3		0xA0 + +#define ISA_INT1_ICW1		0x20 +#define ISA_INT2_ICW1		0xA0 +#define ISA_INT1_ICW2		0x21 +#define ISA_INT2_ICW2		0xA1 +#define ISA_INT1_ICW3		0x21 +#define ISA_INT2_ICW3		0xA1 +#define ISA_INT1_ICW4		0x21 +#define ISA_INT2_ICW4		0xA1 + + +/* + * misc + */ + +#define CONFIG_NET_MULTI +#define CFG_BOARD_ASM_INIT +#define CONFIG_LAST_STAGE_INIT + +/* #define CONFIG_ETHADDR	00:09:D2:10:00:76 */ +/* #define CONFIG_IPADDR	192.168.0.2 */ +/* #define CONFIG_NETMASK	255.255.255.240 */ +/* #define CONFIG_GATEWAYIP	192.168.0.3 */ + +#define CONFIG_3COM +/* #define CONFIG_BOOTP_RANDOM_DELAY */ +#define CONFIG_BOOTP_MASK	(CONFIG_BOOTP_DEFAULT | \ +				 CONFIG_BOOTP_BOOTFILESIZE) + +/* + * USB configuration + */ +#define CONFIG_USB_UHCI		1 +#define CONFIG_USB_STORAGE	1 +#define CONFIG_USB_KEYBOARD	1 +#define CFG_DEVICE_DEREGISTER	1 /* needed by CONFIG_USB_KEYBOARD */ + +/* + * Autoboot stuff + */ +#define CONFIG_BOOTDELAY	5 /* Boot automatically after five seconds */ +#define CONFIG_PREBOOT		"" +#define CONFIG_BOOTCOMMAND	"fdcboot; diskboot" +#define CONFIG_MENUPROMPT	"Press any key to interrupt autoboot: %2d " +#define CONFIG_MENUKEY		' ' +#define CONFIG_MENUCOMMAND	"menu" +/* #define CONFIG_AUTOBOOT_KEYED */ + +/* + * Extra ENV stuff + */ +#define CONFIG_EXTRA_ENV_SETTINGS		\ +	"stdout=vga\0"				\ +	"stdin=ps2kbd\0"			\ +	"ide_doreset=on\0"			\ +	"ide_maxbus=2\0"			\ +	"ide_cd_timeout=30\0"			\ +	"menucmd=menu\0"			\ +	"pci_irqa=9\0"				\ +	"pci_irqa_select=edge\0"		\ +	"pci_irqb=10\0"				\ +	"pci_irqb_select=edge\0"		\ +	"pci_irqc=11\0"				\ +	"pci_irqc_select=edge\0"		\ +	"pci_irqd=12\0"				\ +	"pci_irqd_select=edge\0" + + +/* #define CONFIG_MII		1 */ +/* #define CONFIG_BITBANGMII	1 */ + + +#endif	/* __CONFIG_H */ diff --git a/include/configs/sbc8260.h b/include/configs/sbc8260.h index ec6017938..d47c208f1 100644 --- a/include/configs/sbc8260.h +++ b/include/configs/sbc8260.h @@ -239,12 +239,12 @@  #endif /* CONFIG_ETHER_ON_FCC, CONFIG_ETHER_INDEX */  /* - * select SPI support configuration + * Select SPI support configuration   */ -#undef  CONFIG_SPI			/* enable SPI driver		*/ +#undef  CONFIG_SPI			/* Disable SPI driver */  /* - * select i2c support configuration + * Select i2c support configuration   *   * Supported configurations are {none, software, hardware} drivers.   * If the software driver is chosen, there are some additional @@ -284,7 +284,10 @@  /* What should the console's baud rate be? */  #define CONFIG_BAUDRATE		9600 -/* Ethernet MAC address */ +/* Ethernet MAC address  + *     Note: We are using the EST Corporation OUI (00:a0:1e:xx:xx:xx) + *           http://standards.ieee.org/regauth/oui/index.shtml + */  #define CONFIG_ETHADDR		00:a0:1e:a8:7b:cb  /* @@ -299,19 +302,53 @@  /* Set to a positive value to delay for running BOOTCOMMAND */  #define CONFIG_BOOTDELAY	5	/* autoboot after 5 seconds */ -#if 0  /* Be selective on what keys can delay or stop the autoboot process   *     To stop	use: " "   */ -# define CONFIG_AUTOBOOT_KEYED -# define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds, press \" \" to stop\n" -# define CONFIG_AUTOBOOT_STOP_STR	" " -# undef CONFIG_AUTOBOOT_DELAY_STR -# define DEBUG_BOOTKEYS		0 +#undef CONFIG_AUTOBOOT_KEYED +#ifdef CONFIG_AUTOBOOT_KEYED +#   define CONFIG_AUTOBOOT_PROMPT	"Autobooting in %d seconds, press \" \" to stop\n" +#   define CONFIG_AUTOBOOT_STOP_STR	" " +#   undef  CONFIG_AUTOBOOT_DELAY_STR +#   define DEBUG_BOOTKEYS		0  #endif  /* Define this to contain any number of null terminated strings that   * will be part of the default enviroment compiled into the boot image. + *  + * Variable		Usage + * --------------       ------------------------------------------------------- + * serverip		server IP address  + * ipaddr		my IP address + * reprog		Reload flash with a new copy of U-Boot + * zapenv		Erase the environment area in flash + * root-on-initrd       Set the bootcmd variable to allow booting of an initial + *                      ram disk. + * root-on-nfs          Set the bootcmd variable to allow booting of a NFS  + *                      mounted root filesystem. + * boot-hook            Convenient stub to do something useful before the  + *                      bootm command is executed. + *  + * Example usage of root-on-initrd and root-on-nfs : + * + * Note: The lines have been wrapped to improved its readability. + * + * => printenv bootcmd + * bootcmd=version;echo;bootp;setenv bootargs root=/dev/nfs rw + * nfsroot=$(serverip):$(rootpath)  + * ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off;run boot-hook;bootm + * + * => run root-on-initrd + * => printenv bootcmd + * bootcmd=version;echo;bootp;setenv bootargs root=/dev/ram0 rw + * ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off;run boot-hook;bootm + *  + * => run root-on-nfs + * => printenv bootcmd + * bootcmd=version;echo;bootp;setenv bootargs root=/dev/nfs rw + * nfsroot=$(serverip):$(rootpath)  + * ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off;run boot-hook;bootm + *   */  #define CONFIG_EXTRA_ENV_SETTINGS \  	"serverip=192.168.123.201\0" \ @@ -328,22 +365,22 @@  		"protect on 1:1\0" \  	"root-on-initrd="\  		"setenv bootcmd "\ -		"version;" \ -		"echo;" \ -		"bootp;" \ +		"version\\;" \ +		"echo\\;" \ +		"bootp\\;" \  		"setenv bootargs root=/dev/ram0 rw " \ -		"ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off;" \ -		"run boot-hook;" \ +		"ip=\\$(ipaddr):\\$(serverip):\\$(gatewayip):\\$(netmask):\\$(hostname)::off\\;" \ +		"run boot-hook\\;" \  		"bootm\0" \  	"root-on-nfs="\  		"setenv bootcmd "\ -		"version;" \ -		"echo;" \ -		"bootp;" \ +		"version\\;" \ +		"echo\\;" \ +		"bootp\\;" \  		"setenv bootargs root=/dev/nfs rw " \ -		"nfsroot=$(serverip):$(rootpath) " \ -		"ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off\\;" \ -		"run boot-hook;" \ +		"nfsroot=\\$(serverip):\\$(rootpath) " \ +		"ip=\\$(ipaddr):\\$(serverip):\\$(gatewayip):\\$(netmask):\\$(hostname)::off\\;" \ +		"run boot-hook\\;" \  		"bootm\0" \  	"boot-hook=echo boot-hook\0" diff --git a/include/part.h b/include/part.h index e43978c65..9aa9f5ab4 100644 --- a/include/part.h +++ b/include/part.h @@ -51,6 +51,8 @@ typedef struct block_dev_desc {  #define PART_TYPE_MAC		0x01  #define PART_TYPE_DOS		0x02  #define PART_TYPE_ISO		0x03 +#define PART_TYPE_AMIGA         0x04 +  /* device types */  #define DEV_TYPE_UNKNOWN 0xff /* not connected */  #define DEV_TYPE_HARDDISK 0x00 /* harddisk */ @@ -94,6 +96,13 @@ void print_part_iso (block_dev_desc_t *dev_desc);  int   test_part_iso (block_dev_desc_t *dev_desc);  #endif +#ifdef CONFIG_AMIGA_PARTITION +/* disk/part_amiga.c */ +int get_partition_info_amiga (block_dev_desc_t * dev_desc, int part, disk_partition_t *info); +void print_part_amiga (block_dev_desc_t *dev_desc); +int   test_part_amiga (block_dev_desc_t *dev_desc); +#endif +  #endif /* _PART_H */ diff --git a/include/pci.h b/include/pci.h index 487537526..e5055b175 100644 --- a/include/pci.h +++ b/include/pci.h @@ -375,6 +375,7 @@ struct pci_controller {  	/* Used by ppc405 autoconfig*/  	struct pci_region *pci_fb; +	int current_busno;  };  extern __inline__ void pci_set_ops(struct pci_controller *hose, @@ -457,7 +458,7 @@ extern void pciauto_setup_device(struct pci_controller *hose,  				 pci_dev_t dev, int bars_num,  				 struct pci_region *mem,  				 struct pci_region *io); -void pciauto_config_device(struct pci_controller *hose, pci_dev_t dev); +int pciauto_config_device(struct pci_controller *hose, pci_dev_t dev);  extern pci_dev_t pci_find_device (unsigned int vendor, unsigned int device, int index);  extern pci_dev_t pci_find_devices (struct pci_device_id *ids, int index); diff --git a/include/syscall.h b/include/syscall.h index f80d550ee..9b9be0dd5 100644 --- a/include/syscall.h +++ b/include/syscall.h @@ -15,10 +15,13 @@ void mon_install_hdlr(int, interrupt_handler_t*, void*);  void mon_free_hdlr(int);  void *mon_malloc(size_t);  void mon_free(void*); +void mon_udelay(unsigned long); +unsigned long mon_get_timer(unsigned long);  #endif    /* ifndef __ASSEMBLY__ */ -#define NR_SYSCALLS            9        /* number of syscalls */ +#define NR_SYSCALLS            11        /* number of syscalls */ +  /*   * Make sure these functions are in the same order as they @@ -33,5 +36,7 @@ void mon_free(void*);  #define SYSCALL_FREE_HDLR      6  #define SYSCALL_MALLOC         7  #define SYSCALL_FREE           8 +#define SYSCALL_UDELAY         9 +#define SYSCALL_GET_TIMER     10  #endif |