X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fcommon.h;h=39c232a0ffa96824b18b4433b8e042cb0581d131;hb=5779d8d985d95104ad74332f5fa3cb6c67645509;hp=bce0132afc77fb97db217f3ace1fd39450a0ee25;hpb=6069ff265362ef6239749b5f598b137f407b821e;p=u-boot diff --git a/include/common.h b/include/common.h index bce0132afc..39c232a0ff 100644 --- a/include/common.h +++ b/include/common.h @@ -43,14 +43,34 @@ typedef volatile unsigned char vu_char; #endif #ifdef CONFIG_8xx #include +#ifdef CONFIG_MPC860 +#define CONFIG_MPC86x 1 +#endif +#ifdef CONFIG_MPC860T +#define CONFIG_MPC86x 1 +#endif +#if defined(CONFIG_MPC866P) || \ + defined(CONFIG_MPC866T) || \ + defined(CONFIG_MPC859T) || \ + defined(CONFIG_MPC859DSL) || \ + defined(CONFIG_MPC852T) +#define CONFIG_MPC866_et_al 1 +#define CONFIG_MPC86x 1 +#endif +#elif defined(CONFIG_5xx) +#include #elif defined(CONFIG_8260) #include #endif +#ifdef CONFIG_MPC85xx +#include +#include +#endif #ifdef CONFIG_4xx #include #endif #ifdef CONFIG_HYMOD -#include +#include #endif #ifdef CONFIG_ARM #define asmlinkage /* nothing */ @@ -62,8 +82,10 @@ typedef volatile unsigned char vu_char; #ifdef DEBUG #define debug(fmt,args...) printf (fmt ,##args) +#define debugX(level,fmt,args...) if (DEBUG>=level) printf(fmt,##args); #else #define debug(fmt,args...) +#define debugX(level,fmt,args...) #endif /* DEBUG */ typedef void (interrupt_handler_t)(void *); @@ -71,9 +93,21 @@ typedef void (interrupt_handler_t)(void *); #include /* boot information for Linux kernel */ #include /* global data used for startup functions */ -/* enable common handling for all TQM8xxL boards */ +/* + * enable common handling for all TQM8xxL/M boards: + * - CONFIG_TQM8xxM will be defined for all TQM8xxM boards + * - CONFIG_TQM8xxL will be defined for all TQM8xxL _and_ TQM8xxM boards + */ +#if defined(CONFIG_TQM823M) || defined(CONFIG_TQM850M) || \ + defined(CONFIG_TQM855M) || defined(CONFIG_TQM860M) || \ + defined(CONFIG_TQM862M) +# ifndef CONFIG_TQM8xxM +# define CONFIG_TQM8xxM +# endif +#endif #if defined(CONFIG_TQM823L) || defined(CONFIG_TQM850L) || \ - defined(CONFIG_TQM855L) || defined(CONFIG_TQM860L) + defined(CONFIG_TQM855L) || defined(CONFIG_TQM860L) || \ + defined(CONFIG_TQM862L) || defined(CONFIG_TQM8xxM) # ifndef CONFIG_TQM8xxL # define CONFIG_TQM8xxL # endif @@ -115,9 +149,10 @@ void print_size (ulong, const char *); void main_loop (void); int run_command (const char *cmd, int flag); int readline (const char *const prompt); +void init_cmd_timeout(void); void reset_cmd_timeout(void); -/* common/board.c */ +/* lib_$(ARCH)/board.c */ void board_init_f (ulong); void board_init_r (gd_t *, ulong); int checkboard (void); @@ -125,12 +160,16 @@ int checkflash (void); int checkdram (void); char * strmhz(char *buf, long hz); int last_stage_init(void); +extern ulong monitor_flash_len; /* common/flash.c */ void flash_perror (int); +/* common/cmd_autoscript.c */ +int autoscript (ulong addr); + /* common/cmd_bootm.c */ -void print_image_hdr (image_header_t *hdr); +void print_image_hdr (image_header_t *hdr); extern ulong load_addr; /* Default Load Address */ @@ -149,7 +188,7 @@ void setenv (char *, char *); # include /* ARM version to be fixed! */ #endif /* CONFIG_ARM */ #ifdef CONFIG_I386 /* x86 version to be fixed! */ -# include +# include #endif /* CONFIG_I386 */ void pci_init (void); @@ -172,12 +211,18 @@ void pciinfo (int, int); int misc_init_f (void); int misc_init_r (void); +/* common/exports.c */ +void jumptable_init(void); + /* $(BOARD)/$(BOARD).c */ void reset_phy (void); void fdc_hw_init (void); /* $(BOARD)/eeprom.c */ void eeprom_init (void); +#ifndef CONFIG_SPI +int eeprom_probe (unsigned dev_addr, unsigned offset); +#endif int eeprom_read (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cnt); int eeprom_write (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cnt); #ifdef CONFIG_LWMON @@ -195,7 +240,7 @@ extern void pic_write (uchar reg, uchar val); # define CFG_DEF_EEPROM_ADDR CFG_I2C_EEPROM_ADDR #endif /* CONFIG_SPI || !defined(CFG_I2C_EEPROM_ADDR) */ -#if defined(CONFIG_PCU_E) || defined(CONFIG_CCM) +#if defined(CONFIG_SPI) extern void spi_init_f (void); extern void spi_init_r (void); extern ssize_t spi_read (uchar *, int, uchar *, int); @@ -233,6 +278,7 @@ void load_sernum_ethaddr (void); /* $(BOARD)/$(BOARD).c */ int board_pre_init (void); +int board_post_init (void); int board_postclk_init (void); /* after clocks/timebase, before env/serial */ void board_poweroff (void); @@ -241,9 +287,11 @@ int testdram(void); #endif /* CFG_DRAM_TEST */ /* $(CPU)/start.S */ -#ifdef CONFIG_8xx +#if defined(CONFIG_5xx) || \ + defined(CONFIG_8xx) uint get_immr (uint); #endif +uint get_pir (void); uint get_pvr (void); uint rd_ic_cst (void); void wr_ic_cst (uint); @@ -301,6 +349,9 @@ int get_clocks (void); #if defined(CONFIG_8260) int prt_8260_clks (void); #endif +#if defined(CONFIG_MPC5XXX) +int prt_mpc5xxx_clks (void); +#endif #ifdef CONFIG_4xx ulong get_OPB_freq (void); ulong get_PCI_freq (void); @@ -313,6 +364,11 @@ ulong get_UCLK (void); #endif ulong get_bus_freq (ulong); +#if defined(CONFIG_MPC85xx) +typedef MPC85xx_SYS_INFO sys_info_t; +void get_sys_info ( sys_info_t * ); +#endif + #if defined(CONFIG_4xx) || defined(CONFIG_IOP480) # if defined(CONFIG_440) typedef PPC440_SYS_INFO sys_info_t; @@ -326,7 +382,7 @@ void get_sys_info ( sys_info_t * ); #if defined(CONFIG_8xx) || defined(CONFIG_8260) void cpu_init_f (volatile immap_t *immr); #endif -#ifdef CONFIG_4xx +#if defined(CONFIG_4xx) || defined(CONFIG_MPC85xx) void cpu_init_f (void); #endif int cpu_init_r (void); @@ -354,6 +410,9 @@ uint dpram_alloc(uint size); uint dpram_alloc_align(uint size,uint align); void post_word_store (ulong); ulong post_word_load (void); +void bootcount_store (ulong); +ulong bootcount_load (void); +#define BOOTCOUNT_MAGIC 0xB001C041 /* $(CPU)/.../ */ void mii_init (void); @@ -370,30 +429,29 @@ ulong video_setmem (ulong); /* ppc/cache.c */ void flush_cache (unsigned long, unsigned long); -/* ppc/ticks.S */ + +/* lib_$(ARCH)/ticks.S */ unsigned long long get_ticks(void); void wait_ticks (unsigned long); -/* ppc/time.c */ +/* lib_$(ARCH)/time.c */ void udelay (unsigned long); ulong usec2ticks (unsigned long usec); ulong ticks2usec (unsigned long ticks); int init_timebase (void); -/* ppc/vsprintf.c */ +/* lib_generic/vsprintf.c */ ulong simple_strtoul(const char *cp,char **endp,unsigned int base); long simple_strtol(const char *cp,char **endp,unsigned int base); void panic(const char *fmt, ...); int sprintf(char * buf, const char *fmt, ...); int vsprintf(char *buf, const char *fmt, va_list args); -/* ppc/crc32.c */ +/* lib_generic/crc32.c */ ulong crc32 (ulong, const unsigned char *, uint); ulong crc32_no_comp (ulong, const unsigned char *, uint); /* common/console.c */ -extern void **syscall_tbl; - int console_init_f(void); /* Before relocation; uses the serial stuff */ int console_init_r(void); /* After relocation; uses the console stuff */ int console_assign (int file, char *devname); /* Assign the console */ @@ -417,6 +475,7 @@ int tstc(void); void putc(const char c); void puts(const char *s); void printf(const char *fmt, ...); +void vprintf(const char *fmt, va_list args); /* stderr */ #define eputc(c) fputc(stderr, c)