
On Thu, 10 Jul 2008, Jens Gehrlein wrote:
Wolfgang Denk schrieb:
In message 4873845B.3020808@tqs.de you wrote:
The TQMA31, as well as the mx32ads use the General Purpose Timer 1, which is feeded by a 32768 clock (possibly imx31_litekit and imx31_phycore with 32000 Hz? I don't know.). The prescale divider can only be an integer. 32768/1000 = non-integer.
I think other architectures hav / had similar issues. See for example the MIPS fixes that were added some time ago.
I'll take a look.
Currently, I see only one way to solve this:
- Patch the common file cpu/arm1136/mx31/interrupts.c, function
interrupt_init(), so that the prescaler divides by 33. Alternatively, also make the divider a board specific define. 2. Patch all mx31 board config header files with CFG_HZ 1000. 3. All mx31 boards have to be tested.
Sounds like a plan.
What do you mean? It's just a proposal and I like to read comments from others, especially those, who wrote this code.
Ok, let's fix it then. Unfortunately, I don't think I will have time for this _soon_, but I definitely will try to convret all i.MX31 platforms to CFG_HZ == 1000 ASAP. Jean-Christophe, what would you prefer, first accept patches as they are (i.e., with CFG_HZ ~= 1000) and then fix all i.MX31 platforms or first fix the existing boards and then commit an updated patch with CFG_HZ == 1000?
Thanks Guennadi --- Guennadi Liakhovetski, Ph.D.
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de