diff options
author | Martin Roth <martinroth@google.com> | 2015-12-21 12:51:40 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2015-12-25 21:51:23 +0100 |
commit | 0fa4f6f23d6bec4216e0be27526a009db50c8938 (patch) | |
tree | dfbf9f9e37e3456df249b1a049d50ebebce48897 /src | |
parent | c89099641ee2a8a33d9a92e11751915472e249ff (diff) | |
download | coreboot-0fa4f6f23d6bec4216e0be27526a009db50c8938.tar.xz |
cpu/allwinner/a10: Fix I2c speed calculation
Looking at the A10 datasheet, N should go in bits 2:0, but
was being cleared by shifting it left by three bits, then
anding it with 7.
Fixes coverity warning:
CID 1241888 (#1 of 1): Wrong operator used (CONSTANT_EXPRESSION_RESULT)
operator_confusion: (n << 3) & (7U /* 7 << 0 */) is always 0 regardless
of the values of its operands. This occurs as the bitwise second operand
of '|'.
Change-Id: I17e71a73adf37a62607e8e5865b1da749d7278aa
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/12779
Tested-by: build bot (Jenkins)
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/allwinner/a10/twi.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cpu/allwinner/a10/twi.h b/src/cpu/allwinner/a10/twi.h index c5f2974140..3dbb3020ac 100644 --- a/src/cpu/allwinner/a10/twi.h +++ b/src/cpu/allwinner/a10/twi.h @@ -39,7 +39,7 @@ enum twi_status { #define TWI_CLK_M_MASK (0xf << 3) #define TWI_CLK_M(m) (((m - 1) << 3) & TWI_CLK_M_MASK) #define TWI_CLK_N_MASK (0x7 << 0) -#define TWI_CLK_N(n) (((n) << 3) & TWI_CLK_N_MASK) +#define TWI_CLK_N(n) ((n) & TWI_CLK_N_MASK) struct a1x_twi { u32 addr; /**< 0x00: Slave address */ |