
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