
Dave,
In versions prior 1.1.0, there was a small bug in the omap1610 port, in that the timer was not enabled. Obviously the udelay wouldn't function normally and so there was this busy loop to make for it. In 1.1.0 this is fixed by enabling the MPU timers, and there is no need for the loop. See board/omap1610inn/platform.S where MPU Timer 1 is now enabled. You might be missing similar code in the 730's port.
That said, the same bug in 1510 is not yet fixed, and it still uses the busy loop (in cpu/arm925t/interrupts.c). I'll send a little patch to fix that soon.
Regards, Nishant
-----Original Message----- From: u-boot-users-admin@lists.sourceforge.net [mailto:u-boot-users-admin@lists.sourceforge.net] On Behalf Of Dave Peverley Sent: Monday, April 19, 2004 7:00 AM To: u-boot-users@lists.sourceforge.net Subject: [U-Boot-Users] v1.1.0, omap boards and udelay()
Hi all,
I'm just merging my omap730p2 port into the 1.1.0 codebase, and have hit a snag that I would have thought would affect the omap1510 and 1610 code as well ; can anyone confirm this? The problem is as follows :
in boards/omapXXXX/omapXXXX.c, the function ether__init() uses the udelay() call. Prior to version 1.1.0, this was implemented using : #if defined(CONFIG_INNOVATOROMAP1610) || defined(CONFIG_P2OMAP730) #define LOOPS_PER_MSEC 100 /* tuned on omap1610 */ volatile int i, time_remaining = LOOPS_PER_MSEC * usec; for (i = time_remaining; i > 0; i--) { } #else so that the omap's wouldn't use the MPU timer, as this does not work (at
least at that point in the startup) This means that u-boot hangs on my board during ether__init() now as the timer never gets incremented.
Can anyone tell me why this code was removed? Looking at it, I can't see a reason why it shouldn't break the 1510/1610 omap support as well. I've tested moving the code back as it was (using the 1.1.0 CONFIG_OMAP instead) and this fixes the problem once more.
Best Wishes,
Dave Peverley
------------------------------------------------------------------------ --- Dave Peverley, Software Engineer, MPC Data Limited. Phone : [+44] (0) 1225 868 228 Web : http://www.mpc-data.co.uk