mirror of
https://xff.cz/git/u-boot/
synced 2025-09-30 15:01:27 +02:00
i2c: designware_i2c: Update to use standard enums for speed
Update this driver to use the new standard enums for speed. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
committed by
Heiko Schocher
parent
642400ced6
commit
54290c666e
@@ -103,21 +103,21 @@ struct i2c_mode_info {
|
|||||||
|
|
||||||
static const struct i2c_mode_info info_for_mode[] = {
|
static const struct i2c_mode_info info_for_mode[] = {
|
||||||
[IC_SPEED_MODE_STANDARD] = {
|
[IC_SPEED_MODE_STANDARD] = {
|
||||||
I2C_STANDARD_SPEED,
|
I2C_SPEED_STANDARD_RATE,
|
||||||
MIN_SS_SCL_HIGHTIME,
|
MIN_SS_SCL_HIGHTIME,
|
||||||
MIN_SS_SCL_LOWTIME,
|
MIN_SS_SCL_LOWTIME,
|
||||||
1000,
|
1000,
|
||||||
300,
|
300,
|
||||||
},
|
},
|
||||||
[IC_SPEED_MODE_FAST] = {
|
[IC_SPEED_MODE_FAST] = {
|
||||||
I2C_FAST_SPEED,
|
I2C_SPEED_FAST_RATE,
|
||||||
MIN_FS_SCL_HIGHTIME,
|
MIN_FS_SCL_HIGHTIME,
|
||||||
MIN_FS_SCL_LOWTIME,
|
MIN_FS_SCL_LOWTIME,
|
||||||
300,
|
300,
|
||||||
300,
|
300,
|
||||||
},
|
},
|
||||||
[IC_SPEED_MODE_HIGH] = {
|
[IC_SPEED_MODE_HIGH] = {
|
||||||
I2C_HIGH_SPEED,
|
I2C_SPEED_HIGH_RATE,
|
||||||
MIN_HS_SCL_HIGHTIME,
|
MIN_HS_SCL_HIGHTIME,
|
||||||
MIN_HS_SCL_LOWTIME,
|
MIN_HS_SCL_LOWTIME,
|
||||||
120,
|
120,
|
||||||
@@ -226,10 +226,10 @@ static unsigned int __dw_i2c_set_bus_speed(struct dw_i2c *priv,
|
|||||||
if (priv)
|
if (priv)
|
||||||
scl_sda_cfg = priv->scl_sda_cfg;
|
scl_sda_cfg = priv->scl_sda_cfg;
|
||||||
/* Allow high speed if there is no config, or the config allows it */
|
/* Allow high speed if there is no config, or the config allows it */
|
||||||
if (speed >= I2C_HIGH_SPEED &&
|
if (speed >= I2C_SPEED_HIGH_RATE &&
|
||||||
(!scl_sda_cfg || scl_sda_cfg->has_high_speed))
|
(!scl_sda_cfg || scl_sda_cfg->has_high_speed))
|
||||||
i2c_spd = IC_SPEED_MODE_HIGH;
|
i2c_spd = IC_SPEED_MODE_HIGH;
|
||||||
else if (speed >= I2C_FAST_SPEED)
|
else if (speed >= I2C_SPEED_FAST_RATE)
|
||||||
i2c_spd = IC_SPEED_MODE_FAST;
|
i2c_spd = IC_SPEED_MODE_FAST;
|
||||||
else
|
else
|
||||||
i2c_spd = IC_SPEED_MODE_STANDARD;
|
i2c_spd = IC_SPEED_MODE_STANDARD;
|
||||||
|
@@ -135,19 +135,6 @@ struct i2c_regs {
|
|||||||
#define IC_STATUS_TFNF 0x0002
|
#define IC_STATUS_TFNF 0x0002
|
||||||
#define IC_STATUS_ACT 0x0001
|
#define IC_STATUS_ACT 0x0001
|
||||||
|
|
||||||
/* Speed Selection */
|
|
||||||
enum i2c_speed_mode {
|
|
||||||
IC_SPEED_MODE_STANDARD,
|
|
||||||
IC_SPEED_MODE_FAST,
|
|
||||||
IC_SPEED_MODE_HIGH,
|
|
||||||
|
|
||||||
IC_SPEED_MODE_COUNT,
|
|
||||||
};
|
|
||||||
|
|
||||||
#define I2C_HIGH_SPEED 3400000
|
|
||||||
#define I2C_FAST_SPEED 400000
|
|
||||||
#define I2C_STANDARD_SPEED 100000
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct dw_scl_sda_cfg - I2C timing configuration
|
* struct dw_scl_sda_cfg - I2C timing configuration
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user