Problem with the clock framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 Hello,

I have a problem with the linux clock framework on an i.MX537 with an 3.4.47-rt62 kernel (with freescale patches).

I writing a special driver for the ECSPI interface with support for automatic transmissions with the RDY signal.

When the board comes up, the clocks of the ECSPI interface are disabled. I tried to use the linux clock framework with clk_get() and clk_enable() to enable these clocks. Basically it works, but a lot of transmissions get discontinuous: after the first 32 bit the SPI clock stops, with a low chip select line, and after some milliseconds the remaining bits are transmitted.

It I use the following code to enable these clocks instead of clock_enable() everything works:

 volatile unsigned int *v_adr = 0;
v_adr = ioremap_nocache(0x53FD4078, 4); // CCM Clock Gating Register 4 (CCM_CCGR4)
 *v_adr |= 0xF << 18; // Enable CG9 + CG10
 iounmap(v_adr);

For me it looks like that some type of power managment disables the ECSPI clock periodically.

Is there a default behavior for power managment and these clocks, or does it depend on the board specific implementation ?
Can you give me some tips for analyze the problem ?


Best regards,

Matthias

--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux