Messages in this thread | | | From | Woody Wu <> | Subject | Re: 8250 UART doesn't work | Date | Fri, 7 Dec 2012 03:23:18 +0000 (UTC) |
| |
On 2012-12-06, H. Peter Anvin <hpa@zytor.com> wrote: > On 12/05/2012 11:56 PM, Woody Wu wrote: >> Hi, list >> >> Does anyone here familiar to the serial 8250 driver? >> >> I enabled two uart ports in my board definition, but the ports doesn't >> appear after I loaded the kernel (3.4.19). I discovered, it failed at >> the UART port auto configuration stage, the exact function is >> autoconfig(...) in drivers/tty/serial/8250.c. >> > > Sounds like you're using some kind of buggy UART IP... sharing which one > might help people identify the problem, if they have seen it before. > > -hpa >
The UART controller is EXAR ST16C554D. It claims as a 16550 compatible controller. Each ST16C554D module contains 4 UART, each of them can be selected via two chip select pad. I think the board hardware, via a CPLD, make the chip selection transparent to the CPU, so by a 5-bit address, CPU can addressing individual 8 16550 compatible registers of each UART.
I am not one hundred percent sure I understood right, but this is all I can say. You experts can also judge whether this kind of hardware setup is normal in embedded multi-serial ports solutions.
Many thanks!
-- woody I can't go back to yesterday - because I was a different person then.
| |