From fa4135e43db182f6278ff9f28d074e5b97182c1f Mon Sep 17 00:00:00 2001 From: Bertrik Sikken Date: Sat, 20 Jun 2009 21:45:04 +0000 Subject: Fix delays in generic i2c driver, reduce delays in ams sansa fmradio i2c driver (tested on m200v4, clip, e200v2, fuze). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21421 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/generic_i2c.c | 3 +-- firmware/target/arm/as3525/fmradio-i2c-as3525.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'firmware') diff --git a/firmware/drivers/generic_i2c.c b/firmware/drivers/generic_i2c.c index 31a6e580ff..87e9091a3d 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 390dbb589a..99b9bdff02 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++) { } } -- cgit v1.2.3