diff options
Diffstat (limited to 'common')
| -rw-r--r-- | common/cmd_eeprom.c | 20 | ||||
| -rw-r--r-- | common/console.c | 14 | ||||
| -rw-r--r-- | common/main.c | 26 | 
3 files changed, 52 insertions, 8 deletions
| diff --git a/common/cmd_eeprom.c b/common/cmd_eeprom.c index 32bab1a8c..3db0bca69 100644 --- a/common/cmd_eeprom.c +++ b/common/cmd_eeprom.c @@ -327,6 +327,26 @@ int eeprom_write (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cn  	return rcode;  } +#ifndef CONFIG_SPI +int +eeprom_probe (unsigned dev_addr, unsigned offset) +{ +	unsigned char chip; + +	/* Probe the chip address +	 */ +#if CFG_I2C_EEPROM_ADDR_LEN == 1 && !defined(CONFIG_SPI_X) +	chip = offset >> 8;		/* block number */ +#else +	chip = offset >> 16;		/* block number */ +#endif	/* CFG_I2C_EEPROM_ADDR_LEN, CONFIG_SPI_X */ + +	chip |= dev_addr;		/* insert device address */ + +	return (i2c_probe (chip)); +} +#endif +  /*-----------------------------------------------------------------------   * Set default values   */ diff --git a/common/console.c b/common/console.c index 86ed58421..8c94aa765 100644 --- a/common/console.c +++ b/common/console.c @@ -232,6 +232,20 @@ void printf (const char *fmt, ...)  	puts (printbuffer);  } +void vprintf (const char *fmt, va_list args) +{ +	uint i; +	char printbuffer[CFG_PBSIZE]; + +	/* For this to work, printbuffer must be larger than +	 * anything we ever want to print. +	 */ +	i = vsprintf (printbuffer, fmt, args); + +	/* Print the string */ +	puts (printbuffer); +} +  /* test if ctrl-c was pressed */  static int ctrlc_disabled = 0;	/* see disable_ctrl() */  static int ctrlc_was_pressed = 0; diff --git a/common/main.c b/common/main.c index 6192dff36..f538870d5 100644 --- a/common/main.c +++ b/common/main.c @@ -319,13 +319,7 @@ void main_loop (void)  	debug ("### main_loop entered: bootdelay=%d\n\n", bootdelay);  # ifdef CONFIG_BOOT_RETRY_TIME -	s = getenv ("bootretry"); -	if (s != NULL) -		retry_time = (int)simple_strtoul(s, NULL, 10); -	else -		retry_time =  CONFIG_BOOT_RETRY_TIME; -	if (retry_time >= 0 && retry_time < CONFIG_BOOT_RETRY_MIN) -		retry_time = CONFIG_BOOT_RETRY_MIN; +	init_cmd_timeout ();  # endif	/* CONFIG_BOOT_RETRY_TIME */  	s = getenv ("bootcmd"); @@ -422,10 +416,26 @@ void main_loop (void)  #endif /*CFG_HUSH_PARSER*/  } +#ifdef CONFIG_BOOT_RETRY_TIME +/*************************************************************************** + * initialise command line timeout + */ +void init_cmd_timeout(void) +{ +	char *s = getenv ("bootretry"); + +	if (s != NULL) +		retry_time = (int)simple_strtoul(s, NULL, 10); +	else +		retry_time =  CONFIG_BOOT_RETRY_TIME; + +	if (retry_time >= 0 && retry_time < CONFIG_BOOT_RETRY_MIN) +		retry_time = CONFIG_BOOT_RETRY_MIN; +} +  /***************************************************************************   * reset command line timeout to retry_time seconds   */ -#ifdef CONFIG_BOOT_RETRY_TIME  void reset_cmd_timeout(void)  {  	endtime = endtick(retry_time); |