提交 33e88c55 编写于 作者: J Jon Smirl 提交者: Wolfgang Denk

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: NJon Smirl <jonsmirl@gmail.com>
Acked-by: NHeiko Schocher <hs@denx.de>
上级 2c5bd16a
...@@ -269,6 +269,7 @@ static int mpc_get_fdr(int speed) ...@@ -269,6 +269,7 @@ static int mpc_get_fdr(int speed)
if (gd->flags & GD_FLG_RELOC) { if (gd->flags & GD_FLG_RELOC) {
fdr = divider; fdr = divider;
} else { } else {
if (gd->have_console)
printf("%ld kHz, ", best_speed / 1000); printf("%ld kHz, ", best_speed / 1000);
return divider; return divider;
} }
...@@ -310,28 +311,33 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len) ...@@ -310,28 +311,33 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len)
xaddr[3] = addr & 0xFF; xaddr[3] = addr & 0xFF;
if (wait_for_bb()) { if (wait_for_bb()) {
if (gd->have_console)
printf("i2c_read: bus is busy\n"); printf("i2c_read: bus is busy\n");
goto Done; goto Done;
} }
mpc_reg_out(&regs->mcr, I2C_STA, I2C_STA); mpc_reg_out(&regs->mcr, I2C_STA, I2C_STA);
if (do_address(chip, 0)) { if (do_address(chip, 0)) {
if (gd->have_console)
printf("i2c_read: failed to address chip\n"); printf("i2c_read: failed to address chip\n");
goto Done; goto Done;
} }
if (send_bytes(chip, &xaddr[4-alen], alen)) { if (send_bytes(chip, &xaddr[4-alen], alen)) {
if (gd->have_console)
printf("i2c_read: send_bytes failed\n"); printf("i2c_read: send_bytes failed\n");
goto Done; goto Done;
} }
mpc_reg_out(&regs->mcr, I2C_RSTA, I2C_RSTA); mpc_reg_out(&regs->mcr, I2C_RSTA, I2C_RSTA);
if (do_address(chip, 1)) { if (do_address(chip, 1)) {
if (gd->have_console)
printf("i2c_read: failed to address chip\n"); printf("i2c_read: failed to address chip\n");
goto Done; goto Done;
} }
if (receive_bytes(chip, (char *)buf, len)) { if (receive_bytes(chip, (char *)buf, len)) {
if (gd->have_console)
printf("i2c_read: receive_bytes failed\n"); printf("i2c_read: receive_bytes failed\n");
goto Done; goto Done;
} }
...@@ -354,22 +360,26 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len) ...@@ -354,22 +360,26 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len)
xaddr[3] = addr & 0xFF; xaddr[3] = addr & 0xFF;
if (wait_for_bb()) { if (wait_for_bb()) {
if (gd->have_console)
printf("i2c_write: bus is busy\n"); printf("i2c_write: bus is busy\n");
goto Done; goto Done;
} }
mpc_reg_out(&regs->mcr, I2C_STA, I2C_STA); mpc_reg_out(&regs->mcr, I2C_STA, I2C_STA);
if (do_address(chip, 0)) { if (do_address(chip, 0)) {
if (gd->have_console)
printf("i2c_write: failed to address chip\n"); printf("i2c_write: failed to address chip\n");
goto Done; goto Done;
} }
if (send_bytes(chip, &xaddr[4-alen], alen)) { if (send_bytes(chip, &xaddr[4-alen], alen)) {
if (gd->have_console)
printf("i2c_write: send_bytes failed\n"); printf("i2c_write: send_bytes failed\n");
goto Done; goto Done;
} }
if (send_bytes(chip, (char *)buf, len)) { if (send_bytes(chip, (char *)buf, len)) {
if (gd->have_console)
printf("i2c_write: send_bytes failed\n"); printf("i2c_write: send_bytes failed\n");
goto Done; goto Done;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册