diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-generic/global_data.h | 4 | ||||
| -rw-r--r-- | include/asm-generic/sections.h | 117 | ||||
| -rw-r--r-- | include/asm-generic/u-boot.h | 162 | ||||
| -rw-r--r-- | include/common.h | 2 | ||||
| -rw-r--r-- | include/config_cmd_all.h | 3 | ||||
| -rw-r--r-- | include/config_cmd_default.h | 3 | ||||
| -rw-r--r-- | include/configs/PCIPPC2.h | 251 | ||||
| -rw-r--r-- | include/configs/PCIPPC6.h | 265 | ||||
| -rw-r--r-- | include/configs/a3m071.h | 118 | ||||
| -rw-r--r-- | include/configs/ac14xx.h | 591 | ||||
| -rw-r--r-- | include/configs/aria.h | 23 | ||||
| -rw-r--r-- | include/configs/exynos5250-dt.h | 1 | ||||
| -rw-r--r-- | include/configs/km/keymile-common.h | 4 | ||||
| -rw-r--r-- | include/configs/km/km-powerpc.h | 4 | ||||
| -rw-r--r-- | include/configs/mecp5123.h | 24 | ||||
| -rw-r--r-- | include/configs/mpc5121ads.h | 23 | ||||
| -rw-r--r-- | include/configs/pdm360ng.h | 24 | ||||
| -rw-r--r-- | include/configs/tegra-common.h | 1 | ||||
| -rw-r--r-- | include/ide.h | 7 | ||||
| -rw-r--r-- | include/initcall.h | 25 | ||||
| -rw-r--r-- | include/watchdog.h | 18 | 
21 files changed, 1098 insertions, 572 deletions
| diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index b8ac02404..5416f468b 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -40,7 +40,7 @@  typedef struct global_data {  	bd_t *bd;  	unsigned long flags; -	unsigned long baudrate; +	unsigned int baudrate;  	unsigned long cpu_clk;	/* CPU clock in Hz!		*/  	unsigned long bus_clk;  	/* We cannot bracket this with CONFIG_PCI due to mpc5xxx */ @@ -81,6 +81,8 @@ typedef struct global_data {  	unsigned long reloc_off;  	struct global_data *new_gd;	/* relocated global data */  	const void *fdt_blob;	/* Our device tree, NULL if none */ +	void *new_fdt;		/* Relocated FDT */ +	unsigned long fdt_size;	/* Space reserved for relocated FDT */  	void **jt;		/* jump table */  	char env_buf[32];	/* buffer for getenv() before reloc. */  	struct arch_global_data arch;	/* architecture-specific data */ diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h new file mode 100644 index 000000000..cca1edb0c --- /dev/null +++ b/include/asm-generic/sections.h @@ -0,0 +1,117 @@ +/* + * Copyright (c) 2011 The Chromium OS Authors. + * + * 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 + */ + +/* Taken from Linux kernel, commit f56c3196 */ + +#ifndef _ASM_GENERIC_SECTIONS_H_ +#define _ASM_GENERIC_SECTIONS_H_ + +/* References to section boundaries */ + +extern char _text[], _stext[], _etext[]; +extern char _data[], _sdata[], _edata[]; +extern char __bss_start[], __bss_stop[]; +extern char __init_begin[], __init_end[]; +extern char _sinittext[], _einittext[]; +extern char _end[]; +extern char __per_cpu_load[], __per_cpu_start[], __per_cpu_end[]; +extern char __kprobes_text_start[], __kprobes_text_end[]; +extern char __entry_text_start[], __entry_text_end[]; +extern char __initdata_begin[], __initdata_end[]; +extern char __start_rodata[], __end_rodata[]; + +/* Start and end of .ctors section - used for constructor calls. */ +extern char __ctors_start[], __ctors_end[]; + +/* function descriptor handling (if any).  Override + * in asm/sections.h */ +#ifndef dereference_function_descriptor +#define dereference_function_descriptor(p) (p) +#endif + +/* random extra sections (if any).  Override + * in asm/sections.h */ +#ifndef arch_is_kernel_text +static inline int arch_is_kernel_text(unsigned long addr) +{ +	return 0; +} +#endif + +#ifndef arch_is_kernel_data +static inline int arch_is_kernel_data(unsigned long addr) +{ +	return 0; +} +#endif + +/* U-Boot-specific things begin here */ + +/* Start of U-Boot text region */ +extern char __text_start[]; + +/* This marks the end of the text region which must be relocated */ +extern char __image_copy_end[]; + +/* + * This is the U-Boot entry point - prior to relocation it should be same + * as __text_start + */ +extern void _start(void); + +/* + * ARM needs to use offsets for symbols, since the values of some symbols + * are not resolved prior to relocation (and are just 0). Maybe this can be + * resolved, or maybe other architectures are similar, iwc this should be + * promoted to an architecture option. + */ +#ifdef CONFIG_ARM +#define CONFIG_SYS_SYM_OFFSETS +#endif + +#ifdef CONFIG_SYS_SYM_OFFSETS +/* Start/end of the relocation entries, as an offset from _start */ +extern ulong _rel_dyn_start_ofs; +extern ulong _rel_dyn_end_ofs; + +/* Start/end of the relocation symbol table, as an offset from _start */ +extern ulong _dynsym_start_ofs; + +/* End of the region to be relocated, as an offset form _start */ +extern ulong _image_copy_end_ofs; + +extern ulong _bss_start_ofs;	/* BSS start relative to _start */ +extern ulong _bss_end_ofs;		/* BSS end relative to _start */ +extern ulong _end_ofs;		/* end of image relative to _start */ + +extern ulong _TEXT_BASE;	/* code start */ + +#else /* don't use offsets: */ + +/* Exports from the Linker Script */ +extern ulong __data_end; +extern ulong __rel_dyn_start; +extern ulong __rel_dyn_end; +extern ulong __bss_end; + +extern ulong _TEXT_BASE;	/* code start */ + +#endif + +#endif /* _ASM_GENERIC_SECTIONS_H_ */ diff --git a/include/asm-generic/u-boot.h b/include/asm-generic/u-boot.h new file mode 100644 index 000000000..a9aa8baf0 --- /dev/null +++ b/include/asm-generic/u-boot.h @@ -0,0 +1,162 @@ +/* + * Copyright (c) 2011 The Chromium OS Authors. + * + * (C) Copyright 2000 - 2002 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * 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 + * + ******************************************************************** + * NOTE: This header file defines an interface to U-Boot. Including + * this (unmodified) header file in another file is considered normal + * use of U-Boot, and does *not* fall under the heading of "derived + * work". + ******************************************************************** + */ + +#ifndef __ASM_GENERIC_U_BOOT_H__ +#define __ASM_GENERIC_U_BOOT_H__ + +/* + * Board information passed to Linux kernel from U-Boot + * + * include/asm-ppc/u-boot.h + */ + +#ifndef __ASSEMBLY__ + +typedef struct bd_info { +	unsigned long	bi_memstart;	/* start of DRAM memory */ +	phys_size_t	bi_memsize;	/* size	 of DRAM memory in bytes */ +	unsigned long	bi_flashstart;	/* start of FLASH memory */ +	unsigned long	bi_flashsize;	/* size	 of FLASH memory */ +	unsigned long	bi_flashoffset; /* reserved area for startup monitor */ +	unsigned long	bi_sramstart;	/* start of SRAM memory */ +	unsigned long	bi_sramsize;	/* size	 of SRAM memory */ +#ifdef CONFIG_ARM +	unsigned long	bi_arm_freq; /* arm frequency */ +	unsigned long	bi_dsp_freq; /* dsp core frequency */ +	unsigned long	bi_ddr_freq; /* ddr frequency */ +#endif +#if defined(CONFIG_5xx) || defined(CONFIG_8xx) || defined(CONFIG_8260) \ +	|| defined(CONFIG_E500) || defined(CONFIG_MPC86xx) +	unsigned long	bi_immr_base;	/* base of IMMR register */ +#endif +#if defined(CONFIG_MPC5xxx) +	unsigned long	bi_mbar_base;	/* base of internal registers */ +#endif +#if defined(CONFIG_MPC83xx) +	unsigned long	bi_immrbar; +#endif +#if defined(CONFIG_MPC8220) +	unsigned long	bi_mbar_base;	/* base of internal registers */ +	unsigned long   bi_inpfreq;     /* Input Freq, In MHz */ +	unsigned long   bi_pcifreq;     /* PCI Freq, in MHz */ +	unsigned long   bi_pevfreq;     /* PEV Freq, in MHz */ +	unsigned long   bi_flbfreq;     /* Flexbus Freq, in MHz */ +	unsigned long   bi_vcofreq;     /* VCO Freq, in MHz */ +#endif +	unsigned long	bi_bootflags;	/* boot / reboot flag (Unused) */ +	unsigned long	bi_ip_addr;	/* IP Address */ +	unsigned char	bi_enetaddr[6];	/* OLD: see README.enetaddr */ +	unsigned short	bi_ethspeed;	/* Ethernet speed in Mbps */ +	unsigned long	bi_intfreq;	/* Internal Freq, in MHz */ +	unsigned long	bi_busfreq;	/* Bus Freq, in MHz */ +#if defined(CONFIG_CPM2) +	unsigned long	bi_cpmfreq;	/* CPM_CLK Freq, in MHz */ +	unsigned long	bi_brgfreq;	/* BRG_CLK Freq, in MHz */ +	unsigned long	bi_sccfreq;	/* SCC_CLK Freq, in MHz */ +	unsigned long	bi_vco;		/* VCO Out from PLL, in MHz */ +#endif +#if defined(CONFIG_MPC512X) +	unsigned long	bi_ipsfreq;	/* IPS Bus Freq, in MHz */ +#endif /* CONFIG_MPC512X */ +#if defined(CONFIG_MPC5xxx) +	unsigned long	bi_ipbfreq;	/* IPB Bus Freq, in MHz */ +	unsigned long	bi_pcifreq;	/* PCI Bus Freq, in MHz */ +#endif +	unsigned int	bi_baudrate;	/* Console Baudrate */ +#if defined(CONFIG_405)   || \ +		defined(CONFIG_405GP) || \ +		defined(CONFIG_405CR) || \ +		defined(CONFIG_405EP) || \ +		defined(CONFIG_405EZ) || \ +		defined(CONFIG_405EX) || \ +		defined(CONFIG_440) +	unsigned char	bi_s_version[4];	/* Version of this structure */ +	unsigned char	bi_r_version[32];	/* Version of the ROM (AMCC) */ +	unsigned int	bi_procfreq;	/* CPU (Internal) Freq, in Hz */ +	unsigned int	bi_plb_busfreq;	/* PLB Bus speed, in Hz */ +	unsigned int	bi_pci_busfreq;	/* PCI Bus speed, in Hz */ +	unsigned char	bi_pci_enetaddr[6];	/* PCI Ethernet MAC address */ +#endif +#if defined(CONFIG_HYMOD) +	hymod_conf_t	bi_hymod_conf;	/* hymod configuration information */ +#endif + +#ifdef CONFIG_HAS_ETH1 +	unsigned char   bi_enet1addr[6];	/* OLD: see README.enetaddr */ +#endif +#ifdef CONFIG_HAS_ETH2 +	unsigned char	bi_enet2addr[6];	/* OLD: see README.enetaddr */ +#endif +#ifdef CONFIG_HAS_ETH3 +	unsigned char   bi_enet3addr[6];	/* OLD: see README.enetaddr */ +#endif +#ifdef CONFIG_HAS_ETH4 +	unsigned char   bi_enet4addr[6];	/* OLD: see README.enetaddr */ +#endif +#ifdef CONFIG_HAS_ETH5 +	unsigned char   bi_enet5addr[6];	/* OLD: see README.enetaddr */ +#endif + +#if defined(CONFIG_405GP) || defined(CONFIG_405EP) || \ +		defined(CONFIG_405EZ) || defined(CONFIG_440GX) || \ +		defined(CONFIG_440EP) || defined(CONFIG_440GR) || \ +		defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \ +		defined(CONFIG_460EX) || defined(CONFIG_460GT) +	unsigned int	bi_opbfreq;		/* OPB clock in Hz */ +	int		bi_iic_fast[2];		/* Use fast i2c mode */ +#endif +#if defined(CONFIG_NX823) +	unsigned char	bi_sernum[8]; +#endif +#if defined(CONFIG_4xx) +#if defined(CONFIG_440GX) || \ +		defined(CONFIG_460EX) || defined(CONFIG_460GT) +	int		bi_phynum[4];           /* Determines phy mapping */ +	int		bi_phymode[4];          /* Determines phy mode */ +#elif defined(CONFIG_405EP) || defined(CONFIG_405EX) || defined(CONFIG_440) +	int		bi_phynum[2];           /* Determines phy mapping */ +	int		bi_phymode[2];          /* Determines phy mode */ +#else +	int		bi_phynum[1];           /* Determines phy mapping */ +	int		bi_phymode[1];          /* Determines phy mode */ +#endif +#endif /* defined(CONFIG_4xx) */ +	ulong	        bi_arch_number;	/* unique id for this board */ +	ulong	        bi_boot_params;	/* where this board expects params */ +#ifdef CONFIG_NR_DRAM_BANKS +	struct {			/* RAM configuration */ +		ulong start; +		ulong size; +	} bi_dram[CONFIG_NR_DRAM_BANKS]; +#endif /* CONFIG_NR_DRAM_BANKS */ +} bd_t; + +#endif /* __ASSEMBLY__ */ + +#endif	/* __ASM_GENERIC_U_BOOT_H__ */ diff --git a/include/common.h b/include/common.h index 6d5292422..d41aeb4f4 100644 --- a/include/common.h +++ b/include/common.h @@ -311,6 +311,8 @@ extern ulong monitor_flash_len;  int mac_read_from_eeprom(void);  extern u8 _binary_dt_dtb_start[];	/* embedded device tree blob */  int set_cpu_clk_info(void); +int print_cpuinfo(void); +int update_flash_size(int flash_size);  /**   * Show the DRAM size in a board-specific way diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h index 0930781d8..53a2f054f 100644 --- a/include/config_cmd_all.h +++ b/include/config_cmd_all.h @@ -57,7 +57,8 @@  #define CONFIG_CMD_LOADB	/* loadb			*/  #define CONFIG_CMD_LOADS	/* loads			*/  #define CONFIG_CMD_MEMINFO	/* meminfo			*/ -#define CONFIG_CMD_MEMORY	/* md mm nm mw cp cmp crc base loop mtest */ +#define CONFIG_CMD_MEMORY	/* md mm nm mw cp cmp crc base loop */ +#define CONFIG_CMD_MEMTEST	/* mtest			*/  #define CONFIG_CMD_MFSL		/* FSL support for Microblaze	*/  #define CONFIG_CMD_MII		/* MII support			*/  #define CONFIG_CMD_MISC		/* Misc functions like sleep etc*/ diff --git a/include/config_cmd_default.h b/include/config_cmd_default.h index 6e3903c4d..a52110396 100644 --- a/include/config_cmd_default.h +++ b/include/config_cmd_default.h @@ -30,7 +30,8 @@  #endif  #define CONFIG_CMD_LOADB	/* loadb			*/  #define CONFIG_CMD_LOADS	/* loads			*/ -#define CONFIG_CMD_MEMORY	/* md mm nm mw cp cmp crc base loop mtest */ +#define CONFIG_CMD_MEMORY	/* md mm nm mw cp cmp crc base loop */ +#define CONFIG_CMD_MEMTEST	/* mtest			*/  #define CONFIG_CMD_MISC		/* Misc functions like sleep etc*/  #define CONFIG_CMD_NET		/* bootp, tftpboot, rarpboot	*/  #define CONFIG_CMD_NFS		/* NFS support			*/ diff --git a/include/configs/PCIPPC2.h b/include/configs/PCIPPC2.h deleted file mode 100644 index 90cee881a..000000000 --- a/include/configs/PCIPPC2.h +++ /dev/null @@ -1,251 +0,0 @@ -/* - * (C) Copyright 2002-2005 - * 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 PCIPPC-2 board. - * - */ - -/* ------------------------------------------------------------------------- */ - -/* - * board/config.h - configuration options, board specific - */ - -#ifndef __CONFIG_H -#define __CONFIG_H - -/* - * High Level Configuration Options - * (easy to change) - */ - -#define CONFIG_PCIPPC2		1	/* this is a PCIPPC2 board	*/ - -#define	CONFIG_SYS_TEXT_BASE	0xfff00000 - -#define CONFIG_BOARD_EARLY_INIT_F 1 -#define CONFIG_MISC_INIT_R	1 - -#define CONFIG_CONS_INDEX	1 -#define CONFIG_BAUDRATE		9600 - -#define CONFIG_PREBOOT		"" -#define CONFIG_BOOTDELAY	5 - -#ifndef __ASSEMBLY__ -#include <galileo/core.h> -#endif - -/* - * BOOTP options - */ -#define CONFIG_BOOTP_SUBNETMASK -#define CONFIG_BOOTP_GATEWAY -#define CONFIG_BOOTP_HOSTNAME -#define CONFIG_BOOTP_BOOTPATH -#define CONFIG_BOOTP_BOOTFILESIZE - -#define CONFIG_MAC_PARTITION -#define CONFIG_DOS_PARTITION - - -/* - * Command line configuration. - */ -#include <config_cmd_default.h> - -#define CONFIG_CMD_ASKENV -#define CONFIG_CMD_BSP -#define CONFIG_CMD_DATE -#define CONFIG_CMD_DHCP -#define CONFIG_CMD_ELF -#define CONFIG_CMD_NFS -#define CONFIG_CMD_PCI -#define CONFIG_CMD_SNTP - -#define CONFIG_PCI		1 -#define CONFIG_PCI_PNP		1	/* PCI plug-and-play */ - -/* - * Miscellaneous configurable options - */ -#define CONFIG_SYS_LONGHELP			/* undef to save memory		*/ -#define CONFIG_SYS_PROMPT	"=> "		/* Monitor Command Prompt	*/ - -#define	CONFIG_SYS_HUSH_PARSER		1	/* use "hush" command parser	*/ -#define CONFIG_SYS_CBSIZE	256		/* Console I/O Buffer Size	*/ - -/* Print Buffer Size - */ -#define CONFIG_SYS_PBSIZE	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) - -#define	CONFIG_SYS_MAXARGS	64		/* max number of command args	*/ -#define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size	*/ -#define CONFIG_SYS_LOAD_ADDR	0x00100000	/* Default load address		*/ - -/*----------------------------------------------------------------------- - * Start addresses for the final memory configuration - * (Set up by the startup code) - * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0 - */ -#define CONFIG_SYS_SDRAM_BASE	    0x00000000 -#define CONFIG_SYS_FLASH_BASE	    0xFFF00000 -#define CONFIG_SYS_FLASH_MAX_SIZE  0x00100000 -/* Maximum amount of RAM. - */ -#define CONFIG_SYS_MAX_RAM_SIZE    0x20000000  /* 512Mb			*/ - -#define CONFIG_SYS_RESET_ADDRESS   0xFFF00100 - -#define CONFIG_SYS_MONITOR_BASE    CONFIG_SYS_TEXT_BASE - -#define CONFIG_SYS_MONITOR_LEN	    (256 << 10) /* Reserve 256 kB for Monitor	*/ -#define CONFIG_SYS_MALLOC_LEN	    (128 << 10) /* Reserve 128 kB for malloc()	*/ - -#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_SDRAM_BASE && \ -    CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_MAX_RAM_SIZE -#define CONFIG_SYS_RAMBOOT -#else -#undef CONFIG_SYS_RAMBOOT -#endif - -#define CONFIG_SYS_MEMTEST_START   0x00004000	/* memtest works on		*/ -#define CONFIG_SYS_MEMTEST_END	    0x02000000	/* 0 ... 32 MB in DRAM		*/ - -/*----------------------------------------------------------------------- - * Definitions for initial stack pointer and data area - */ - -#define CONFIG_SYS_INIT_RAM_ADDR     0x40000000 -#define CONFIG_SYS_INIT_RAM_SIZE      0x8000 -#define CONFIG_SYS_GBL_DATA_OFFSET  (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) -#define CONFIG_SYS_INIT_SP_OFFSET    CONFIG_SYS_GBL_DATA_OFFSET - -#define CONFIG_SYS_INIT_RAM_LOCK - -/* - * Temporary buffer for serial data until the real serial driver - * is initialised (memtest will destroy this buffer) - */ -#define CONFIG_SYS_SCONSOLE_ADDR     CONFIG_SYS_INIT_RAM_ADDR -#define CONFIG_SYS_SCONSOLE_SIZE     0x0002000 - -/* SDRAM 0 - 256MB - */ -#define CONFIG_SYS_DBAT0L	      (CONFIG_SYS_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE) -#define CONFIG_SYS_DBAT0U	      (CONFIG_SYS_SDRAM_BASE | \ -			       BATU_BL_256M | BATU_VS | BATU_VP) -/* SDRAM 1 - 256MB - */ -#define CONFIG_SYS_DBAT1L	      ((CONFIG_SYS_SDRAM_BASE + 0x10000000) | \ -			       BATL_PP_10 | BATL_MEMCOHERENCE) -#define CONFIG_SYS_DBAT1U	      ((CONFIG_SYS_SDRAM_BASE + 0x10000000) | \ -			       BATU_BL_256M | BATU_VS | BATU_VP) - -/* Init RAM in the CPU DCache (no backing memory) - */ -#define CONFIG_SYS_DBAT2L	      (CONFIG_SYS_INIT_RAM_ADDR | \ -			       BATL_PP_10 | BATL_MEMCOHERENCE) -#define CONFIG_SYS_DBAT2U	      (CONFIG_SYS_INIT_RAM_ADDR | \ -			       BATU_BL_128K | BATU_VS | BATU_VP) - -/* I/O and PCI memory at 0xf0000000 - */ -#define CONFIG_SYS_DBAT3L	      (0xf0000000 | BATL_PP_10 | BATL_CACHEINHIBIT) -#define CONFIG_SYS_DBAT3U	      (0xf0000000 | BATU_BL_256M | BATU_VS | BATU_VP) - -#define CONFIG_SYS_IBAT0L	      CONFIG_SYS_DBAT0L -#define CONFIG_SYS_IBAT0U	      CONFIG_SYS_DBAT0U -#define CONFIG_SYS_IBAT1L	      CONFIG_SYS_DBAT1L -#define CONFIG_SYS_IBAT1U	      CONFIG_SYS_DBAT1U -#define CONFIG_SYS_IBAT2L	      CONFIG_SYS_DBAT2L -#define CONFIG_SYS_IBAT2U	      CONFIG_SYS_DBAT2U -#define CONFIG_SYS_IBAT3L	      CONFIG_SYS_DBAT3L -#define CONFIG_SYS_IBAT3U	      CONFIG_SYS_DBAT3U - -/* - * Low Level Configuration Settings - * (address mappings, register initial values, etc.) - * You should know what you are doing if you make changes here. - * For the detail description refer to the PCIPPC2 user's manual. - */ -#define CONFIG_SYS_HZ		      1000 -#define CONFIG_SYS_BUS_CLK            100000000 /* bus speed - 100 mhz          */ -#define CONFIG_SYS_CPU_CLK	      300000000 - -/* - * 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 CONFIG_SYS_BOOTMAPSZ	      (8 << 20)	/* Initial Memory map for Linux */ - -/*----------------------------------------------------------------------- - * FLASH organization - */ -#define CONFIG_SYS_MAX_FLASH_BANKS	1	/* Max number of flash banks		*/ -#define CONFIG_SYS_MAX_FLASH_SECT	16	/* Max number of sectors in one bank	*/ - -#define CONFIG_SYS_FLASH_ERASE_TOUT	120000	/* Timeout for Flash Erase (in ms)	*/ -#define CONFIG_SYS_FLASH_WRITE_TOUT	1000	/* Timeout for Flash Write (in ms)	*/ - -/* - * Note: environment is not EMBEDDED in the U-Boot code. - * It's stored in flash separately. - */ -#define CONFIG_ENV_IS_IN_FLASH	1 -#define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + 0x70000) -#define CONFIG_ENV_SIZE		0x1000	/* Size of the Environment		*/ -#define CONFIG_ENV_SECT_SIZE	0x10000 /* Size of the Environment Sector	*/ - -/*----------------------------------------------------------------------- - * Cache Configuration - */ -#define CONFIG_SYS_CACHELINE_SIZE	32 -#if defined(CONFIG_CMD_KGDB) -#  define CONFIG_SYS_CACHELINE_SHIFT	5	/* log base 2 of the above value	*/ -#endif - -/* - * L2 cache - */ -#undef CONFIG_SYS_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) - -/*----------------------------------------------------------------------- -  RTC m48t59 -*/ -#define CONFIG_RTC_MK48T59 - -#define CONFIG_WATCHDOG - - -#define CONFIG_EEPRO100 -#define CONFIG_SYS_RX_ETH_BUFFER	8               /* use 8 rx buffer on eepro100  */ -#define CONFIG_TULIP - -#endif	/* __CONFIG_H */ diff --git a/include/configs/PCIPPC6.h b/include/configs/PCIPPC6.h deleted file mode 100644 index 10b81c1a7..000000000 --- a/include/configs/PCIPPC6.h +++ /dev/null @@ -1,265 +0,0 @@ -/* - * (C) Copyright 2002-2005 - * 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 PCIPPC-6 board. - * - */ - -/* ------------------------------------------------------------------------- */ - -/* - * board/config.h - configuration options, board specific - */ - -#ifndef __CONFIG_H -#define __CONFIG_H - -/* - * High Level Configuration Options - * (easy to change) - */ - -#define CONFIG_PCIPPC2		1	/* this is a PCIPPC2 board	*/ - -#define	CONFIG_SYS_TEXT_BASE	0xfff00000 - -#define CONFIG_BOARD_EARLY_INIT_F 1 -#define CONFIG_MISC_INIT_R	1 - -#define CONFIG_CONS_INDEX	1 -#define CONFIG_BAUDRATE		9600 - -#define CONFIG_PREBOOT		"" -#define CONFIG_BOOTDELAY	5 - -#ifndef __ASSEMBLY__ -#include <galileo/core.h> -#endif - -/* - * BOOTP options - */ -#define CONFIG_BOOTP_SUBNETMASK -#define CONFIG_BOOTP_GATEWAY -#define CONFIG_BOOTP_HOSTNAME -#define CONFIG_BOOTP_BOOTPATH -#define CONFIG_BOOTP_BOOTFILESIZE - -#define CONFIG_MAC_PARTITION -#define CONFIG_DOS_PARTITION - - -/* - * Command line configuration. - */ -#include <config_cmd_default.h> - -#define CONFIG_CMD_ASKENV -#define CONFIG_CMD_BSP -#define CONFIG_CMD_DATE -#define CONFIG_CMD_DHCP -#define CONFIG_CMD_ELF -#define CONFIG_CMD_NFS -#define CONFIG_CMD_PCI -#define CONFIG_CMD_SCSI -#define CONFIG_CMD_SNTP - - -#define CONFIG_PCI		1 -#define CONFIG_PCI_PNP		1	/* PCI plug-and-play */ - -/* - * Miscellaneous configurable options - */ -#define CONFIG_SYS_LONGHELP			/* undef to save memory		*/ -#define CONFIG_SYS_PROMPT	"=> "		/* Monitor Command Prompt	*/ - -#define CONFIG_SYS_HUSH_PARSER		1	/* use "hush" command parser	*/ -#define CONFIG_SYS_CBSIZE	256		/* Console I/O Buffer Size	*/ - -/* Print Buffer Size - */ -#define CONFIG_SYS_PBSIZE	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) - -#define CONFIG_SYS_MAXARGS	64		/* max number of command args	*/ -#define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size	*/ -#define CONFIG_SYS_LOAD_ADDR	0x00100000	/* Default load address		*/ - -/*----------------------------------------------------------------------- - * Start addresses for the final memory configuration - * (Set up by the startup code) - * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0 - */ -#define CONFIG_SYS_SDRAM_BASE	    0x00000000 -#define CONFIG_SYS_FLASH_BASE	    0xFFF00000 -#define CONFIG_SYS_FLASH_MAX_SIZE  0x00100000 -/* Maximum amount of RAM. - */ -#define CONFIG_SYS_MAX_RAM_SIZE    0x20000000	/* 512Mb			*/ - -#define CONFIG_SYS_RESET_ADDRESS   0xFFF00100 - -#define CONFIG_SYS_MONITOR_BASE    CONFIG_SYS_TEXT_BASE - -#define CONFIG_SYS_MONITOR_LEN	    (256 << 10) /* Reserve 256 kB for Monitor	*/ -#define CONFIG_SYS_MALLOC_LEN	    (128 << 10) /* Reserve 128 kB for malloc()	*/ - -#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_SDRAM_BASE && \ -    CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_MAX_RAM_SIZE -#define CONFIG_SYS_RAMBOOT -#else -#undef CONFIG_SYS_RAMBOOT -#endif - -#define CONFIG_SYS_MEMTEST_START   0x00004000	/* memtest works on		*/ -#define CONFIG_SYS_MEMTEST_END	    0x02000000	/* 0 ... 32 MB in DRAM		*/ - -/*----------------------------------------------------------------------- - * Definitions for initial stack pointer and data area - */ - -#define CONFIG_SYS_INIT_RAM_ADDR     0x40000000 -#define CONFIG_SYS_INIT_RAM_SIZE      0x8000 -#define CONFIG_SYS_GBL_DATA_OFFSET  (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) -#define CONFIG_SYS_INIT_SP_OFFSET    CONFIG_SYS_GBL_DATA_OFFSET - -#define CONFIG_SYS_INIT_RAM_LOCK - -/* - * Temporary buffer for serial data until the real serial driver - * is initialised (memtest will destroy this buffer) - */ -#define CONFIG_SYS_SCONSOLE_ADDR     CONFIG_SYS_INIT_RAM_ADDR -#define CONFIG_SYS_SCONSOLE_SIZE     0x0002000 - -/* SDRAM 0 - 256MB - */ -#define CONFIG_SYS_DBAT0L	      (CONFIG_SYS_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE) -#define CONFIG_SYS_DBAT0U	      (CONFIG_SYS_SDRAM_BASE | \ -			       BATU_BL_256M | BATU_VS | BATU_VP) -/* SDRAM 1 - 256MB - */ -#define CONFIG_SYS_DBAT1L	      ((CONFIG_SYS_SDRAM_BASE + 0x10000000) | \ -			       BATL_PP_10 | BATL_MEMCOHERENCE) -#define CONFIG_SYS_DBAT1U	      ((CONFIG_SYS_SDRAM_BASE + 0x10000000) | \ -			       BATU_BL_256M | BATU_VS | BATU_VP) - -/* Init RAM in the CPU DCache (no backing memory) - */ -#define CONFIG_SYS_DBAT2L	      (CONFIG_SYS_INIT_RAM_ADDR | \ -			       BATL_PP_10 | BATL_MEMCOHERENCE) -#define CONFIG_SYS_DBAT2U	      (CONFIG_SYS_INIT_RAM_ADDR | \ -			       BATU_BL_128K | BATU_VS | BATU_VP) - -/* I/O and PCI memory at 0xf0000000 - */ -#define CONFIG_SYS_DBAT3L	      (0xf0000000 | BATL_PP_10 | BATL_CACHEINHIBIT) -#define CONFIG_SYS_DBAT3U	      (0xf0000000 | BATU_BL_256M | BATU_VS | BATU_VP) - -#define CONFIG_SYS_IBAT0L	      CONFIG_SYS_DBAT0L -#define CONFIG_SYS_IBAT0U	      CONFIG_SYS_DBAT0U -#define CONFIG_SYS_IBAT1L	      CONFIG_SYS_DBAT1L -#define CONFIG_SYS_IBAT1U	      CONFIG_SYS_DBAT1U -#define CONFIG_SYS_IBAT2L	      CONFIG_SYS_DBAT2L -#define CONFIG_SYS_IBAT2U	      CONFIG_SYS_DBAT2U -#define CONFIG_SYS_IBAT3L	      CONFIG_SYS_DBAT3L -#define CONFIG_SYS_IBAT3U	      CONFIG_SYS_DBAT3U - -/* - * Low Level Configuration Settings - * (address mappings, register initial values, etc.) - * You should know what you are doing if you make changes here. - * For the detail description refer to the PCIPPC2 user's manual. - */ -#define CONFIG_SYS_HZ		      1000 -#define CONFIG_SYS_BUS_CLK	      100000000 /* bus speed - 100 mhz		*/ -#define CONFIG_SYS_CPU_CLK	      300000000 - -/* - * 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 CONFIG_SYS_BOOTMAPSZ	      (8 << 20) /* Initial Memory map for Linux */ - -/*----------------------------------------------------------------------- - * FLASH organization - */ -#define CONFIG_SYS_MAX_FLASH_BANKS	1	/* Max number of flash banks		*/ -#define CONFIG_SYS_MAX_FLASH_SECT	16	/* Max number of sectors in one bank	*/ - -#define CONFIG_SYS_FLASH_ERASE_TOUT	120000	/* Timeout for Flash Erase (in ms)	*/ -#define CONFIG_SYS_FLASH_WRITE_TOUT	1000	/* Timeout for Flash Write (in ms)	*/ - -/* - * Note: environment is not EMBEDDED in the U-Boot code. - * It's stored in flash separately. - */ -#define CONFIG_ENV_IS_IN_FLASH	1 -#define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + 0x70000) -#define CONFIG_ENV_SIZE		0x1000	/* Size of the Environment		*/ -#define CONFIG_ENV_SECT_SIZE	0x10000 /* Size of the Environment Sector	*/ - -/*----------------------------------------------------------------------- - * Cache Configuration - */ -#define CONFIG_SYS_CACHELINE_SIZE	32 -#if defined(CONFIG_CMD_KGDB) -#  define CONFIG_SYS_CACHELINE_SHIFT	5	/* log base 2 of the above value	*/ -#endif - -/* - * L2 cache - */ -#undef CONFIG_SYS_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) - -/*----------------------------------------------------------------------- -  RTC m48t59 -*/ -#define CONFIG_RTC_MK48T59 - -#define CONFIG_WATCHDOG - - -#define CONFIG_EEPRO100 -#define CONFIG_SYS_RX_ETH_BUFFER	8               /* use 8 rx buffer on eepro100  */ -#define CONFIG_TULIP - - -#define CONFIG_SCSI_SYM53C8XX -#define CONFIG_SCSI_DEV_ID	0x000B	/* 53c896 */ -#define CONFIG_SYS_SCSI_MAX_LUN	8	/* number of supported LUNs */ -#define CONFIG_SYS_SCSI_MAX_SCSI_ID	15	/* maximum SCSI ID (0..6) */ -#define CONFIG_SYS_SCSI_MAX_DEVICE	CONFIG_SYS_SCSI_MAX_SCSI_ID * CONFIG_SYS_SCSI_MAX_LUN /* maximum Target devices */ -#define CONFIG_SYS_SCSI_SPIN_UP_TIME	2 -#define CONFIG_SYS_SCSI_SCAN_BUS_REVERSE 0 -#define CONFIG_DOS_PARTITION -#define CONFIG_MAC_PARTITION -#define CONFIG_ISO_PARTITION - -#endif	/* __CONFIG_H */ diff --git a/include/configs/a3m071.h b/include/configs/a3m071.h index df3b4ae90..13f32267e 100644 --- a/include/configs/a3m071.h +++ b/include/configs/a3m071.h @@ -26,15 +26,22 @@  #define CONFIG_MPC5200  #define CONFIG_MPC5xxx		1	/* This is an MPC5xxx CPU */  #define CONFIG_A3M071			/* ... on A3M071 board */ -#define CONFIG_MPC5200_DDR		/* ... use DDR RAM	*/  #define	CONFIG_SYS_TEXT_BASE	0x01000000	/* boot low for 32 MiB boards */ +#define CONFIG_SPL_TARGET	"u-boot-img.bin" +  #define CONFIG_SYS_MPC5XXX_CLKIN	33000000 /* ... running at 33MHz */  #define CONFIG_MISC_INIT_R  #define CONFIG_SYS_LOWBOOT		/* Enable lowboot	*/ +#ifdef CONFIG_A4M2K +#define CONFIG_HOSTNAME		a4m2k +#else +#define CONFIG_HOSTNAME		a3m071 +#endif +  /*   * Serial console configuration   */ @@ -50,9 +57,6 @@  #define CONFIG_CMD_BSP  #define CONFIG_CMD_CACHE -#define CONFIG_CMD_DATE -#define CONFIG_CMD_EEPROM -#define CONFIG_CMD_I2C  #define CONFIG_CMD_MII  #define CONFIG_CMD_REGINFO @@ -61,7 +65,11 @@   */  #define CONFIG_SYS_IPBCLK_EQUALS_XLBCLK		/* define for 133MHz speed */  /* define for 66MHz speed - undef for 33MHz PCI clock speed */ +#ifdef CONFIG_A4M2K +#define CONFIG_SYS_PCICLK_EQUALS_IPBCLK_DIV2 +#else  #undef CONFIG_SYS_PCICLK_EQUALS_IPBCLK_DIV2 +#endif  /* pass open firmware flat tree */  #define CONFIG_OF_LIBFDT @@ -76,33 +84,10 @@  #define OF_STDOUT_PATH		"/soc5200@f0000000/serial@2000"  /* - * I2C configuration - */ -#define CONFIG_HARD_I2C				/* I2C with hardware support */ -#define CONFIG_SYS_I2C_MODULE		2	/* Select I2C module #1 or #2 */ - -#define CONFIG_SYS_I2C_SPEED		100000 /* 100 kHz */ -#define CONFIG_SYS_I2C_SLAVE		0x7F - -/* - * EEPROM configuration - */ -#define CONFIG_SYS_I2C_EEPROM_ADDR		0x53 -#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		2 -#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	6 -#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	10 - -/* - * RTC configuration - */ -#define CONFIG_RTC_PCF8563 -#define CONFIG_SYS_I2C_RTC_ADDR		0x51 - -/*   * NOR flash configuration   */  #define CONFIG_SYS_FLASH_BASE		0xfc000000 -#define CONFIG_SYS_FLASH_SIZE		0x01000000 +#define CONFIG_SYS_FLASH_SIZE		0x02000000  #define CONFIG_ENV_ADDR			(CONFIG_SYS_FLASH_BASE + 0x40000)  #define CONFIG_SYS_MAX_FLASH_BANKS	1 @@ -153,7 +138,11 @@   */  #define CONFIG_MPC5xxx_FEC  #define CONFIG_MPC5xxx_FEC_MII100 +#ifdef CONFIG_A4M2K +#define CONFIG_PHY_ADDR			0x01 +#else  #define CONFIG_PHY_ADDR			0x00 +#endif  /*   * GPIO configuration @@ -166,19 +155,28 @@   *          2 means fpga ok   */ +#ifdef CONFIG_A4M2K +#define CONFIG_SYS_GPS_PORT_CONFIG	0x0005C805 +#else  /* for failsave-level 0 - full failsave */  #define CONFIG_SYS_GPS_PORT_CONFIG	0x1005C005  /* for failsave-level 1 - only digiboard ok */  #define CONFIG_SYS_GPS_PORT_CONFIG_1	0x1005C005  /* for failsave-level 2 - all ok */  #define CONFIG_SYS_GPS_PORT_CONFIG_2	0x1005C005 +#endif + +#define CONFIG_WDOG_GPIO_PIN		GPIO_WKUP_7 +#if defined(CONFIG_A4M2K) && !defined(CONFIG_SPL_BUILD) +#define CONFIG_HW_WATCHDOG		/* Use external HW-Watchdog	*/ +#endif  /*   * Configuration matrix   *                        MSB                          LSB - * failsave 0  0x1005C005  00010000000001011100000001100101  ( full failsave ) - * failsave 1  0x1005C005  00010000000001011100000001100101  ( digib.-ver ok ) - * failsave 2  0x1005C005  00010000000001011100000001100101  ( all ok ) + * failsave 0  0x1005C005  00010000000001011100000000000101  ( full failsave ) + * failsave 1  0x1005C005  00010000000001011100000000000101  ( digib.-ver ok ) + * failsave 2  0x1005C005  00010000000001011100000000000101  ( all ok )   *                         || ||| ||  |   ||| |   |   |   |   *                         || ||| ||  |   ||| |   |   |   |  bit rev name   *                         ++-+++-++--+---+++-+---+---+---+-  0   31 CS1 @@ -254,30 +252,47 @@  #define CONFIG_SYS_BOOTCS_SIZE		CONFIG_SYS_FLASH_SIZE  #define CONFIG_SYS_CS0_START		CONFIG_SYS_FLASH_BASE  #define CONFIG_SYS_CS0_SIZE		CONFIG_SYS_FLASH_SIZE + +#ifdef CONFIG_A4M2K +/* external MRAM */ +#define CONFIG_SYS_CS1_START		0xf1000000 +#define CONFIG_SYS_CS1_SIZE		(512 << 10)	/* 512KiB MRAM */ +#endif +  #define CONFIG_SYS_CS2_START		0xe0000000  #define CONFIG_SYS_CS2_SIZE		0x00100000 -/* FPGA slave io (512kiB) - see ticket #66 */ +/* FPGA slave io (512kiB / 1MiB) - see ticket #66 */  #define CONFIG_SYS_CS3_START		0xE9000000 +#ifdef CONFIG_A4M2K +#define CONFIG_SYS_CS3_SIZE		0x00100000 +#else  #define CONFIG_SYS_CS3_SIZE		0x00080000 +#endif  /* 00000000 00110010 1 0 1 1 10 01 00 00 0 0 0 0  = 0x0032B900 */  #define CONFIG_SYS_CS3_CFG		0x0032B900 +#ifndef CONFIG_A4M2K  /* Diagnosis Interface - see ticket #63 */  #define CONFIG_SYS_CS4_START		0xEA000000  #define CONFIG_SYS_CS4_SIZE		0x00000001  /* 00000000 00000010 1 0 1 1 10 01 00 00 0 0 0 0  = 0x0002B900 */  #define CONFIG_SYS_CS4_CFG		0x0002B900 +#endif -/* FPGA master io (64kiB) - see ticket #66 */ +/* FPGA master io (64kiB / 1MiB) - see ticket #66 */  #define CONFIG_SYS_CS5_START		0xE8000000 +#ifdef CONFIG_A4M2K +#define CONFIG_SYS_CS5_SIZE		0x00100000 +#else  #define CONFIG_SYS_CS5_SIZE		0x00010000 +#endif  /* 00000000 00110010 1 0 1 1 10 01 00 00 0 0 0 0  = 0x0032B900 */  #define CONFIG_SYS_CS5_CFG		0x0032B900  #ifdef CONFIG_SYS_PCICLK_EQUALS_IPBCLK_DIV2	/* for pci_clk  = 66 MHz */  #define CONFIG_SYS_BOOTCS_CFG		0x0006F900 -#define CONFIG_SYS_CS1_CFG		0x0004FB00 +#define CONFIG_SYS_CS1_CFG		0x0008FD00  #define CONFIG_SYS_CS2_CFG		0x0006F90C  #else	/* for pci_clk = 33 MHz */  #define CONFIG_SYS_BOOTCS_CFG		0x0002F900 @@ -311,17 +326,25 @@  #define CONFIG_SYS_OS_BASE	0xfc080000  #define CONFIG_SYS_FDT_BASE	0xfc060000 -#define xstr(s)	str(s) -#define str(s)	#s -  #define	CONFIG_EXTRA_ENV_SETTINGS					\ +	"hostname=" __stringify(CONFIG_HOSTNAME) "\0"			\  	"netdev=eth0\0"							\  	"verify=no\0"							\ +	"loadaddr=200000\0"						\ +	"kernel_addr=" __stringify(CONFIG_SYS_OS_BASE) "\0"		\ +	"kernel_addr_r=1000000\0"					\ +	"fdt_addr=" __stringify(CONFIG_SYS_FDT_BASE) "\0"		\ +	"fdt_addr_r=1800000\0"						\ +	"bootfile=" __stringify(CONFIG_HOSTNAME) "/uImage\0"		\ +	"fdtfile=" __stringify(CONFIG_HOSTNAME) "/"			\ +		__stringify(CONFIG_HOSTNAME) ".dtb\0"			\ +	"rootpath=/opt/eldk-5.2.1/powerpc/"				\ +		"core-image-minimal-mtdutils-dropbear-generic\0"	\  	"consoledev=ttyPSC0\0"						\  	"nfsargs=setenv bootargs root=/dev/nfs rw "			\  		"nfsroot=${serverip}:${rootpath}\0"			\  	"ramargs=setenv bootargs root=/dev/ram rw\0"			\ -	"mtdargs=setenv bootargs root=/dev/mtdblock4 rw rootfstype=jffs2\0"\ +	"mtdargs=setenv bootargs root=/dev/mtdblock4 rw rootfstype=jffs2\0" \  	"addip=setenv bootargs ${bootargs} "				\  		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"	\  		":${hostname}:${netdev}:off panic=1\0"			\ @@ -332,18 +355,18 @@  	"flash_mtd=run mtdargs addip addtty;"				\  		"bootm ${kernel_addr} - ${fdtaddr}\0"			\  	"flash_self=run ramargs addip addtty;"				\ -		"bootm ${kernel_addr} ${ramdisk_addr} ${fdtaddr}\0"	\ -	"net_nfs=sleep 2; tftp ${loadaddr} ${bootfile};"		\ -		"tftp c00000 ${fdtfile};"				\ +		"bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\ +	"net_nfs=tftp ${kernel_addr_r} ${bootfile};"			\ +		"tftp ${fdt_addr_r} ${fdtfile};"			\  		"run nfsargs addip addtty;"				\ -		"bootm ${loadaddr} - c00000\0"				\ -	"load=tftp ${loadaddr} u-boot.bin\0"				\ +		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"		\ +	"load=tftp ${loadaddr} " __stringify(CONFIG_HOSTNAME)		\ +		"/u-boot-img.bin\0"					\  	"update=protect off fc000000 fc03ffff; "			\ -		"era fc000000 fc03ffff; cp.b ${loadaddr} fc000000 40000\0"\ +		"era fc000000 fc03ffff; cp.b ${loadaddr} fc000000 40000\0" \  	"upd=run load;run update\0"					\ -	"fdtaddr=" xstr(CONFIG_SYS_FDT_BASE) "\0"			\ -	"fdtfile=dtbFile\0"						\ -	"kernel_addr=" xstr(CONFIG_SYS_OS_BASE) "\0"			\ +	"bootdelay=3\0"							\ +	"bootcmd=run net_nfs\0"						\  	""  #define CONFIG_BOOTCOMMAND	"run flash_mtd" @@ -353,6 +376,7 @@   */  #define CONFIG_SPL  #define CONFIG_SPL_FRAMEWORK +#define CONFIG_SPL_BOARD_INIT  #define CONFIG_SPL_NOR_SUPPORT  #define CONFIG_SPL_TEXT_BASE	0xfc000000  #define	CONFIG_SPL_START_S_PATH	"arch/powerpc/cpu/mpc5xxx" diff --git a/include/configs/ac14xx.h b/include/configs/ac14xx.h new file mode 100644 index 000000000..ac7e87738 --- /dev/null +++ b/include/configs/ac14xx.h @@ -0,0 +1,591 @@ +/* + * (C) Copyright 2009 Wolfgang Denk <wd@denx.de> + * (C) Copyright 2010 DAVE Srl <www.dave.eu> + * + * 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. + */ + +/* + * ifm AC14xx (MPC5121e based) board configuration file + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#define CONFIG_AC14XX 1 +/* + * Memory map for the ifm AC14xx board: + * + * 0x0000_0000-0x0FFF_FFFF	DDR RAM (256 MB) + * 0x3000_0000-0x3001_FFFF	On Chip SRAM (128 KB) + * 0x8000_0000-0x803F_FFFF	IMMR (4 MB) + * 0xE000_0000-0xEFFF_FFFF	several LPB attached hardware (CSx) + * 0xFC00_0000-0xFFFF_FFFF	NOR Boot FLASH (64 MB) + */ + +/* + * High Level Configuration Options + */ +#define CONFIG_E300		1	/* E300 Family */ +#define CONFIG_MPC512X		1	/* MPC512X family */ + +#define CONFIG_SYS_TEXT_BASE	0xFFF00000 + +#if defined(CONFIG_VIDEO) +#define CONFIG_CFB_CONSOLE +#define CONFIG_VGA_AS_SINGLE_DEVICE +#endif + +#define CONFIG_SYS_MPC512X_CLKIN	25000000	/* in Hz */ +#define SCFR1_IPS_DIV			2 +#define SCFR1_LPC_DIV			2 +#define SCFR1_NFC_DIV			2 +#define SCFR1_DIU_DIV			240 + +#define CONFIG_MISC_INIT_R + +#define CONFIG_SYS_IMMR			0x80000000 +#define CONFIG_SYS_DIU_ADDR		(CONFIG_SYS_IMMR + 0x2100) + +/* more aggressive 'mtest' over a wider address range */ +#define CONFIG_SYS_ALT_MEMTEST +#define CONFIG_SYS_MEMTEST_START	0x00100000      /* memtest region */ +#define CONFIG_SYS_MEMTEST_END		0x0FE00000 + +/* + * DDR Setup - manually set all parameters as there's no SPD etc. + */ +#define CONFIG_SYS_DDR_SIZE		256		/* MB */ +#define CONFIG_SYS_DDR_BASE		0x00000000 +#define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_BASE +#define CONFIG_SYS_MAX_RAM_SIZE		0x20000000 + +/* + * DDR Controller Configuration XXX TODO + * + * SYS_CFG: + *	[31:31]	MDDRC Soft Reset:	Diabled + *	[30:30]	DRAM CKE pin:		Enabled + *	[29:29]	DRAM CLK:		Enabled + *	[28:28]	Command Mode:		Enabled (For initialization only) + *	[27:25]	DRAM Row Select:	dram_row[15:0] = magenta_address[25:10] + *	[24:21]	DRAM Bank Select:	dram_bank[1:0] = magenta_address[11:10] + *	[20:19]	Read Test:		DON'T USE + *	[18:18]	Self Refresh:		Enabled + *	[17:17]	16bit Mode:		Disabled + *	[16:13] Ready Delay:		2 + *	[12:12]	Half DQS Delay:		Disabled + *	[11:11]	Quarter DQS Delay:	Disabled + *	[10:08]	Write Delay:		2 + *	[07:07]	Early ODT:		Disabled + *	[06:06]	On DIE Termination:	Disabled + *	[05:05]	FIFO Overflow Clear:	DON'T USE here + *	[04:04]	FIFO Underflow Clear:	DON'T USE here + *	[03:03]	FIFO Overflow Pending:	DON'T USE here + *	[02:02]	FIFO Underlfow Pending:	DON'T USE here + *	[01:01]	FIFO Overlfow Enabled:	Enabled + *	[00:00]	FIFO Underflow Enabled:	Enabled + * TIME_CFG0 + *	[31:16]	DRAM Refresh Time:	0 CSB clocks + *	[15:8]	DRAM Command Time:	0 CSB clocks + *	[07:00]	DRAM Precharge Time:	0 CSB clocks + * TIME_CFG1 + *	[31:26]	DRAM tRFC: + *	[25:21]	DRAM tWR1: + *	[20:17]	DRAM tWRT1: + *	[16:11]	DRAM tDRR: + *	[10:05]	DRAM tRC: + *	[04:00]	DRAM tRAS: + * TIME_CFG2 + *	[31:28]	DRAM tRCD: + *	[27:23]	DRAM tFAW: + *	[22:19]	DRAM tRTW1: + *	[18:15]	DRAM tCCD: + *	[14:10] DRAM tRTP: + *	[09:05]	DRAM tRP: + *	[04:00] DRAM tRPA + */ + +/* + * NOTE: although this board uses DDR1 only, the common source brings defaults + * for DDR2 init sequences, that's why we have to keep those here as well + */ + +/* DDR1 -- 32bit, drive strength (pad configuration) 3 for control and data */ +#define CONFIG_SYS_IOCTRL_MUX_DDR	((0 << 6) | (3 << 3) | (3 << 0)) + +#define CONFIG_SYS_MDDRC_SYS_CFG (/* 0xEAA09100 */ 0 \ +			| (1 << 31)	/* RST_B */ \ +			| (1 << 30)	/* CKE */ \ +			| (1 << 29)	/* CLK_ON */ \ +			| (0 << 28)	/* CMD_MODE */ \ +			| (5 << 25)	/* DRAM_ROW_SELECT */ \ +			| (5 << 21)	/* DRAM_BANK_SELECT */ \ +			| (0 << 18)	/* SELF_REF_EN */ \ +			| (0 << 17)	/* 16BIT_MODE */ \ +			| (4 << 13)	/* RDLY */ \ +			| (1 << 12)	/* HALF_DQS_DLY */ \ +			| (0 << 11)	/* QUART_DQS_DLY */ \ +			| (1 <<  8)	/* WDLY */ \ +			| (0 <<  7)	/* EARLY_ODT */ \ +			| (0 <<  6)	/* ON_DIE_TERMINATE */ \ +			| (0 <<  5)	/* FIFO_OV_CLEAR */ \ +			| (0 <<  4)	/* FIFO_UV_CLEAR */ \ +			| (0 <<  1)	/* FIFO_OV_EN */ \ +			| (0 <<  0)	/* FIFO_UV_EN */ \ +			) + +#define CONFIG_SYS_MDDRC_TIME_CFG0	0x04E03124 +#define CONFIG_SYS_MDDRC_TIME_CFG1	0x30CA1147 +#define CONFIG_SYS_MDDRC_TIME_CFG2	0x32B10864 + +/* register address only, i.e. template without values */ +#define CONFIG_SYS_MICRON_BMODE		0x01000000 +#define CONFIG_SYS_MICRON_EMODE		0x01010000 +#define CONFIG_SYS_MICRON_EMODE2	0x01020000 +#define CONFIG_SYS_MICRON_EMODE3	0x01030000 +/* + * values for mode registers (without mode register address) + */ +/* CAS 2.5 (6), burst seq (0) and length 4 (2) */ +#define CONFIG_SYS_MICRON_BMODE_PARAM	0x00000062 +#define CONFIG_SYS_MICRON_BMODE_RSTDLL	0x00000100 +/* DLL enable, reduced drive strength */ +#define CONFIG_SYS_MICRON_EMODE_PARAM	0x00000002 + +#define CONFIG_SYS_DDRCMD_NOP		0x01380000 +#define CONFIG_SYS_DDRCMD_PCHG_ALL	0x01100400 +#define CONFIG_SYS_MICRON_EMR	       ((1 << 24) |	/* CMD_REQ */ \ +					(0 << 22) |	/* DRAM_CS */ \ +					(0 << 21) |	/* DRAM_RAS */ \ +					(0 << 20) |	/* DRAM_CAS */ \ +					(0 << 19) |	/* DRAM_WEB */ \ +					(1 << 16) |	/* DRAM_BS[2:0] */ \ +					(0 << 15) |	/* */ \ +					(0 << 12) |	/* A12->out */ \ +					(0 << 11) |	/* A11->RDQS */ \ +					(0 << 10) |	/* A10->DQS# */ \ +					(0 <<  7) |	/* OCD program */ \ +					(0 <<  6) |	/* Rtt1 */ \ +					(0 <<  3) |	/* posted CAS# */ \ +					(0 <<  2) |	/* Rtt0 */ \ +					(1 <<  1) |	/* ODS */ \ +					(0 <<  0)	/* DLL */ \ +				     ) +#define CONFIG_SYS_MICRON_EMR2		0x01020000 +#define CONFIG_SYS_MICRON_EMR3		0x01030000 +#define CONFIG_SYS_DDRCMD_RFSH		0x01080000 +#define CONFIG_SYS_MICRON_INIT_DEV_OP	0x01000432 +#define CONFIG_SYS_MICRON_EMR_OCD      ((1 << 24) |	/* CMD_REQ */ \ +					(0 << 22) |	/* DRAM_CS */ \ +					(0 << 21) |	/* DRAM_RAS */ \ +					(0 << 20) |	/* DRAM_CAS */ \ +					(0 << 19) |	/* DRAM_WEB */ \ +					(1 << 16) |	/* DRAM_BS[2:0] */ \ +					(0 << 15) |	/* */ \ +					(0 << 12) |	/* A12->out */ \ +					(0 << 11) |	/* A11->RDQS */ \ +					(1 << 10) |	/* A10->DQS# */ \ +					(7 <<  7) |	/* OCD program */ \ +					(0 <<  6) |	/* Rtt1 */ \ +					(0 <<  3) |	/* posted CAS# */ \ +					(1 <<  2) |	/* Rtt0 */ \ +					(0 <<  1) |	/* ODS */ \ +					(0 <<  0)	/* DLL */ \ +				     ) + +/* + * Backward compatible definitions, + * so we do not have to change arch/powerpc/cpu/mpc512x/fixed_sdram.c + */ +#define	CONFIG_SYS_DDRCMD_EM2		(CONFIG_SYS_MICRON_EMR2) +#define CONFIG_SYS_DDRCMD_EM3		(CONFIG_SYS_MICRON_EMR3) +#define CONFIG_SYS_DDRCMD_EN_DLL	(CONFIG_SYS_MICRON_EMR) +#define CONFIG_SYS_DDRCMD_OCD_DEFAULT	(CONFIG_SYS_MICRON_EMR_OCD) + +/* DDR Priority Manager Configuration */ +#define CONFIG_SYS_MDDRCGRP_PM_CFG1	0x00077777 +#define CONFIG_SYS_MDDRCGRP_PM_CFG2	0x00000000 +#define CONFIG_SYS_MDDRCGRP_HIPRIO_CFG	0x00000001 +#define CONFIG_SYS_MDDRCGRP_LUT0_MU	0xFFEEDDCC +#define CONFIG_SYS_MDDRCGRP_LUT0_ML	0xBBAAAAAA +#define CONFIG_SYS_MDDRCGRP_LUT1_MU	0x66666666 +#define CONFIG_SYS_MDDRCGRP_LUT1_ML	0x55555555 +#define CONFIG_SYS_MDDRCGRP_LUT2_MU	0x44444444 +#define CONFIG_SYS_MDDRCGRP_LUT2_ML	0x44444444 +#define CONFIG_SYS_MDDRCGRP_LUT3_MU	0x55555555 +#define CONFIG_SYS_MDDRCGRP_LUT3_ML	0x55555558 +#define CONFIG_SYS_MDDRCGRP_LUT4_MU	0x11111111 +#define CONFIG_SYS_MDDRCGRP_LUT4_ML	0x11111122 +#define CONFIG_SYS_MDDRCGRP_LUT0_AU	0xaaaaaaaa +#define CONFIG_SYS_MDDRCGRP_LUT0_AL	0xaaaaaaaa +#define CONFIG_SYS_MDDRCGRP_LUT1_AU	0x66666666 +#define CONFIG_SYS_MDDRCGRP_LUT1_AL	0x66666666 +#define CONFIG_SYS_MDDRCGRP_LUT2_AU	0x11111111 +#define CONFIG_SYS_MDDRCGRP_LUT2_AL	0x11111111 +#define CONFIG_SYS_MDDRCGRP_LUT3_AU	0x11111111 +#define CONFIG_SYS_MDDRCGRP_LUT3_AL	0x11111111 +#define CONFIG_SYS_MDDRCGRP_LUT4_AU	0x11111111 +#define CONFIG_SYS_MDDRCGRP_LUT4_AL	0x11111111 + +/* + * NOR FLASH on the Local Bus + */ +#define CONFIG_SYS_FLASH_CFI				/* use the CFI code */ +#define CONFIG_FLASH_CFI_DRIVER				/* use the CFI driver */ +#define CONFIG_SYS_FLASH_BASE		0xFC000000	/* start of FLASH */ +#define CONFIG_SYS_FLASH_SIZE		0x04000000	/* max flash size */ + +#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE +#define CONFIG_SYS_MAX_FLASH_BANKS	1		/* number of banks */ +#define CONFIG_SYS_FLASH_BANKS_LIST	{ \ +	CONFIG_SYS_FLASH_BASE + 0 * CONFIG_SYS_FLASH_SIZE, \ +	} +#define CONFIG_SYS_MAX_FLASH_SECT	512	/* max sectors per device */ + +#undef CONFIG_SYS_FLASH_CHECKSUM +#define CONFIG_SYS_FLASH_PROTECTION + +/* + * SRAM support + */ +#define CONFIG_SYS_SRAM_BASE		0x30000000 +#define CONFIG_SYS_SRAM_SIZE		0x00020000	/* 128 KB */ + +/* + * CS related parameters + * TODO document these + */ +/* CS0 Flash */ +#define CONFIG_SYS_CS0_CFG		0x00031110 +#define CONFIG_SYS_CS0_START		0xFC000000 +#define CONFIG_SYS_CS0_SIZE		0x04000000 +/* CS1 FRAM */ +#define CONFIG_SYS_CS1_CFG		0x00011000 +#define CONFIG_SYS_CS1_START		0xE0000000 +#define CONFIG_SYS_CS1_SIZE		0x00010000 +/* CS2 AS-i 1 */ +#define CONFIG_SYS_CS2_CFG		0x00009100 +#define CONFIG_SYS_CS2_START		0xE0100000 +#define CONFIG_SYS_CS2_SIZE		0x00080000 +/* CS3 netX */ +#define CONFIG_SYS_CS3_CFG		0x000A1140 +#define CONFIG_SYS_CS3_START		0xE0300000 +#define CONFIG_SYS_CS3_SIZE		0x00020000 +/* CS5 safety */ +#define CONFIG_SYS_CS5_CFG		0x0011F000 +#define CONFIG_SYS_CS5_START		0xE0400000 +#define CONFIG_SYS_CS5_SIZE		0x00010000 +/* CS6 AS-i 2 */ +#define CONFIG_SYS_CS6_CFG		0x00009100 +#define CONFIG_SYS_CS6_START		0xE0200000 +#define CONFIG_SYS_CS6_SIZE		0x00080000 + +/* Don't use alternative CS timing for any CS */ +#define CONFIG_SYS_CS_ALETIMING		0x00000000 +#define CONFIG_SYS_CS_BURST		0x00000000 +#define CONFIG_SYS_CS_DEADCYCLE		0x00000020 +#define CONFIG_SYS_CS_HOLDCYCLE		0x00000020 + +/* Use SRAM for initial stack */ +#define CONFIG_SYS_INIT_RAM_ADDR	CONFIG_SYS_SRAM_BASE +#define CONFIG_SYS_INIT_RAM_END		CONFIG_SYS_SRAM_SIZE + +#define CONFIG_SYS_GBL_DATA_SIZE	0x100 +#define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_END - \ +					 CONFIG_SYS_GBL_DATA_SIZE) +#define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET + +#define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_TEXT_BASE +#define CONFIG_SYS_MONITOR_LEN		(256 * 1024) + +#ifdef	CONFIG_FSL_DIU_FB +#define CONFIG_SYS_MALLOC_LEN		(6 * 1024 * 1024) +#else +#define CONFIG_SYS_MALLOC_LEN		(512 * 1024) +#endif + +/* + * Serial Port + */ +#define CONFIG_CONS_INDEX		1 + +/* + * Serial console configuration + */ +#define CONFIG_PSC_CONSOLE		3	/* console on PSC3 */ +#define CONFIG_SYS_PSC3 +#if CONFIG_PSC_CONSOLE != 3 +#error CONFIG_PSC_CONSOLE must be 3 +#endif + +#define CONFIG_BAUDRATE			115200	/* ... at 115200 bps */ +#define CONFIG_SYS_BAUDRATE_TABLE  \ +	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200} + +#define CONSOLE_FIFO_TX_SIZE		FIFOC_PSC3_TX_SIZE +#define CONSOLE_FIFO_TX_ADDR		FIFOC_PSC3_TX_ADDR +#define CONSOLE_FIFO_RX_SIZE		FIFOC_PSC3_RX_SIZE +#define CONSOLE_FIFO_RX_ADDR		FIFOC_PSC3_RX_ADDR + +/* + * Clocks in use + */ +#define SCCR1_CLOCKS_EN	(CLOCK_SCCR1_CFG_EN |		\ +			 CLOCK_SCCR1_LPC_EN |		\ +			 CLOCK_SCCR1_PSC_EN(CONFIG_PSC_CONSOLE) | \ +			 CLOCK_SCCR1_PSC_EN(7) |	\ +			 CLOCK_SCCR1_PSCFIFO_EN |	\ +			 CLOCK_SCCR1_DDR_EN |		\ +			 CLOCK_SCCR1_FEC_EN |		\ +			 CLOCK_SCCR1_TPR_EN) + +#define SCCR2_CLOCKS_EN	(CLOCK_SCCR2_MEM_EN |		\ +			 CLOCK_SCCR2_SPDIF_EN |		\ +			 CLOCK_SCCR2_DIU_EN |		\ +			 CLOCK_SCCR2_I2C_EN) + + +#define CONFIG_CMDLINE_EDITING		1	/* command line history */ + +/* I2C */ +#define CONFIG_HARD_I2C			/* I2C with hardware support */ +#define CONFIG_I2C_MULTI_BUS + +/* I2C speed and slave address */ +#define CONFIG_SYS_I2C_SPEED		100000 +#define CONFIG_SYS_I2C_SLAVE		0x7F + +/* + * EEPROM configuration for Atmel AT24C01: + * 8-bit addresses, 30ms write delay, 32-Byte Page Write Mode + */ +#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1 +#define CONFIG_SYS_I2C_EEPROM_ADDR		0x52 +#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	30 +#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	5 + +/* + * Ethernet configuration + */ +#define CONFIG_MPC512x_FEC		1 +#define CONFIG_NET_MULTI +#define CONFIG_PHY_ADDR			0x1F +#define CONFIG_MII			1	/* MII PHY management */ +#define CONFIG_FEC_AN_TIMEOUT		1 +#define CONFIG_HAS_ETH0 + +/* + * Environment + */ +#define CONFIG_ENV_IS_IN_FLASH		1 +/* This has to be a multiple of the flash sector size */ +#define CONFIG_ENV_ADDR			0xFFF40000 +#define CONFIG_ENV_SIZE			0x2000 +#define CONFIG_ENV_SECT_SIZE		0x20000 + +/* Address and size of Redundant Environment Sector */ +#define CONFIG_ENV_ADDR_REDUND		(CONFIG_ENV_ADDR + \ +					 CONFIG_ENV_SECT_SIZE) +#define CONFIG_ENV_SIZE_REDUND		(CONFIG_ENV_SIZE) + +#define CONFIG_LOADS_ECHO		1 +#define CONFIG_SYS_LOADS_BAUD_CHANGE	1 + +#include <config_cmd_default.h> + +#define CONFIG_CMD_ASKENV +#define CONFIG_CMD_DHCP +#define CONFIG_CMD_EEPROM +#undef CONFIG_CMD_FUSE +#define CONFIG_CMD_I2C +#undef CONFIG_CMD_IDE +#undef CONFIG_CMD_EXT2 +#define CONFIG_CMD_JFFS2 +#define CONFIG_CMD_MII +#define CONFIG_CMD_NFS +#define CONFIG_CMD_PING +#define CONFIG_CMD_REGINFO + +#if defined(CONFIG_PCI) +#define CONFIG_CMD_PCI +#endif + +#if defined(CONFIG_CMD_IDE) || defined(CONFIG_CMD_EXT2) +#define CONFIG_DOS_PARTITION +#define CONFIG_MAC_PARTITION +#define CONFIG_ISO_PARTITION +#endif /* defined(CONFIG_CMD_IDE) */ + +/* + * Miscellaneous configurable options + */ +#define CONFIG_SYS_LONGHELP			/* undef to save memory */ +#define CONFIG_SYS_LOAD_ADDR	0x2000000	/* default load address */ +#define CONFIG_SYS_PROMPT	"ac14xx> "	/* Monitor Command Prompt */ + +#ifdef CONFIG_CMD_KGDB +# define CONFIG_SYS_CBSIZE	1024		/* Console I/O Buffer Size */ +#else +# define CONFIG_SYS_CBSIZE	256		/* Console I/O Buffer Size */ +#endif + +/* Print Buffer Size */ +#define CONFIG_SYS_PBSIZE	(CONFIG_SYS_CBSIZE + \ +				 sizeof(CONFIG_SYS_PROMPT) + 16) +/* max number of command args */ +#define CONFIG_SYS_MAXARGS	32 +/* Boot Argument Buffer Size */ +#define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE + +/* decrementer freq: 1ms ticks */ +#define CONFIG_SYS_HZ		1000 + +/* + * 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 CONFIG_SYS_BOOTMAPSZ		(8 << 20) + +/* Cache Configuration */ +#define CONFIG_SYS_DCACHE_SIZE		32768 +#define CONFIG_SYS_CACHELINE_SIZE	32 +#ifdef CONFIG_CMD_KGDB +#define CONFIG_SYS_CACHELINE_SHIFT	5	/* log base 2 of 32 */ +#endif + +#define CONFIG_SYS_HID0_INIT		0x000000000 +#define CONFIG_SYS_HID0_FINAL		(HID0_ENABLE_MACHINE_CHECK | \ +					 HID0_ICE) +#define CONFIG_SYS_HID2	HID2_HBE + +#define CONFIG_HIGH_BATS		1	/* High BATs supported */ + +/* + * Internal Definitions + * + * Boot Flags + */ +#define BOOTFLAG_COLD			0x01 +#define BOOTFLAG_WARM			0x02 + +#ifdef CONFIG_CMD_KGDB +#define CONFIG_KGDB_BAUDRATE		230400	/* speed of kgdb serial port */ +#define CONFIG_KGDB_SER_INDEX		2	/* which serial port to use */ +#endif + +/* + * Environment Configuration + */ +#define CONFIG_ENV_OVERWRITE +#define CONFIG_TIMESTAMP + +#define CONFIG_HOSTNAME		ac14xx +#define CONFIG_BOOTFILE		"ac14xx/uImage" +#define CONFIG_ROOTPATH		"/opt/eldk/ppc_6xx" + +/* default load addr for tftp and bootm */ +#define CONFIG_LOADADDR		400000 + +#define CONFIG_BOOTDELAY	2	/* -1 disables auto-boot */ + +/* XXX TODO need to specify the builtin environment */ +#define CONFIG_PREBOOT	"echo;"	\ +	"echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;" \ +	"echo" + +#define CONFIG_EXTRA_ENV_SETTINGS_DEVEL					\ +	"muster_nr=00\0"						\ +	"fromram=run ramargs addip addtty; "				\ +		"tftp ${fdt_addr_r} k6m2/ac14xx.dtb-${muster_nr}; "	\ +		"tftp ${kernel_addr_r} k6m2/uImage-${muster_nr}; "	\ +		"tftp ${ramdisk_addr_r} k6m2/uFS-${muster_nr}; "	\ +		"bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}\0" \ +	"fromnfs=run nfsargs addip addtty; "				\ +		"tftp ${fdt_addr_r} k6m2/ac14xx.dtb-${muster_nr}; "	\ +		"tftp ${kernel_addr_r} k6m2/uImage-${muster_nr}; "	\ +		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"		\ +	"fromflash=run nfsargs addip addtty; "				\ +		"bootm fc020000 - fc000000\0"				\ +	"mtdargsrec=setenv bootargs root=/dev/mtdblock1 ro\0"		\ +	"recovery=run mtdargsrec addip addtty; "			\ +		"bootm ffd20000 - ffee0000\0"				\ +	"production=run ramargs addip addtty; "				\ +		"bootm fc020000 fc400000 fc000000\0"			\ +	"mtdargs=setenv bootargs root=/dev/mtdblock1 ro\0"		\ +	"prodmtd=run mtdargs addip addtty; "				\ +		"bootm fc020000 - fc000000\0"				\ +	"" + +#define	CONFIG_EXTRA_ENV_SETTINGS					\ +	"u-boot_addr_r=200000\0"					\ +	"kernel_addr_r=600000\0"					\ +	"fdt_addr_r=a00000\0"						\ +	"ramdisk_addr_r=b00000\0"					\ +	"u-boot_addr=FFF00000\0"					\ +	"kernel_addr=FC020000\0"					\ +	"fdt_addr=FC000000\0"						\ +	"ramdisk_addr=FC400000\0"					\ +	"verify=n\0"							\ +	"ramdiskfile=ac14xx/uRamdisk\0"					\ +	"u-boot=ac14xx/u-boot.bin\0"					\ +	"bootfile=ac14xx/uImage\0"					\ +	"fdtfile=ac14xx/ac14xx.dtb\0"					\ +	"rootpath=/opt/eldk/ppc_6xx\n"					\ +	"netdev=eth0\0"							\ +	"consdev=ttyPSC0\0"						\ +	"hostname=ac14xx\0"						\ +	"nfsargs=setenv bootargs root=/dev/nfs rw "			\ +		"nfsroot=${serverip}:${rootpath}-${muster_nr}\0"	\ +	"ramargs=setenv bootargs root=/dev/ram rw\0"			\ +	"addip=setenv bootargs ${bootargs} "				\ +		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"	\ +		":${hostname}:${netdev}:off panic=1\0"			\ +	"addtty=setenv bootargs ${bootargs} "				\ +		"console=${consdev},${baudrate}\0"			\ +	"flash_nfs=run nfsargs addip addtty;"				\ +		"bootm ${kernel_addr} - ${fdt_addr}\0"			\ +	"flash_self=run ramargs addip addtty;"				\ +		"bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\ +	"net_nfs=tftp ${kernel_addr_r} ${bootfile};"			\ +		"tftp ${fdt_addr_r} ${fdtfile};"			\ +		"run nfsargs addip addtty;"				\ +		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"		\ +	"net_self=tftp ${kernel_addr_r} ${bootfile};"			\ +		"tftp ${ramdisk_addr_r} ${ramdiskfile};"		\ +		"tftp ${fdt_addr_r} ${fdtfile};"			\ +		"run ramargs addip addtty;"				\ +		"bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}\0"\ +	"load=tftp ${u-boot_addr_r} ${u-boot}\0"			\ +	"update=protect off ${u-boot_addr} +${filesize};"		\ +		"era ${u-boot_addr} +${filesize};"			\ +		"cp.b ${u-boot_addr_r} ${u-boot_addr} ${filesize}\0"	\ +	CONFIG_EXTRA_ENV_SETTINGS_DEVEL					\ +	"upd=run load update\0"						\ +	"" + +#define CONFIG_BOOTCOMMAND	"run production" + +#define CONFIG_FIT		1 +#define CONFIG_OF_LIBFDT	1 +#define CONFIG_OF_BOARD_SETUP	1 +#define CONFIG_OF_SUPPORT_OLD_DEVICE_TREES	1 + +#define OF_CPU			"PowerPC,5121@0" +#define OF_SOC_COMPAT		"fsl,mpc5121-immr" +#define OF_TBCLK		(bd->bi_busfreq / 4) +#define OF_STDOUT_PATH		"/soc@80000000/serial@11300" + +#endif	/* __CONFIG_H */ diff --git a/include/configs/aria.h b/include/configs/aria.h index 0b31c50da..b4253996a 100644 --- a/include/configs/aria.h +++ b/include/configs/aria.h @@ -64,7 +64,6 @@  #define CONFIG_SYS_MPC512X_CLKIN	33000000	/* in Hz */ -#define CONFIG_BOARD_EARLY_INIT_F		/* call board_early_init_f() */  #define CONFIG_MISC_INIT_R  #define CONFIG_SYS_IMMR			0x80000000 @@ -266,11 +265,16 @@  #define CONFIG_SYS_ARIA_SRAM_BASE	(CONFIG_SYS_SRAM_BASE + \  					 CONFIG_SYS_SRAM_SIZE)  #define CONFIG_SYS_ARIA_SRAM_SIZE	0x00100000	/* reserve 1MB-window */ +#define CONFIG_SYS_CS6_START		CONFIG_SYS_ARIA_SRAM_BASE +#define CONFIG_SYS_CS6_SIZE		CONFIG_SYS_ARIA_SRAM_SIZE  #define CONFIG_SYS_ARIA_FPGA_BASE	(CONFIG_SYS_ARIA_SRAM_BASE + \  					 CONFIG_SYS_ARIA_SRAM_SIZE)  #define CONFIG_SYS_ARIA_FPGA_SIZE	0x20000		/* 128 KB */ +#define CONFIG_SYS_CS2_START		CONFIG_SYS_ARIA_FPGA_BASE +#define CONFIG_SYS_CS2_SIZE		CONFIG_SYS_ARIA_FPGA_SIZE +  #define CONFIG_SYS_CS0_CFG		0x05059150  #define CONFIG_SYS_CS2_CFG		(	(5 << 24) | \  						(5 << 16) | \ @@ -643,4 +647,21 @@  #define FSL_ATA_CTRL_DMA_WRITE		0x02000000  #define FSL_ATA_CTRL_IORDY_EN		0x01000000 +/* Clocks in use */ +#define SCCR1_CLOCKS_EN	(CLOCK_SCCR1_CFG_EN |				\ +			 CLOCK_SCCR1_LPC_EN |				\ +			 CLOCK_SCCR1_PSC_EN(CONFIG_PSC_CONSOLE) |	\ +			 CLOCK_SCCR1_PSCFIFO_EN |			\ +			 CLOCK_SCCR1_DDR_EN |				\ +			 CLOCK_SCCR1_FEC_EN |				\ +			 CLOCK_SCCR1_NFC_EN |				\ +			 CLOCK_SCCR1_PATA_EN |				\ +			 CLOCK_SCCR1_PCI_EN |				\ +			 CLOCK_SCCR1_TPR_EN) + +#define SCCR2_CLOCKS_EN	(CLOCK_SCCR2_MEM_EN |		\ +			 CLOCK_SCCR2_SPDIF_EN |		\ +			 CLOCK_SCCR2_DIU_EN |		\ +			 CLOCK_SCCR2_I2C_EN) +  #endif	/* __CONFIG_H */ diff --git a/include/configs/exynos5250-dt.h b/include/configs/exynos5250-dt.h index cabd2f252..1c624d4a5 100644 --- a/include/configs/exynos5250-dt.h +++ b/include/configs/exynos5250-dt.h @@ -33,6 +33,7 @@  #include <asm/arch/cpu.h>		/* get chip and board defs */ +#define CONFIG_SYS_GENERIC_BOARD  #define CONFIG_ARCH_CPU_INIT  #define CONFIG_DISPLAY_CPUINFO  #define CONFIG_DISPLAY_BOARDINFO diff --git a/include/configs/km/keymile-common.h b/include/configs/km/keymile-common.h index 796f33080..3b15c4e69 100644 --- a/include/configs/km/keymile-common.h +++ b/include/configs/km/keymile-common.h @@ -24,10 +24,6 @@  #ifndef __CONFIG_KEYMILE_H  #define __CONFIG_KEYMILE_H -/* Do boardspecific init for all boards */ -#define CONFIG_BOARD_EARLY_INIT_R -#define CONFIG_LAST_STAGE_INIT -  #define CONFIG_BOOTCOUNT_LIMIT  /* diff --git a/include/configs/km/km-powerpc.h b/include/configs/km/km-powerpc.h index bd5bdbcb4..b84f12dbe 100644 --- a/include/configs/km/km-powerpc.h +++ b/include/configs/km/km-powerpc.h @@ -24,6 +24,10 @@  #ifndef __CONFIG_KEYMILE_POWERPC_H  #define __CONFIG_KEYMILE_POWERPC_H +/* Do boardspecific init for all boards */ +#define CONFIG_BOARD_EARLY_INIT_R +#define CONFIG_LAST_STAGE_INIT +  #define CONFIG_BOOTCOUNT_LIMIT  #define CONFIG_CMD_DTT diff --git a/include/configs/mecp5123.h b/include/configs/mecp5123.h index cafc273c8..af302573e 100644 --- a/include/configs/mecp5123.h +++ b/include/configs/mecp5123.h @@ -191,6 +191,10 @@  #define CONFIG_SYS_SRAM_BASE		0x30000000  #define CONFIG_SYS_SRAM_SIZE		0x00020000	/* 128 KB */ +/* Initialize Local Window for NOR FLASH access */ +#define CONFIG_SYS_CS0_START		CONFIG_SYS_FLASH_BASE +#define CONFIG_SYS_CS0_SIZE		CONFIG_SYS_FLASH_SIZE +  /* ALE active low, data size 4bytes */  #define CONFIG_SYS_CS0_CFG		0x05051150 @@ -201,6 +205,9 @@  #define CONFIG_SYS_CS1_CFG		0x1f1f3090  #define CONFIG_SYS_VPC3_BASE		0x82000000	/* start of VPC3 space */  #define CONFIG_SYS_VPC3_SIZE		0x00010000	/* max VPC3 size */ +/* Initialize Local Window for VPC3 access */ +#define CONFIG_SYS_CS1_START		CONFIG_SYS_VPC3_BASE +#define CONFIG_SYS_CS1_SIZE		CONFIG_SYS_VPC3_SIZE  /* Use SRAM for initial stack */  #define CONFIG_SYS_INIT_RAM_ADDR	CONFIG_SYS_SRAM_BASE /* Init RAM addr */ @@ -235,6 +242,23 @@  #define CONSOLE_FIFO_RX_SIZE	FIFOC_PSC3_RX_SIZE  #define CONSOLE_FIFO_RX_ADDR	FIFOC_PSC3_RX_ADDR +/* + * Clocks in use + */ +#define SCCR1_CLOCKS_EN	(CLOCK_SCCR1_CFG_EN |				\ +			 CLOCK_SCCR1_LPC_EN |				\ +			 CLOCK_SCCR1_PSC_EN(CONFIG_PSC_CONSOLE) |	\ +			 CLOCK_SCCR1_PSCFIFO_EN |			\ +			 CLOCK_SCCR1_DDR_EN |				\ +			 CLOCK_SCCR1_FEC_EN |				\ +			 CLOCK_SCCR1_NFC_EN |				\ +			 CLOCK_SCCR1_PCI_EN |				\ +			 CLOCK_SCCR1_TPR_EN) + +#define SCCR2_CLOCKS_EN	(CLOCK_SCCR2_MEM_EN |	\ +			 CLOCK_SCCR2_I2C_EN) + +  #define CONFIG_CMDLINE_EDITING	1	/* add command line history	*/  /* Use the HUSH parser */  #define CONFIG_SYS_HUSH_PARSER diff --git a/include/configs/mpc5121ads.h b/include/configs/mpc5121ads.h index 3f55d354e..6e6af62cc 100644 --- a/include/configs/mpc5121ads.h +++ b/include/configs/mpc5121ads.h @@ -258,6 +258,8 @@   */  #define CONFIG_SYS_CPLD_BASE		0x82000000  #define CONFIG_SYS_CPLD_SIZE		0x00010000	/* 64 KB */ +#define CONFIG_SYS_CS2_START		CONFIG_SYS_CPLD_BASE +#define CONFIG_SYS_CS2_SIZE		CONFIG_SYS_CPLD_SIZE  #define CONFIG_SYS_SRAM_BASE		0x30000000  #define CONFIG_SYS_SRAM_SIZE		0x00020000	/* 128 KB */ @@ -310,6 +312,27 @@  #endif  /* + * Clocks in use + */ +#define SCCR1_CLOCKS_EN	(CLOCK_SCCR1_CFG_EN |				\ +			 CLOCK_SCCR1_DDR_EN |				\ +			 CLOCK_SCCR1_FEC_EN |				\ +			 CLOCK_SCCR1_LPC_EN |				\ +			 CLOCK_SCCR1_NFC_EN |				\ +			 CLOCK_SCCR1_PATA_EN |				\ +			 CLOCK_SCCR1_PCI_EN |				\ +			 CLOCK_SCCR1_PSC_EN(CONFIG_PSC_CONSOLE) |	\ +			 CLOCK_SCCR1_PSCFIFO_EN |			\ +			 CLOCK_SCCR1_TPR_EN) + +#define SCCR2_CLOCKS_EN	(CLOCK_SCCR2_DIU_EN |		\ +			 CLOCK_SCCR2_I2C_EN |		\ +			 CLOCK_SCCR2_MEM_EN |		\ +			 CLOCK_SCCR2_SPDIF_EN |		\ +			 CLOCK_SCCR2_USB1_EN |		\ +			 CLOCK_SCCR2_USB2_EN) + +/*   * PCI   */  #ifdef CONFIG_PCI diff --git a/include/configs/pdm360ng.h b/include/configs/pdm360ng.h index 671e9eb1e..306abcc8e 100644 --- a/include/configs/pdm360ng.h +++ b/include/configs/pdm360ng.h @@ -68,7 +68,6 @@  #define CONFIG_SYS_MPC512X_CLKIN	33333333	/* in Hz */ -#define CONFIG_BOARD_EARLY_INIT_F	/* call board_early_init_f() */  #define CONFIG_MISC_INIT_R  #define CONFIG_SYS_IMMR			0x80000000 @@ -206,6 +205,9 @@  #define CONFIG_SYS_SRAM_BASE		0x50000000  #define CONFIG_SYS_SRAM_SIZE		0x00020000	/* 128 KB */ +#define CONFIG_SYS_CS1_START		CONFIG_SYS_FLASH1_BASE +#define CONFIG_SYS_CS1_SIZE		CONFIG_SYS_FLASH_SIZE +  /* ALE active low, data size 4 bytes */  #define CONFIG_SYS_CS0_CFG		0x05059350  /* ALE active low, data size 4 bytes */ @@ -213,6 +215,9 @@  #define CONFIG_SYS_MRAM_BASE		0x50040000  #define CONFIG_SYS_MRAM_SIZE		0x00020000 +#define CONFIG_SYS_CS2_START		CONFIG_SYS_MRAM_BASE +#define CONFIG_SYS_CS2_SIZE		CONFIG_SYS_MRAM_SIZE +  /* ALE active low, data size 4 bytes */  #define CONFIG_SYS_CS2_CFG		0x05059110 @@ -296,6 +301,23 @@  #define CONSOLE_FIFO_RX_ADDR	FIFOC_PSC6_RX_ADDR  /* + * Clocks in use + */ +#define SCCR1_CLOCKS_EN	(CLOCK_SCCR1_CFG_EN |				\ +			 CLOCK_SCCR1_LPC_EN |				\ +			 CLOCK_SCCR1_NFC_EN |				\ +			 CLOCK_SCCR1_PSC_EN(CONFIG_PSC_CONSOLE) |	\ +			 CLOCK_SCCR1_PSCFIFO_EN |			\ +			 CLOCK_SCCR1_DDR_EN |				\ +			 CLOCK_SCCR1_FEC_EN |				\ +			 CLOCK_SCCR1_TPR_EN) + +#define SCCR2_CLOCKS_EN	(CLOCK_SCCR2_MEM_EN |		\ +			 CLOCK_SCCR2_SPDIF_EN |		\ +			 CLOCK_SCCR2_DIU_EN |		\ +			 CLOCK_SCCR2_I2C_EN) + +/*   * Used PSC UART devices   */  #define CONFIG_SYS_PSC1 diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h index 4cc35e5a8..036ded0c7 100644 --- a/include/configs/tegra-common.h +++ b/include/configs/tegra-common.h @@ -167,6 +167,7 @@  #define CONFIG_SPL_SERIAL_SUPPORT  #define CONFIG_SPL_GPIO_SUPPORT +#define CONFIG_SYS_GENERIC_BOARD  /* Misc utility code */  #define CONFIG_BOUNCE_BUFFER diff --git a/include/ide.h b/include/ide.h index 158e1beaf..afea85cdc 100644 --- a/include/ide.h +++ b/include/ide.h @@ -85,4 +85,11 @@ void ide_output_data(int dev, const ulong *sect_buf, int words);  void ide_input_data_shorts(int dev, ushort *sect_buf, int shorts);  void ide_output_data_shorts(int dev, ushort *sect_buf, int shorts); +/** + * board_start_ide() - Start up the board IDE interfac + * + * @return 0 if ok + */ +int board_start_ide(void); +  #endif /* _IDE_H */ diff --git a/include/initcall.h b/include/initcall.h new file mode 100644 index 000000000..9e54fa5c2 --- /dev/null +++ b/include/initcall.h @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2011 The Chromium OS Authors. + * + * 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 + */ + +typedef int (*init_fnc_t)(void); + +int initcall_run_list(init_fnc_t init_sequence[]); diff --git a/include/watchdog.h b/include/watchdog.h index 8c92a0b31..97ec186be 100644 --- a/include/watchdog.h +++ b/include/watchdog.h @@ -27,6 +27,24 @@  #ifndef _WATCHDOG_H_  #define _WATCHDOG_H_ +#if !defined(__ASSEMBLY__) +/* + * Reset the watchdog timer, always returns 0 + * + * This function is here since it is shared between board_f() and board_r(), + * and the legacy arch/<arch>/board.c code. + */ +int init_func_watchdog_reset(void); +#endif + +#ifdef CONFIG_WATCHDOG +#define INIT_FUNC_WATCHDOG_INIT	init_func_watchdog_init, +#define INIT_FUNC_WATCHDOG_RESET	init_func_watchdog_reset, +#else +#define INIT_FUNC_WATCHDOG_INIT +#define INIT_FUNC_WATCHDOG_RESET +#endif +  #if defined(CONFIG_HW_WATCHDOG) && defined(CONFIG_WATCHDOG)  #  error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together."  #endif |