[BUGFIX][PATCH] fix the parent of i2c[12]_clk

Fabio Estevam festevam at gmail.com
Fri Jul 1 10:01:16 EDT 2011


On Fri, Jul 1, 2011 at 10:02 AM, Lothar Waßmann <LW at karo-electronics.de> wrote:
> The clock from which the I2C timing is derived is the ipg_perclk not ipg_clk.
>
> I2C bus frequency was too low by a factor of ~8 due to the clock divider
> calculation being based on 66.5MHz IPG clock while the bus actually
> uses 8MHz ipg_perclk.
>
> Kernel version: 3.0.0-rc2 branch 'imx-for-next' of git://git.pengutronix.de/git/imx/linux-2.6
>
> Signed-off-by: Lothar Waßmann <LW at KARO-electronics.de>
> ---
>  arch/arm/mach-mx5/clock-mx51-mx53.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c
> index 699b0d2..fe977d0 100644
> --- a/arch/arm/mach-mx5/clock-mx51-mx53.c
> +++ b/arch/arm/mach-mx5/clock-mx51-mx53.c
> @@ -1282,9 +1282,9 @@ DEFINE_CLOCK(pwm2_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG8_OFFSET,
>
>  /* I2C */
>  DEFINE_CLOCK(i2c1_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG9_OFFSET,
> -       NULL, NULL, &ipg_clk, NULL);
> +       NULL, NULL, &ipg_perclk, NULL);
>  DEFINE_CLOCK(i2c2_clk, 1, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG10_OFFSET,
> -       NULL, NULL, &ipg_clk, NULL);
> +       NULL, NULL, &ipg_perclk, NULL);
>  DEFINE_CLOCK(hsi2c_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG11_OFFSET,
>        NULL, NULL, &ipg_clk, NULL);
>  DEFINE_CLOCK(i2c3_mx53_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG11_OFFSET,

Shouldn't i2c3_mx53_clk have the same change applied?

Regards,

Fabio Estevam



More information about the linux-arm-kernel mailing list