[U-Boot] [PATCH v2 09/14] mx5 clocks: Fix get_ipg_per_clk()

Benoît Thébaudeau benoit.thebaudeau at advansee.com
Fri Sep 28 14:55:25 CEST 2012


Hi Stefano,

On Friday, September 28, 2012 12:45:31 PM, Stefano Babic wrote:
> On 28/09/2012 12:42, Benoît Thébaudeau wrote:
> > Hi Stefano,
> > 
> > On Friday, September 28, 2012 11:31:11 AM, Stefano Babic wrote:
> >> On 27/09/2012 22:23, Benoît Thébaudeau wrote:
> >>> This fixes the "IPG PERCLK" frequency printed by the clocks
> >>> command. The issue
> >>> was that get_ipg_per_clk() used periph_clk instead of lp_apm in
> >>> the
> >>> case
> >>> CCM.CBCMR.perclk_lp_apm_sel is set.
> >>>
> >>> It also fixes I²C support.
> >>>
> >>
> >> Hi Benoît,
> >>
> >> I understand "clocks" reports a wrong value only if
> >> CCM.CBCMR.perclk_lp_apm_sel is set, not always.
> > 
> > Correct.
> > 
> >> Can you better explain me which is wrong and which is the fix for
> >> I2C
> >> ?
> >> It seems unrelated, and I do not get the reason checking the patch
> > 
> > It's only because mxc_get_clock(MXC_IPG_CLK) (or
> > mxc_get_clock(MXC_I2C_CLK)
> > after [1]) both return get_ipg_per_clk() for the I²C driver's
> > clock.
> 
> Ah, thanks - it is clear now.

For the full story, I²C was completely broken on my custom i.MX51 platform
because of this issue. The command "i2c probe" only detected address 0x00, and
if run again, it hung.

Best regards,
Benoît


More information about the U-Boot mailing list