I have been doing some development using the OMAPL-138 Experimenter's kit and am now trying to get things set up for my own hardware. My board will be different from the Experimenter's kit in that I will be using UART1 for the Linux console on the ARM rather than UART2. I've run into a problem that seems to be related to the Linux driver for the UART. In an attempt to set the console to use UART1 I ran across the following comment in .../arch/arm/mach-davinci/board-da850-evm.c in function static __init void da850_evm_init(void) :
/*
* shut down uart 0 and 1; they are not used on the board and
* accessing them causes endless "too much work in irq53" messages
* with arago fs
*/
Sure enough, if I enable either UART0 or UART1 (with the console still set to UART2) I get an endless sequence of "Serial8250: too much work in irq53" messages on the console at the point in the boot process where I normally would see a login prompt. I tried to disable UART2 and only enable UART1 and then monitored the UART1 TX data (3.3V levels) with a scope. I looked at the cadence of serial messages on the UART1 console port and it appears that it goes through the Linux boot messages and about the time I should get a login prompt it starts constantly sending data which I assume is the same "too much work for irq53" message.
The error message comes from .../drivers/serial/8250.c in the function: static irqreturn_t serial8250_interrupt(int irq, void *dev_id).
Since there was a comment in the initialization code that references this issue it seems that it is a known issue but I have not been able to find a resolution. If anyone can point me in the direction of a solution it would be greatly appreciated.
Best Regards,
--James Schaffer