mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Reset i2c slave devices during init on mpc5xxx cpus
Reset any i2c devices that may have been interrupted during a system reset. Normally this would be accomplished by clocking the line until SCL and SDA are released and then sending a start condtiion (From an Atmel datasheet). There is no direct access to the i2c pins so instead create start commands through the i2c interface. Send a start command then delay for the SDA Hold time, repeat this by disabling/enabling the bus a total of 9 times. Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
This commit is contained in:
committed by
Heiko Schocher
parent
9f23ca42b3
commit
5da71efa18
7
README
7
README
@@ -1366,6 +1366,13 @@ The following options need to be configured:
|
||||
therefore be cleared to 0 (See, eg, MPC823e User's Manual
|
||||
p.16-473). So, set CONFIG_SYS_I2C_SLAVE to 0.
|
||||
|
||||
CONFIG_SYS_I2C_INIT_MPC5XXX
|
||||
|
||||
When a board is reset during an i2c bus transfer
|
||||
chips might think that the current transfer is still
|
||||
in progress. Reset the slave devices by sending start
|
||||
commands until the slave device responds.
|
||||
|
||||
That's all that's required for CONFIG_HARD_I2C.
|
||||
|
||||
If you use the software i2c interface (CONFIG_SOFT_I2C)
|
||||
|
||||
Reference in New Issue
Block a user