diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/cmd_boot.c | 4 | ||||
-rw-r--r-- | common/soft_i2c.c | 13 |
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 |