mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
tty: serial: samsung_tty: Add support for Apple UARTs
Apple SoCs are a distant descendant of Samsung designs and use yet another variant of their UART style, with different interrupt handling. In particular, this variant has the following differences with existing ones: * It includes a built-in interrupt controller with different registers, using only a single platform IRQ * Internal interrupt sources are treated as edge-triggered, even though the IRQ output is level-triggered. This chiefly affects the TX IRQ path: the driver can no longer rely on the TX buffer empty IRQ immediately firing after TX is enabled, but instead must prime the FIFO with data directly. Signed-off-by: Hector Martin <marcan@marcan.st> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Link: https://lore.kernel.org/r/20210304213902.83903-25-marcan@marcan.st Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b846683339
commit
fcbba34490
@@ -246,6 +246,22 @@
|
||||
S5PV210_UFCON_TXTRIG4 | \
|
||||
S5PV210_UFCON_RXTRIG4)
|
||||
|
||||
#define APPLE_S5L_UCON_RXTO_ENA 9
|
||||
#define APPLE_S5L_UCON_RXTHRESH_ENA 12
|
||||
#define APPLE_S5L_UCON_TXTHRESH_ENA 13
|
||||
#define APPLE_S5L_UCON_RXTO_ENA_MSK (1 << APPLE_S5L_UCON_RXTO_ENA)
|
||||
#define APPLE_S5L_UCON_RXTHRESH_ENA_MSK (1 << APPLE_S5L_UCON_RXTHRESH_ENA)
|
||||
#define APPLE_S5L_UCON_TXTHRESH_ENA_MSK (1 << APPLE_S5L_UCON_TXTHRESH_ENA)
|
||||
|
||||
#define APPLE_S5L_UCON_DEFAULT (S3C2410_UCON_TXIRQMODE | \
|
||||
S3C2410_UCON_RXIRQMODE | \
|
||||
S3C2410_UCON_RXFIFO_TOI)
|
||||
|
||||
#define APPLE_S5L_UTRSTAT_RXTHRESH (1<<4)
|
||||
#define APPLE_S5L_UTRSTAT_TXTHRESH (1<<5)
|
||||
#define APPLE_S5L_UTRSTAT_RXTO (1<<9)
|
||||
#define APPLE_S5L_UTRSTAT_ALL_FLAGS (0x3f0)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#include <linux/serial_core.h>
|
||||
|
||||
Reference in New Issue
Block a user