[U-Boot-Users] v1.1.0, omap boards and udelay()
Dave Peverley
dpeverley at mpc-data.co.uk
Mon Apr 19 13:59:32 CEST 2004
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
More information about the U-Boot
mailing list