From cdce889959c611876690a9f0a3c7ed9aa46189c4 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 6 Aug 2013 22:52:25 -0700 Subject: [PATCH] tegra: Avoid using I2C prior to relocation Tegra recently moved to the new I2C framework, which sets up I2C prior to relocation, and prior to calling i2c_init_board(). This causes a crash on Tegra boards. Tested-by: Stephen Warren Signed-off-by: Simon Glass --- drivers/i2c/tegra_i2c.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/i2c/tegra_i2c.c b/drivers/i2c/tegra_i2c.c index 9ac3969a07..9847cf126b 100644 --- a/drivers/i2c/tegra_i2c.c +++ b/drivers/i2c/tegra_i2c.c @@ -453,6 +453,10 @@ void i2c_init_board(void) static void tegra_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr) { + /* No i2c support prior to relocation */ + if (!(gd->flags & GD_FLG_RELOC)) + return; + /* This will override the speed selected in the fdt for that port */ debug("i2c_init(speed=%u, slaveaddr=0x%x)\n", speed, slaveaddr); i2c_set_bus_speed(speed); -- 2.39.2