diff options
| author | Jon Smirl <jonsmirl@gmail.com> | 2009-03-22 22:55:45 -0400 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2009-03-25 22:50:04 +0100 | 
| commit | 33e88c557b29c84c52039ba05993fa70fe62afe3 (patch) | |
| tree | d700cf0ba3ec21f2967697c5f752c2f6a19bf3cc | |
| parent | 2c5bd16af132bb6e9158c43fc6206fa0f1f501c1 (diff) | |
| download | olio-uboot-2014.01-33e88c557b29c84c52039ba05993fa70fe62afe3.tar.xz olio-uboot-2014.01-33e88c557b29c84c52039ba05993fa70fe62afe3.zip | |
mpc5200: suppress printf until console initialized
On boards which have the environment in eeprom, i2c_init() is called
before the console and RAM are initialized.
Suppress printfs until the console is initialized.
Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: Heiko Schocher <hs@denx.de>
| -rw-r--r-- | cpu/mpc5xxx/i2c.c | 30 | 
1 files changed, 20 insertions, 10 deletions
| diff --git a/cpu/mpc5xxx/i2c.c b/cpu/mpc5xxx/i2c.c index 7d76274ad..e2506d82f 100644 --- a/cpu/mpc5xxx/i2c.c +++ b/cpu/mpc5xxx/i2c.c @@ -269,7 +269,8 @@ static int mpc_get_fdr(int speed)  		if (gd->flags & GD_FLG_RELOC) {  			fdr = divider;  		} else { -			printf("%ld kHz, ", best_speed / 1000); +			if (gd->have_console) +				printf("%ld kHz, ", best_speed / 1000);  			return divider;  		}  	} @@ -310,29 +311,34 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len)  	xaddr[3] =  addr	& 0xFF;  	if (wait_for_bb()) { -		printf("i2c_read: bus is busy\n"); +		if (gd->have_console) +			printf("i2c_read: bus is busy\n");  		goto Done;  	}  	mpc_reg_out(®s->mcr, I2C_STA, I2C_STA);  	if (do_address(chip, 0)) { -		printf("i2c_read: failed to address chip\n"); +		if (gd->have_console) +			printf("i2c_read: failed to address chip\n");  		goto Done;  	}  	if (send_bytes(chip, &xaddr[4-alen], alen)) { -		printf("i2c_read: send_bytes failed\n"); +		if (gd->have_console) +			printf("i2c_read: send_bytes failed\n");  		goto Done;  	}  	mpc_reg_out(®s->mcr, I2C_RSTA, I2C_RSTA);  	if (do_address(chip, 1)) { -		printf("i2c_read: failed to address chip\n"); +		if (gd->have_console) +			printf("i2c_read: failed to address chip\n");  		goto Done;  	}  	if (receive_bytes(chip, (char *)buf, len)) { -		printf("i2c_read: receive_bytes failed\n"); +		if (gd->have_console) +			printf("i2c_read: receive_bytes failed\n");  		goto Done;  	} @@ -354,23 +360,27 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len)  	xaddr[3] =  addr	& 0xFF;  	if (wait_for_bb()) { -		printf("i2c_write: bus is busy\n"); +		if (gd->have_console) +			printf("i2c_write: bus is busy\n");  		goto Done;  	}  	mpc_reg_out(®s->mcr, I2C_STA, I2C_STA);  	if (do_address(chip, 0)) { -		printf("i2c_write: failed to address chip\n"); +		if (gd->have_console) +			printf("i2c_write: failed to address chip\n");  		goto Done;  	}  	if (send_bytes(chip, &xaddr[4-alen], alen)) { -		printf("i2c_write: send_bytes failed\n"); +		if (gd->have_console) +			printf("i2c_write: send_bytes failed\n");  		goto Done;  	}  	if (send_bytes(chip, (char *)buf, len)) { -		printf("i2c_write: send_bytes failed\n"); +		if (gd->have_console) +			printf("i2c_write: send_bytes failed\n");  		goto Done;  	} |