diff options
Diffstat (limited to 'firmware/target/arm/tms320dm320/i2c-dm320.c')
-rwxr-xr-x | firmware/target/arm/tms320dm320/i2c-dm320.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/firmware/target/arm/tms320dm320/i2c-dm320.c b/firmware/target/arm/tms320dm320/i2c-dm320.c index cb6411e412..a87019c69c 100755 --- a/firmware/target/arm/tms320dm320/i2c-dm320.c +++ b/firmware/target/arm/tms320dm320/i2c-dm320.c | |||
@@ -26,7 +26,7 @@ | |||
26 | #define I2C_SCS_COND_STOP 0x0002 | 26 | #define I2C_SCS_COND_STOP 0x0002 |
27 | #define I2C_SCS_XMIT 0x0004 | 27 | #define I2C_SCS_XMIT 0x0004 |
28 | 28 | ||
29 | #define I2C_TX_ACK (1 << 20) | 29 | #define I2C_TX_ACK (1 << 8) |
30 | 30 | ||
31 | static struct mutex i2c_mtx; | 31 | static struct mutex i2c_mtx; |
32 | 32 | ||
@@ -42,7 +42,12 @@ static inline void i2c_end(void) | |||
42 | 42 | ||
43 | static inline bool i2c_getack(void) | 43 | static inline bool i2c_getack(void) |
44 | { | 44 | { |
45 | return (IO_I2C_RXDATA & 0x100)>>8; | 45 | return (IO_I2C_RXDATA >> 8) & 1; |
46 | } | ||
47 | |||
48 | static inline void i2c_ack(void) | ||
49 | { | ||
50 | IO_I2C_TXDATA |= I2C_TX_ACK; | ||
46 | } | 51 | } |
47 | 52 | ||
48 | #define WAIT_FOR_I2C if(IO_I2C_SCS & 0x4){ \ | 53 | #define WAIT_FOR_I2C if(IO_I2C_SCS & 0x4){ \ |