diff options
| -rw-r--r-- | arch/m68k/cpu/mcf5227x/speed.c | 2 | ||||
| -rw-r--r-- | arch/m68k/cpu/mcf523x/speed.c | 2 | ||||
| -rw-r--r-- | arch/m68k/cpu/mcf52x2/speed.c | 4 | ||||
| -rw-r--r-- | arch/m68k/cpu/mcf532x/speed.c | 2 | ||||
| -rw-r--r-- | arch/m68k/cpu/mcf5445x/speed.c | 4 | ||||
| -rw-r--r-- | arch/m68k/cpu/mcf547x_8x/speed.c | 2 | ||||
| -rw-r--r-- | arch/m68k/include/asm/global_data.h | 8 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc83xx/speed.c | 10 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc85xx/speed.c | 10 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc86xx/speed.c | 6 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/global_data.h | 9 | ||||
| -rw-r--r-- | drivers/i2c/fsl_i2c.c | 7 | 
12 files changed, 35 insertions, 31 deletions
| diff --git a/arch/m68k/cpu/mcf5227x/speed.c b/arch/m68k/cpu/mcf5227x/speed.c index b94a9eda4..c1d59309f 100644 --- a/arch/m68k/cpu/mcf5227x/speed.c +++ b/arch/m68k/cpu/mcf5227x/speed.c @@ -135,7 +135,7 @@ int get_clocks(void)  	}  #ifdef CONFIG_FSL_I2C -	gd->i2c1_clk = gd->bus_clk; +	gd->arch.i2c1_clk = gd->bus_clk;  #endif  	return (0); diff --git a/arch/m68k/cpu/mcf523x/speed.c b/arch/m68k/cpu/mcf523x/speed.c index e2a6ae3a5..ae462579e 100644 --- a/arch/m68k/cpu/mcf523x/speed.c +++ b/arch/m68k/cpu/mcf523x/speed.c @@ -48,7 +48,7 @@ int get_clocks(void)  	gd->cpu_clk = (gd->bus_clk * 2);  #ifdef CONFIG_FSL_I2C -	gd->i2c1_clk = gd->bus_clk; +	gd->arch.i2c1_clk = gd->bus_clk;  #endif  	return (0); diff --git a/arch/m68k/cpu/mcf52x2/speed.c b/arch/m68k/cpu/mcf52x2/speed.c index 70abed25c..ba7dbaa1c 100644 --- a/arch/m68k/cpu/mcf52x2/speed.c +++ b/arch/m68k/cpu/mcf52x2/speed.c @@ -91,9 +91,9 @@ int get_clocks (void)  #endif  #ifdef CONFIG_FSL_I2C -	gd->i2c1_clk = gd->bus_clk; +	gd->arch.i2c1_clk = gd->bus_clk;  #ifdef CONFIG_SYS_I2C2_OFFSET -	gd->i2c2_clk = gd->bus_clk; +	gd->arch.i2c2_clk = gd->bus_clk;  #endif  #endif diff --git a/arch/m68k/cpu/mcf532x/speed.c b/arch/m68k/cpu/mcf532x/speed.c index cfdcc8b80..8efb451dc 100644 --- a/arch/m68k/cpu/mcf532x/speed.c +++ b/arch/m68k/cpu/mcf532x/speed.c @@ -271,7 +271,7 @@ int get_clocks(void)  	gd->cpu_clk = (gd->bus_clk * 3);  #ifdef CONFIG_FSL_I2C -	gd->i2c1_clk = gd->bus_clk; +	gd->arch.i2c1_clk = gd->bus_clk;  #endif  	return (0); diff --git a/arch/m68k/cpu/mcf5445x/speed.c b/arch/m68k/cpu/mcf5445x/speed.c index 55d1c488a..b7dbc6598 100644 --- a/arch/m68k/cpu/mcf5445x/speed.c +++ b/arch/m68k/cpu/mcf5445x/speed.c @@ -274,7 +274,7 @@ void setup_5445x_clocks(void)  	}  #ifdef CONFIG_FSL_I2C -	gd->i2c1_clk = gd->bus_clk; +	gd->arch.i2c1_clk = gd->bus_clk;  #endif  }  #endif @@ -290,7 +290,7 @@ int get_clocks(void)  #endif  #ifdef CONFIG_FSL_I2C -	gd->i2c1_clk = gd->bus_clk; +	gd->arch.i2c1_clk = gd->bus_clk;  #endif  	return (0); diff --git a/arch/m68k/cpu/mcf547x_8x/speed.c b/arch/m68k/cpu/mcf547x_8x/speed.c index 31130b541..41aae9d9e 100644 --- a/arch/m68k/cpu/mcf547x_8x/speed.c +++ b/arch/m68k/cpu/mcf547x_8x/speed.c @@ -41,7 +41,7 @@ int get_clocks(void)  	gd->cpu_clk = (gd->bus_clk * 2);  #ifdef CONFIG_FSL_I2C -	gd->i2c1_clk = gd->bus_clk; +	gd->arch.i2c1_clk = gd->bus_clk;  #endif  	return (0); diff --git a/arch/m68k/include/asm/global_data.h b/arch/m68k/include/asm/global_data.h index fd8aacb5c..d9be8b121 100644 --- a/arch/m68k/include/asm/global_data.h +++ b/arch/m68k/include/asm/global_data.h @@ -26,6 +26,10 @@  /* Architecture-specific global data */  struct arch_global_data { +#ifdef CONFIG_FSL_I2C +	unsigned long	i2c1_clk; +	unsigned long	i2c2_clk; +#endif  };  /* @@ -50,10 +54,6 @@ typedef	struct	global_data {  	unsigned long	vco_clk;  	unsigned long	flb_clk;  #endif -#ifdef CONFIG_FSL_I2C -	unsigned long	i2c1_clk; -	unsigned long	i2c2_clk; -#endif  	phys_size_t	ram_size;	/* RAM size */  	unsigned long	reloc_off;	/* Relocation Offset */  	unsigned long	reset_status;	/* reset status register at boot	*/ diff --git a/arch/powerpc/cpu/mpc83xx/speed.c b/arch/powerpc/cpu/mpc83xx/speed.c index 7f98ee855..a40a0552f 100644 --- a/arch/powerpc/cpu/mpc83xx/speed.c +++ b/arch/powerpc/cpu/mpc83xx/speed.c @@ -481,9 +481,9 @@ int get_clocks(void)  	gd->sdhc_clk = sdhc_clk;  #endif  	gd->arch.core_clk = core_clk; -	gd->i2c1_clk = i2c1_clk; +	gd->arch.i2c1_clk = i2c1_clk;  #if !defined(CONFIG_MPC832x) -	gd->i2c2_clk = i2c2_clk; +	gd->arch.i2c2_clk = i2c2_clk;  #endif  #if !defined(CONFIG_MPC8309)  	gd->arch.enc_clk = enc_clk; @@ -558,9 +558,11 @@ static int do_clocks(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  	printf("  SEC:                 %-4s MHz\n",  	       strmhz(buf, gd->arch.enc_clk));  #endif -	printf("  I2C1:                %-4s MHz\n", strmhz(buf, gd->i2c1_clk)); +	printf("  I2C1:                %-4s MHz\n", +	       strmhz(buf, gd->arch.i2c1_clk));  #if !defined(CONFIG_MPC832x) -	printf("  I2C2:                %-4s MHz\n", strmhz(buf, gd->i2c2_clk)); +	printf("  I2C2:                %-4s MHz\n", +	       strmhz(buf, gd->arch.i2c2_clk));  #endif  #if defined(CONFIG_MPC8315)  	printf("  TDM:                 %-4s MHz\n", diff --git a/arch/powerpc/cpu/mpc85xx/speed.c b/arch/powerpc/cpu/mpc85xx/speed.c index f3132fbd3..81c80e709 100644 --- a/arch/powerpc/cpu/mpc85xx/speed.c +++ b/arch/powerpc/cpu/mpc85xx/speed.c @@ -406,7 +406,7 @@ int get_clocks (void)  	 */  #if defined(CONFIG_MPC8540) || defined(CONFIG_MPC8541) || \  	defined(CONFIG_MPC8560) || defined(CONFIG_MPC8555) -	gd->i2c1_clk = sys_info.freqSystemBus; +	gd->arch.i2c1_clk = sys_info.freqSystemBus;  #elif defined(CONFIG_MPC8544)  	/*  	 * On the 8544, the I2C clock is the same as the SEC clock.  This can be @@ -416,14 +416,14 @@ int get_clocks (void)  	 * PORDEVSR2_SEC_CFG bit is 0 on all 85xx boards that are not an 8544.  	 */  	if (gur->pordevsr2 & MPC85xx_PORDEVSR2_SEC_CFG) -		gd->i2c1_clk = sys_info.freqSystemBus / 3; +		gd->arch.i2c1_clk = sys_info.freqSystemBus / 3;  	else -		gd->i2c1_clk = sys_info.freqSystemBus / 2; +		gd->arch.i2c1_clk = sys_info.freqSystemBus / 2;  #else  	/* Most 85xx SOCs use CCB/2, so this is the default behavior. */ -	gd->i2c1_clk = sys_info.freqSystemBus / 2; +	gd->arch.i2c1_clk = sys_info.freqSystemBus / 2;  #endif -	gd->i2c2_clk = gd->i2c1_clk; +	gd->arch.i2c2_clk = gd->arch.i2c1_clk;  #if defined(CONFIG_FSL_ESDHC)  #if defined(CONFIG_MPC8569) || defined(CONFIG_P1010) ||\ diff --git a/arch/powerpc/cpu/mpc86xx/speed.c b/arch/powerpc/cpu/mpc86xx/speed.c index e5798eebe..18c1eea0c 100644 --- a/arch/powerpc/cpu/mpc86xx/speed.c +++ b/arch/powerpc/cpu/mpc86xx/speed.c @@ -130,11 +130,11 @@ int get_clocks(void)  	 * AN2919.  	 */  #ifdef CONFIG_MPC8610 -	gd->i2c1_clk = sys_info.freqSystemBus; +	gd->arch.i2c1_clk = sys_info.freqSystemBus;  #else -	gd->i2c1_clk = sys_info.freqSystemBus / 2; +	gd->arch.i2c1_clk = sys_info.freqSystemBus / 2;  #endif -	gd->i2c2_clk = gd->i2c1_clk; +	gd->arch.i2c2_clk = gd->arch.i2c1_clk;  	if (gd->cpu_clk != 0)  		return 0; diff --git a/arch/powerpc/include/asm/global_data.h b/arch/powerpc/include/asm/global_data.h index d924673c1..b710f25fc 100644 --- a/arch/powerpc/include/asm/global_data.h +++ b/arch/powerpc/include/asm/global_data.h @@ -80,6 +80,11 @@ struct arch_global_data {  	u32 lbc_clk;  	void *cpu;  #endif /* CONFIG_MPC85xx || CONFIG_MPC86xx */ +#if defined(CONFIG_MPC83xx) || defined(CONFIG_MPC85xx) || \ +		defined(CONFIG_MPC86xx) +	u32 i2c1_clk; +	u32 i2c2_clk; +#endif  };  /* @@ -102,10 +107,6 @@ typedef	struct	global_data {  #if defined(CONFIG_FSL_ESDHC)  	u32 sdhc_clk;  #endif -#if defined(CONFIG_MPC83xx) || defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) -	u32 i2c1_clk; -	u32 i2c2_clk; -#endif  #if defined(CONFIG_QE)  	u32 qe_clk;  	uint mp_alloc_base; diff --git a/drivers/i2c/fsl_i2c.c b/drivers/i2c/fsl_i2c.c index 3cb232fdd..1c7265d89 100644 --- a/drivers/i2c/fsl_i2c.c +++ b/drivers/i2c/fsl_i2c.c @@ -217,9 +217,9 @@ static unsigned int set_i2c_bus_speed(const struct fsl_i2c *dev,  static unsigned int get_i2c_clock(int bus)  {  	if (bus) -		return gd->i2c2_clk;	/* I2C2 clock */ +		return gd->arch.i2c2_clk;	/* I2C2 clock */  	else -		return gd->i2c1_clk;	/* I2C1 clock */ +		return gd->arch.i2c1_clk;	/* I2C1 clock */  }  void @@ -468,7 +468,8 @@ int i2c_set_bus_num(unsigned int bus)  int i2c_set_bus_speed(unsigned int speed)  { -	unsigned int i2c_clk = (i2c_bus_num == 1) ? gd->i2c2_clk : gd->i2c1_clk; +	unsigned int i2c_clk = (i2c_bus_num == 1) +			? gd->arch.i2c2_clk : gd->arch.i2c1_clk;  	writeb(0, &i2c_dev[i2c_bus_num]->cr);		/* stop controller */  	i2c_bus_speed[i2c_bus_num] = |