serial/ns16550: check UART mode for TEMT value
A message that is not in the archive (sent off-list or not yet received): CAAwP0s0y=hPh3FrTSLptd_5UnbYGTV47s=6hVkR8aL0-Z_Ejeg@mail.gmail.com
PATCH 1/1 serial/ns16550: check UART mode for TEMT value
Quoted 29 lines · Javier Martinez Canillas
Quoted 2 lines · Javier Martinez Canillas
But if I'm the only one having this issue maybe is just my hardware
behaving
Quoted 1 line
badly. I'll ask other OMAP3 users if they can boot with mainline
U-Boot to
Quoted 2 lines
confirm this.
Hello,
I tested with an Beagleboard which is another OMAP3 board that has the same PC16550D UART than my OMAP3 IGEPv2 and the board does not hang while waiting for TEMT. I've also tested with an OMAP4 pandaboard and it boots correctly too.
But the hung issue seems to not be an issue with my IGEPv2 board but with any IGEPv2 board since another user reported that his board hangs with the latest U-Boot too. Reverting
cb55b332(serial/ns16550: wait for TEMT before initializing) solved the issue for him.Will a patch like this be an acceptable solution?
drivers/serial/ns16550.c +0
-0
drivers/serial/ns16550.c line 42
Quoted 7 lines
drivers/serial/ns16550.c +2
-0@@ -36,8 +36,10 @@void NS16550_init (NS16550_t com_port,int baud_divisor) { +#if (CONFIG_MACH_TYPE !=MACH_TYPE_IGEP0020 )while (!(serial_in (&com_port->lsr) &UART_LSR_TEMT )) ; +#endif
Probably better to have your board config file define CONFIG_SYS_NS16550_BROKEN_TEMT or similar (and document the symbol in README).
-Scott
PATCH 1/1 serial/ns16550: check UART mode for TEMT value
Quoted 32 lines · Scott Wood
Quoted 31 lines · Javier Martinez Canillas
Quoted 7 lines · Javier Martinez Canillas
But if I'm the only one having this issue maybe is just my hardware behaving
badly. I'll ask other OMAP3 users if they can boot with mainline U-Boot to
confirm this.Hello,
I tested with an Beagleboard which is another OMAP3 board that has the same PC16550D UART than my OMAP3 IGEPv2 and the board does not hang while waiting for TEMT. I've also tested with an OMAP4 pandaboard and it boots correctly too.
But the hung issue seems to not be an issue with my IGEPv2 board but with any IGEPv2 board since another user reported that his board hangs with the latest U-Boot too. Reverting
cb55b332(serial/ns16550: wait for TEMT before initializing) solved the issue for him.Will a patch like this be an acceptable solution?
drivers/serial/ns16550.c +0
-0@@ -36,8 +36,10 @@
Quoted 11 lines
drivers/serial/ns16550.c line 42
Quoted 6 lines
drivers/serial/ns16550.c +2
-0void NS16550_init (NS16550_t com_port,int baud_divisor) { +#if (CONFIG_MACH_TYPE !=MACH_TYPE_IGEP0020 )while (!(serial_in (&com_port->lsr) &UART_LSR_TEMT )) ; +#endif Probably better to have your board config file define
CONFIG_SYS_NS16550_BROKEN_TEMTor similar (and document the symbol in README).
To be clear, yes, please, that way. Thanks!
--
Tom
PATCH 1/1 serial/ns16550: check UART mode for TEMT value
Quoted 45 lines · Tom Rini
Quoted 32 lines · Scott Wood
Quoted 31 lines · Javier Martinez Canillas
Quoted 7 lines · Javier Martinez Canillas
But if I'm the only one having this issue maybe is just my hardware behaving
badly. I'll ask other OMAP3 users if they can boot with mainline U-Boot to
confirm this.Hello,
I tested with an Beagleboard which is another OMAP3 board that has the same PC16550D UART than my OMAP3 IGEPv2 and the board does not hang while waiting for TEMT. I've also tested with an OMAP4 pandaboard and it boots correctly too.
But the hung issue seems to not be an issue with my IGEPv2 board but with any IGEPv2 board since another user reported that his board hangs with the latest U-Boot too. Reverting
cb55b332(serial/ns16550: wait for TEMT before initializing) solved the issue for him.Will a patch like this be an acceptable solution?
drivers/serial/ns16550.c +0
-0@@ -36,8 +36,10 @@Quoted 11 lines
drivers/serial/ns16550.c line 42
Quoted 6 lines
drivers/serial/ns16550.c +2
-0void NS16550_init (NS16550_t com_port,int baud_divisor) { +#if (CONFIG_MACH_TYPE !=MACH_TYPE_IGEP0020 )while (!(serial_in (&com_port->lsr) &UART_LSR_TEMT )) ; +#endif Probably better to have your board config file define
CONFIG_SYS_NS16550_BROKEN_TEMTor similar (and document the symbol in README).
Quoted 4 lines
To be clear, yes, please, that way. Thanks!
--
Tom
Ok, thanks a lot for the suggestion.
I just sent a patch-set that adds this config option and uses it on IGEP board config file.
Best regards,
Javier