From: Nobuhiro Iwamatsu Date: Fri, 11 Oct 2013 07:23:54 +0000 (+0900) Subject: i2c: sh_i2c: Avoid using I2C prior to relocation X-Git-Tag: v2014.01-rc1~208^2~6 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b55b8eef35f9ca04cf790381bab14510278b08a4;p=u-boot i2c: sh_i2c: Avoid using I2C prior to relocation If user uses the I2C in before the relocation, board of sh and rmobile will not start. This will solve this problem. Signed-off-by: Nobuhiro Iwamatsu --- diff --git a/drivers/i2c/sh_i2c.c b/drivers/i2c/sh_i2c.c index 58f8bf1bd5..808202c299 100644 --- a/drivers/i2c/sh_i2c.c +++ b/drivers/i2c/sh_i2c.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2011 Renesas Solutions Corp. - * Copyright (C) 2011 Nobuhiro Iwamatsu + * Copyright (C) 2011, 2013 Renesas Solutions Corp. + * Copyright (C) 2011, 2013 Nobuhiro Iwamatsu * * SPDX-License-Identifier: GPL-2.0+ */ @@ -8,6 +8,8 @@ #include #include +DECLARE_GLOBAL_DATA_PTR; + /* Every register is 32bit aligned, but only 8bits in size */ #define ureg(name) u8 name; u8 __pad_##name##0; u16 __pad_##name##1; struct sh_i2c { @@ -240,6 +242,10 @@ void i2c_init(int speed, int slaveaddr) { int num, denom, tmp; + /* No i2c support prior to relocation */ + if (!(gd->flags & GD_FLG_RELOC)) + return; + #ifdef CONFIG_I2C_MULTI_BUS current_bus = 0; #endif