summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/cmd_boot.c4
-rw-r--r--common/soft_i2c.c13
2 files changed, 7 insertions, 10 deletions
diff --git a/common/cmd_boot.c b/common/cmd_boot.c
index 09f3f78..2fc0729 100644
--- a/common/cmd_boot.c
+++ b/common/cmd_boot.c
@@ -1000,14 +1000,14 @@ static int k_recv (void)
for (;;) {
switch (serial_getc ()) {
case START_CHAR: /* start packet */
- break;
+ goto START;
case ETX_CHAR: /* ^C waiting for packet */
return (0);
default:
;
}
}
-
+START:
/* get length of packet */
sum = 0;
new_char = serial_getc ();
diff --git a/common/soft_i2c.c b/common/soft_i2c.c
index 6357404..dc26d6f 100644
--- a/common/soft_i2c.c
+++ b/common/soft_i2c.c
@@ -83,8 +83,12 @@ static void send_reset(void)
#endif
int j;
- I2C_ACTIVE;
+ I2C_SCL(1);
I2C_SDA(1);
+#ifdef I2C_INIT
+ I2C_INIT;
+#endif
+ I2C_TRISTATE;
for(j = 0; j < 9; j++) {
I2C_SCL(0);
I2C_DELAY;
@@ -262,13 +266,6 @@ static uchar read_byte(int ack)
*/
void i2c_init (int speed, int slaveaddr)
{
-#ifdef CONFIG_8xx
- volatile immap_t *immr = (immap_t *)CFG_IMMR;
-#endif
-
-#ifdef I2C_INIT
- I2C_INIT;
-#endif
/*
* WARNING: Do NOT save speed in a static variable: if the
* I2C routines are called before RAM is initialized (to read