summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-07-07 09:54:43 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-07-07 09:54:43 -0600
commit42e65f3eb7e48fc9dae49886de9147c4e660710a (patch)
treeafde2fd94af1afa6c9515117dcb2ef68af738edf /nuttx
parentea16e75248de742b5177f62d2202a3f391eed0df (diff)
downloadpx4-nuttx-42e65f3eb7e48fc9dae49886de9147c4e660710a.tar.gz
px4-nuttx-42e65f3eb7e48fc9dae49886de9147c4e660710a.tar.bz2
px4-nuttx-42e65f3eb7e48fc9dae49886de9147c4e660710a.zip
SAMA5D3/4 I2C: Test for read or write operation was reversed. How could this have worked before?
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/arch/arm/src/sama5/sam_twi.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/nuttx/arch/arm/src/sama5/sam_twi.c b/nuttx/arch/arm/src/sama5/sam_twi.c
index 899f56a81..0d4cffeb2 100644
--- a/nuttx/arch/arm/src/sama5/sam_twi.c
+++ b/nuttx/arch/arm/src/sama5/sam_twi.c
@@ -683,7 +683,8 @@ static void twi_startread(struct twi_dev_s *priv, struct i2c_msg_s *msg)
/* Set slave address and number of internal address bytes. */
twi_putrel(priv, SAM_TWI_MMR_OFFSET, 0);
- twi_putrel(priv, SAM_TWI_MMR_OFFSET, TWI_MMR_IADRSZ_NONE | TWI_MMR_MREAD | TWI_MMR_DADR(msg->addr));
+ twi_putrel(priv, SAM_TWI_MMR_OFFSET, TWI_MMR_IADRSZ_NONE | TWI_MMR_MREAD |
+ TWI_MMR_DADR(msg->addr));
/* Set internal address bytes (not used) */
@@ -738,7 +739,7 @@ static void twi_startwrite(struct twi_dev_s *priv, struct i2c_msg_s *msg)
static void twi_startmessage(struct twi_dev_s *priv, struct i2c_msg_s *msg)
{
- if ((msg->flags & I2C_M_READ) == 0)
+ if ((msg->flags & I2C_M_READ) != 0)
{
twi_startread(priv, msg);
}
@@ -756,7 +757,7 @@ static void twi_startmessage(struct twi_dev_s *priv, struct i2c_msg_s *msg)
* Name: twi_setfrequency
*
* Description:
- * Set the frequence for the next transfer
+ * Set the frequency for the next transfer
*
*******************************************************************************/