diff options
author | Bertrik Sikken <bertrik@sikken.nl> | 2009-06-20 21:45:04 +0000 |
---|---|---|
committer | Bertrik Sikken <bertrik@sikken.nl> | 2009-06-20 21:45:04 +0000 |
commit | fa4135e43db182f6278ff9f28d074e5b97182c1f (patch) | |
tree | f38f271b4010c3b2e4deaea899cb95078d3bc1b6 | |
parent | e70a23a9d41b1b0be2e7d24cb446e99963ce3ed0 (diff) | |
download | rockbox-fa4135e43db182f6278ff9f28d074e5b97182c1f.tar.gz rockbox-fa4135e43db182f6278ff9f28d074e5b97182c1f.zip |
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
-rw-r--r-- | firmware/drivers/generic_i2c.c | 3 | ||||
-rw-r--r-- | firmware/target/arm/as3525/fmradio-i2c-as3525.c | 2 |
2 files changed, 2 insertions, 3 deletions
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) | |||
91 | 91 | ||
92 | iface->sda_input(); | 92 | iface->sda_input(); |
93 | 93 | ||
94 | iface->delay_su_dat(); | ||
95 | /* clock in each bit, MSB first */ | 94 | /* clock in each bit, MSB first */ |
96 | for ( i=0x80; i; i>>=1 ) { | 95 | for ( i=0x80; i; i>>=1 ) { |
96 | iface->delay_su_dat(); | ||
97 | iface->scl_hi(); | 97 | iface->scl_hi(); |
98 | iface->delay_thigh(); | 98 | iface->delay_thigh(); |
99 | if (iface->sda()) | 99 | if (iface->sda()) |
@@ -123,7 +123,6 @@ static int i2c_outb(const struct i2c_interface *iface, unsigned char byte) | |||
123 | iface->scl_hi(); | 123 | iface->scl_hi(); |
124 | iface->delay_thigh(); | 124 | iface->delay_thigh(); |
125 | iface->scl_lo(); | 125 | iface->scl_lo(); |
126 | iface->delay_hd_dat(); | ||
127 | } | 126 | } |
128 | 127 | ||
129 | return i2c_getack(iface); | 128 | 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) | |||
111 | volatile int i; | 111 | volatile int i; |
112 | 112 | ||
113 | /* this loop is uncalibrated and could use more sophistication */ | 113 | /* this loop is uncalibrated and could use more sophistication */ |
114 | for (i = 0; i < 100; i++) { | 114 | for (i = 0; i < 20; i++) { |
115 | } | 115 | } |
116 | } | 116 | } |
117 | 117 | ||