mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-17 02:15:02 +00:00
i2c: Drop reference to SYS_I2C_INIT_BOARD
This is not now used by any boards, so drop it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
98dfa70f84
commit
56ec7a69d8
2 changed files with 4 additions and 17 deletions
|
@ -31,12 +31,10 @@ Notes
|
|||
!!!THIS IS AN UNDOCUMENTED I2C BUS BUG, NOT A AMCC 4xx BUG!!!
|
||||
|
||||
This reset edge condition could possibly be present in every I2C
|
||||
controller and device available. For boards where a I2C bus reset
|
||||
function can be implemented a i2c_init_board() function should be
|
||||
provided and enabled by #define'ing CONFIG_SYS_I2C_INIT_BOARD in your
|
||||
board's config file. Note that this is NOT necessary when using the
|
||||
bit-banging I2C driver (common/soft_i2c.c) as this already includes
|
||||
the I2C bus reset sequence.
|
||||
controller and device available.
|
||||
|
||||
Note that this problem does not happen when using the bit-banging I2C driver
|
||||
(common/soft_i2c.c) as this already includes the I2C bus reset sequence.
|
||||
|
||||
|
||||
Many thanks to Bill Hunter for finding this serious BUG.
|
||||
|
|
|
@ -107,16 +107,13 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||
/*-----------------------------------------------------------------------
|
||||
* Local functions
|
||||
*/
|
||||
#if !defined(CONFIG_SYS_I2C_INIT_BOARD)
|
||||
static void send_reset (void);
|
||||
#endif
|
||||
static void send_start (void);
|
||||
static void send_stop (void);
|
||||
static void send_ack (int);
|
||||
static int write_byte (uchar byte);
|
||||
static uchar read_byte (int);
|
||||
|
||||
#if !defined(CONFIG_SYS_I2C_INIT_BOARD)
|
||||
/*-----------------------------------------------------------------------
|
||||
* Send a reset sequence consisting of 9 clocks with the data signal high
|
||||
* to clock any confused device back into an idle state. Also send a
|
||||
|
@ -144,7 +141,6 @@ static void send_reset(void)
|
|||
send_stop();
|
||||
I2C_TRISTATE;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* START: High -> Low on SDA while SCL is High
|
||||
|
@ -277,12 +273,6 @@ static uchar read_byte(int ack)
|
|||
*/
|
||||
static void soft_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr)
|
||||
{
|
||||
#if defined(CONFIG_SYS_I2C_INIT_BOARD)
|
||||
/* call board specific i2c bus reset routine before accessing the */
|
||||
/* environment, which might be in a chip on that bus. For details */
|
||||
/* about this problem see doc/I2C_Edge_Conditions. */
|
||||
i2c_init_board();
|
||||
#else
|
||||
/*
|
||||
* WARNING: Do NOT save speed in a static variable: if the
|
||||
* I2C routines are called before RAM is initialized (to read
|
||||
|
@ -290,7 +280,6 @@ static void soft_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr)
|
|||
* system will crash.
|
||||
*/
|
||||
send_reset ();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
|
|
Loading…
Add table
Reference in a new issue