summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/generic_i2c.c3
-rw-r--r--firmware/target/arm/as3525/fmradio-i2c-as3525.c2
2 files changed, 2 insertions, 3 deletions
diff --git a/firmware/drivers/generic_i2c.c b/firmware/drivers/generic_i2c.c
index 31a6e58..87e9091 100644
--- a/firmware/drivers/generic_i2c.c
+++ b/firmware/drivers/generic_i2c.c
@@ -91,9 +91,9 @@ static unsigned char i2c_inb(const struct i2c_interface *iface, bool ack)
iface->sda_input();
- iface->delay_su_dat();
/* clock in each bit, MSB first */
for ( i=0x80; i; i>>=1 ) {
+ iface->delay_su_dat();
iface->scl_hi();
iface->delay_thigh();
if (iface->sda())
@@ -123,7 +123,6 @@ static int i2c_outb(const struct i2c_interface *iface, unsigned char byte)
iface->scl_hi();
iface->delay_thigh();
iface->scl_lo();
- iface->delay_hd_dat();
}
return i2c_getack(iface);
diff --git a/firmware/target/arm/as3525/fmradio-i2c-as3525.c b/firmware/target/arm/as3525/fmradio-i2c-as3525.c
index 390dbb5..99b9bdf 100644
--- a/firmware/target/arm/as3525/fmradio-i2c-as3525.c
+++ b/firmware/target/arm/as3525/fmradio-i2c-as3525.c
@@ -111,7 +111,7 @@ static void fm_delay(void)
volatile int i;
/* this loop is uncalibrated and could use more sophistication */
- for (i = 0; i < 100; i++) {
+ for (i = 0; i < 20; i++) {
}
}