diff options
| -rw-r--r-- | board/sc520_cdp/sc520_cdp.c | 10 | ||||
| -rw-r--r-- | drivers/mtd/mw_eeprom.c | 2 | ||||
| -rw-r--r-- | examples/82559_eeprom.c | 16 | ||||
| -rw-r--r-- | include/asm-i386/byteorder.h | 4 | ||||
| -rw-r--r-- | include/asm-i386/global_data.h | 4 | ||||
| -rw-r--r-- | include/asm-i386/ic/ssi.h | 34 | ||||
| -rw-r--r-- | include/asm-i386/pci.h | 1 | ||||
| -rw-r--r-- | include/asm-i386/string.h | 2 | ||||
| -rw-r--r-- | include/configs/sc520_cdp.h | 24 | ||||
| -rw-r--r-- | lib_i386/bios_setup.c | 6 | ||||
| -rw-r--r-- | lib_i386/board.c | 13 | ||||
| -rw-r--r-- | lib_i386/bootm.c | 2 | ||||
| -rw-r--r-- | lib_i386/video_bios.c | 3 | 
13 files changed, 96 insertions, 25 deletions
| diff --git a/board/sc520_cdp/sc520_cdp.c b/board/sc520_cdp/sc520_cdp.c index f21c73002..99debde50 100644 --- a/board/sc520_cdp/sc520_cdp.c +++ b/board/sc520_cdp/sc520_cdp.c @@ -114,7 +114,7 @@ static void irq_init(void)  } - +#ifdef CONFIG_PCI  /* PCI stuff */  static void pci_sc520_cdp_fixup_irq(struct pci_controller *hose, pci_dev_t dev)  { @@ -129,7 +129,7 @@ static void pci_sc520_cdp_fixup_irq(struct pci_controller *hose, pci_dev_t dev)  	};  	static int next_irq_index=0; -	char tmp_pin; +	uchar tmp_pin;  	int pin;  	pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_PIN, &tmp_pin); @@ -193,7 +193,7 @@ void pci_init_board(void)  {  	pci_sc520_init(&sc520_cdp_hose);  } - +#endif  static void silence_uart(int port)  { @@ -563,12 +563,12 @@ void spi_eeprom_probe(int x)  {  } -int spi_eeprom_read(int x, int offset, char *buffer, int len) +int spi_eeprom_read(int x, int offset, uchar *buffer, int len)  {         return 0;  } -int spi_eeprom_write(int x, int offset, char *buffer, int len) +int spi_eeprom_write(int x, int offset, uchar *buffer, int len)  {         return 0;  } diff --git a/drivers/mtd/mw_eeprom.c b/drivers/mtd/mw_eeprom.c index f32ced4c2..f7791b51a 100644 --- a/drivers/mtd/mw_eeprom.c +++ b/drivers/mtd/mw_eeprom.c @@ -1,7 +1,7 @@  /* Three-wire (MicroWire) serial eeprom driver (for 93C46 and compatibles) */  #include <common.h> -#include <ssi.h> +#include <asm/ic/ssi.h>  /*   * Serial EEPROM opcodes, including start bit diff --git a/examples/82559_eeprom.c b/examples/82559_eeprom.c index 1a121d428..d99af26fe 100644 --- a/examples/82559_eeprom.c +++ b/examples/82559_eeprom.c @@ -51,13 +51,17 @@ static inline unsigned short swap16(unsigned short x)  } -static inline void *memcpy(void *dst, const void *src, unsigned int len) +void * memcpy(void * dest,const void *src,size_t count)  { -	void * ret = dst; -	while (len-- > 0) *((char *)dst)++ = *((char *)src)++; -	return ret; +	char *tmp = (char *) dest, *s = (char *) src; + +	while (count--) +		*tmp++ = *s++; + +	return dest;  } +  /* The EEPROM commands include the alway-set leading bit. */  #define EE_WRITE_CMD	(5)  #define EE_READ_CMD		(6) @@ -156,7 +160,7 @@ static int reset_eeprom(unsigned long ioaddr, unsigned char *hwaddr)  	int size_test;  	int i; -	printf("Resetting i82559 EEPROM @ 0x%08x ... ", ioaddr); +	printf("Resetting i82559 EEPROM @ 0x%08lx ... ", ioaddr);  	size_test = do_eeprom_cmd(ioaddr, (EE_READ_CMD << 8) << 16, 27);  	eeprom_addr_size = (size_test & 0xffe0000) == 0xffe0000 ? 8 : 6; @@ -305,7 +309,7 @@ write_config_word(int bus, int dev, int func, int reg, u16 data)  int main (int argc, char *argv[])  {  	unsigned char *eth_addr; -	char buf[6]; +	uchar buf[6];  	int instance;  	app_startup(argv); diff --git a/include/asm-i386/byteorder.h b/include/asm-i386/byteorder.h index a9c69d5b1..7dfeb8bbe 100644 --- a/include/asm-i386/byteorder.h +++ b/include/asm-i386/byteorder.h @@ -6,7 +6,7 @@  #ifdef __GNUC__ -static __inline__ __const__ __u32 ___arch__swab32(__u32 x) +static __inline__ __u32 ___arch__swab32(__u32 x)  {  #ifdef CONFIG_X86_BSWAP  	__asm__("bswap %0" : "=r" (x) : "0" (x)); @@ -20,7 +20,7 @@ static __inline__ __const__ __u32 ___arch__swab32(__u32 x)  	return x;  } -static __inline__ __const__ __u16 ___arch__swab16(__u16 x) +static __inline__ __u16 ___arch__swab16(__u16 x)  {  	__asm__("xchgb %b0,%h0"		/* swap bytes		*/ \  		: "=q" (x) \ diff --git a/include/asm-i386/global_data.h b/include/asm-i386/global_data.h index 35bad23c1..cc30689d2 100644 --- a/include/asm-i386/global_data.h +++ b/include/asm-i386/global_data.h @@ -59,8 +59,8 @@ typedef	struct {  #define	GD_FLG_LOGINIT	0x00020		/* Log Buffer has been initialized	*/  #define GD_FLG_DISABLE_CONSOLE	0x00040		/* Disable console (in & out)	 */ -extern gd_t *global_data; +extern gd_t *gd; -#define DECLARE_GLOBAL_DATA_PTR     gd_t *gd = global_data +#define DECLARE_GLOBAL_DATA_PTR  #endif /* __ASM_GBL_DATA_H */ diff --git a/include/asm-i386/ic/ssi.h b/include/asm-i386/ic/ssi.h new file mode 100644 index 000000000..bd48eab16 --- /dev/null +++ b/include/asm-i386/ic/ssi.h @@ -0,0 +1,34 @@ +/* + * (C) Copyright 2008 + * Graeme Russ <graeme.russ@gmail.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 _ASM_IC_SSI_H_ +#define _ASM_IC_SSI_H_ 1 + +int ssi_set_interface(int, int, int, int); +void ssi_chip_select(int); +u8 ssi_txrx_byte(u8); +void ssi_tx_byte(u8); +u8 ssi_rx_byte(void); + + +#endif diff --git a/include/asm-i386/pci.h b/include/asm-i386/pci.h index bde95509a..050a2bb86 100644 --- a/include/asm-i386/pci.h +++ b/include/asm-i386/pci.h @@ -31,5 +31,4 @@ int pci_enable_legacy_video_ports(struct pci_controller* hose);  int pci_shadow_rom(pci_dev_t dev, unsigned char *dest);  void pci_remove_rom_window(struct pci_controller* hose, u32 addr);  u32 pci_get_rom_window(struct pci_controller* hose, int size); -  #endif diff --git a/include/asm-i386/string.h b/include/asm-i386/string.h index 91a23f951..3643a79fd 100644 --- a/include/asm-i386/string.h +++ b/include/asm-i386/string.h @@ -5,6 +5,8 @@   * We don't do inline string functions, since the   * optimised inline asm versions are not small.   */ +#undef __HAVE_ARCH_STRNCPY +extern char *strncpy(char *__dest, __const__ char *__src, __kernel_size_t __n);  #undef __HAVE_ARCH_STRRCHR  extern char * strrchr(const char * s, int c); diff --git a/include/configs/sc520_cdp.h b/include/configs/sc520_cdp.h index e29655e63..dfe7b7d3e 100644 --- a/include/configs/sc520_cdp.h +++ b/include/configs/sc520_cdp.h @@ -28,6 +28,7 @@  #ifndef __CONFIG_H  #define __CONFIG_H +#define GRUSS_TESTING  /*   * High Level Configuration Options   * (easy to change) @@ -81,7 +82,11 @@  #include <config_cmd_default.h>  #define CONFIG_CMD_PCI +#ifndef GRUSS_TESTING  #define CONFIG_CMD_SATA +#else +#undef CONFIG_CMD_SATA +#endif  #define CONFIG_CMD_JFFS2  #define CONFIG_CMD_NET  #define CONFIG_CMD_EEPROM @@ -175,10 +180,18 @@  /************************************************************  *SATA/Native Stuff  ************************************************************/ +#ifndef GRUSS_TESTING  #define CFG_SATA_MAXBUS         2       /*Max Sata buses supported */  #define CFG_SATA_DEVS_PER_BUS   2      /*Max no. of devices per bus/port */  #define CFG_SATA_MAX_DEVICE     (CFG_SATA_MAXBUS* CFG_SATA_DEVS_PER_BUS)  #define CONFIG_ATA_PIIX		1       /*Supports ata_piix driver */ +#else +#undef CFG_SATA_MAXBUS +#undef CFG_SATA_DEVS_PER_BUS +#undef CFG_SATA_MAX_DEVICE +#undef CONFIG_ATA_PIIX +#endif +  /************************************************************   * DISK Partition support @@ -190,7 +203,11 @@  /************************************************************   * Video/Keyboard support   ************************************************************/ +#ifndef GRUSS_TESTING  #define CONFIG_VIDEO			/* To enable video controller support */ +#else +#undef CONFIG_VIDEO +#endif  #define CONFIG_I8042_KBD  #define CFG_ISA_IO 0 @@ -203,6 +220,7 @@  /*   * PCI stuff   */ +#ifndef GRUSS_TESTING  #define CONFIG_PCI                                /* include pci support */  #define CONFIG_PCI_PNP                            /* pci plug-and-play */  #define CONFIG_PCI_SCAN_SHOW @@ -211,5 +229,11 @@  #define	CFG_SECOND_PCI_IRQ  9  #define CFG_THIRD_PCI_IRQ   11  #define	CFG_FORTH_PCI_IRQ   15 +#else +#undef CONFIG_PCI +#undef CONFIG_PCI_PNP +#undef CONFIG_PCI_SCAN_SHOW +#endif +  #endif	/* __CONFIG_H */ diff --git a/lib_i386/bios_setup.c b/lib_i386/bios_setup.c index 75f04a01f..33c842c6a 100644 --- a/lib_i386/bios_setup.c +++ b/lib_i386/bios_setup.c @@ -140,8 +140,9 @@ int bios_setup(void)  {  	static int done=0;  	int vector; +#ifdef CONFIG_PCI  	struct pci_controller *pri_hose; - +#endif  	if (done) {  		return 0;  	} @@ -223,12 +224,13 @@ int bios_setup(void)  	 * (This, ofcause break on multi hose systems,  	 *  but our PCI BIOS only support one hose anyway)  	 */ +#ifdef CONFIG_PCI  	pri_hose = pci_bus_to_hose(0);  	if (NULL != pri_hose) {  		/* fill in last pci bus number for use by the realmode  		 * PCI BIOS */  		RELOC_16_BYTE(0xf000, pci_last_bus) = pri_hose->last_busno;  	} - +#endif  	return 0;  } diff --git a/lib_i386/board.c b/lib_i386/board.c index 55fa42af4..f3da0a292 100644 --- a/lib_i386/board.c +++ b/lib_i386/board.c @@ -213,7 +213,7 @@ init_fnc_t *init_sequence[] = {  	NULL,  }; -gd_t *global_data; +gd_t *gd;  void start_i386boot (void)  { @@ -226,7 +226,7 @@ void start_i386boot (void)  	show_boot_progress(0x21); -	gd = global_data = &gd_data; +	gd = &gd_data;  	/* compiler optimization barrier needed for GCC >= 3.4 */  	__asm__ __volatile__("": : :"memory"); @@ -266,7 +266,7 @@ void start_i386boot (void)  		int i;  		ulong reg;  		char *s, *e; -		uchar tmp[64]; +		char tmp[64];  		i = getenv_r ("ethaddr", tmp, sizeof (tmp));  		s = (i > 0) ? tmp : NULL; @@ -412,7 +412,10 @@ void hang (void)  unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[])  {  	/* -	 * Nios function pointers are address >> 1 +	 * TODO: Test this function - changed to fix compiler error. +	 * Original code was: +	 *   return (entry >> 1) (argc, argv); +	 * with a comment about Nios function pointers are address >> 1  	 */ -	return (entry >> 1) (argc, argv); +	return (entry) (argc, argv);  } diff --git a/lib_i386/bootm.c b/lib_i386/bootm.c index 522d7ad8e..613e339a5 100644 --- a/lib_i386/bootm.c +++ b/lib_i386/bootm.c @@ -34,7 +34,7 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)  	void		*base_ptr;  	ulong		os_data, os_len;  	image_header_t	*hdr; -	int		ret; +  #if defined(CONFIG_FIT)  	const void	*data;  	size_t		len; diff --git a/lib_i386/video_bios.c b/lib_i386/video_bios.c index 45f78e22f..ce96a3e05 100644 --- a/lib_i386/video_bios.c +++ b/lib_i386/video_bios.c @@ -136,6 +136,8 @@ static u32 probe_pci_video(void)  #endif +#ifdef CONFIG_VIDEO +  static int probe_isa_video(void)  {  	u32 ptr; @@ -217,3 +219,4 @@ int video_bios_init(void)  	return 1;  } +#endif |