• Stephen Warren's avatar
    tty/serial: Add explicit PORT_TEGRA type · 4539c24f
    Stephen Warren authored
    Tegra's UART is currently auto-detected as PORT_XSCALE due to register
    bit UART_IER.UUE being writable. However, the Tegra documentation states
    that this register bit is reserved. Hence, we should not program it.
    
    Instead, the documentation specifies that the UART is 16550 compatible.
    However, Tegra does need register bit UART_IER.RTOIE set, which is not
    enabled by any 16550 port type. This was not noticed before, since
    PORT_XSCALE enables CAP_UUE, which conflates both UUE and RTOIE bit
    programming.
    
    This change defines PORT_TEGRA that doesn't set UART_CAP_UUE, but does
    set UART_CAP_RTOIE, which is a new capability indicating that the RTOIE
    bit needs to be enabled.
    Based-on-code-by: default avatarLaxman Dewangan <ldewangan@nvidia.com>
    Cc: Laxman Dewangan <ldewangan@nvidia.com>
    Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
    Acked-by: default avatarAlan Cox <alan@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    4539c24f
serial_core.h 15.9 KB