summaryrefslogtreecommitdiff
path: root/cpu/mpc824x/drivers/i2c/i2c1.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/mpc824x/drivers/i2c/i2c1.c')
-rw-r--r--cpu/mpc824x/drivers/i2c/i2c1.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/cpu/mpc824x/drivers/i2c/i2c1.c b/cpu/mpc824x/drivers/i2c/i2c1.c
index be6ec60a14..7a2eb66656 100644
--- a/cpu/mpc824x/drivers/i2c/i2c1.c
+++ b/cpu/mpc824x/drivers/i2c/i2c1.c
@@ -1128,6 +1128,15 @@ static void I2C_Set_Stat (unsigned int eumbbar, I2C_STAT stat)
void i2c_init (int speed, int slaveadd)
{
+#ifdef CFG_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();
+#endif
+
#ifdef DEBUG
I2C_Initialize (0x7f, 0, (void *) printf);
#else