summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorEric Millbrandt <emillbrandt@coldhaus.com>2009-09-03 08:09:44 -0500
committerHeiko Schocher <hs@denx.de>2009-09-06 11:26:04 +0200
commit5da71efa18e8b4eac9afd8bfa13e3c7e7ddde1d0 (patch)
treecc1f409424f382c05c18cf8e6bd452fdc6768a44 /README
parent9f23ca42b3ba19b24e66fade572f2b86d929b6e8 (diff)
downloadtalos-obmc-uboot-5da71efa18e8b4eac9afd8bfa13e3c7e7ddde1d0.tar.gz
talos-obmc-uboot-5da71efa18e8b4eac9afd8bfa13e3c7e7ddde1d0.zip
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>
Diffstat (limited to 'README')
-rw-r--r--README7
1 files changed, 7 insertions, 0 deletions
diff --git a/README b/README
index c90f6ee2d9..ff4ed8b95c 100644
--- a/README
+++ b/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)
OpenPOWER on IntegriCloud