aboutsummaryrefslogtreecommitdiff
path: root/cpu/mpc8xx/i2c.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/mpc8xx/i2c.c')
-rw-r--r--cpu/mpc8xx/i2c.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/cpu/mpc8xx/i2c.c b/cpu/mpc8xx/i2c.c
index 9d5d9d265..9e8b8c7e7 100644
--- a/cpu/mpc8xx/i2c.c
+++ b/cpu/mpc8xx/i2c.c
@@ -215,6 +215,13 @@ i2c_init(int speed, int slaveaddr)
volatile I2C_BD *rxbd, *txbd;
uint dpaddr;
+#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 CFG_I2C_UCODE_PATCH
iip = (iic_t *)&cp->cp_dpmem[iip->iic_rpbase];
#else