i2c: aspeed: Fix initial values of master and slave state
This patch changes the order of enum aspeed_i2c_master_state and enum aspeed_i2c_slave_state defines to make their initial value to ASPEED_I2C_MASTER_INACTIVE and ASPEED_I2C_SLAVE_STOP respectively. In case of multi-master use, if a slave data comes ahead of the first master xfer, master_state starts from an invalid state so this change fixes the issue. Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> Reviewed-by: Brendan Higgins <brendanhiggins@google.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
parent
6bc33c5197
commit
517fde0eb5
|
@ -111,22 +111,22 @@
|
|||
#define ASPEED_I2CD_DEV_ADDR_MASK GENMASK(6, 0)
|
||||
|
||||
enum aspeed_i2c_master_state {
|
||||
ASPEED_I2C_MASTER_INACTIVE,
|
||||
ASPEED_I2C_MASTER_START,
|
||||
ASPEED_I2C_MASTER_TX_FIRST,
|
||||
ASPEED_I2C_MASTER_TX,
|
||||
ASPEED_I2C_MASTER_RX_FIRST,
|
||||
ASPEED_I2C_MASTER_RX,
|
||||
ASPEED_I2C_MASTER_STOP,
|
||||
ASPEED_I2C_MASTER_INACTIVE,
|
||||
};
|
||||
|
||||
enum aspeed_i2c_slave_state {
|
||||
ASPEED_I2C_SLAVE_STOP,
|
||||
ASPEED_I2C_SLAVE_START,
|
||||
ASPEED_I2C_SLAVE_READ_REQUESTED,
|
||||
ASPEED_I2C_SLAVE_READ_PROCESSED,
|
||||
ASPEED_I2C_SLAVE_WRITE_REQUESTED,
|
||||
ASPEED_I2C_SLAVE_WRITE_RECEIVED,
|
||||
ASPEED_I2C_SLAVE_STOP,
|
||||
};
|
||||
|
||||
struct aspeed_i2c_bus {
|
||||
|
|
Loading…
Reference in New Issue