• Lennert Buytenhek's avatar
    [SERIAL] don't disable xscale serial ports after autoconfig · 5c8c755c
    Lennert Buytenhek authored
    xscale-type UARTs have an extra bit (UUE) in the IER register that has
    to be written as 1 to enable the UART.  At the end of autoconfig() in
    drivers/serial/8250.c, the IER register is unconditionally written as
    zero, which turns off the UART, and makes any subsequent printch() hang
    the box.
    
    Since other 8250-type UARTs don't have this enable bit and are thus
    always 'enabled' in this sense, it can't hurt to enable xscale-type
    serial ports all the time as well.  The attached patch changes the
    autoconfig() exit path to see if the port has an UUE enable bit, and if
    yes, to write UUE=1 instead of just putting a zero into IER, using the
    same test as is used at the beginning of serial8250_console_write().
    Signed-off-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    5c8c755c
8250.c 65.3 KB