android_kernel_xiaomi_sdm845/drivers/serial
Zang Roy-r61911 3be91ec738 [SERIAL] 8250: add tsi108 serial support
The following patch gets rid of CONFIG_TSI108_BRIDGE.  I add UPIO_TSI to
handle IIR and IER register in serial_in and serial_out.

(1) the reason to rewrite serial_in:

    TSI108 rev Z1 version ERRATA.  Reading the UART's Interrupt
    Identification Register (IIR) clears the Transmit Holding Register
    Empty (THRE) and Transmit buffer Empty (TEMP) interrupts even if they
    are not enabled in the Interrupt Enable Register (IER).  This leads to
    loss of the interrupts.  Interrupts are not cleared when reading UART
    registers as 32-bit word.

(2) the reason to rewrite serial_out:

    Check for UART_IER_UUE bit in the autoconfig routine.  This section
    of autoconfig is excluded for Tsi108/109 because bits 7 and 6 are
    reserved for internal use.  They are R/W bits.  In addition to
    incorrect identification, changing these bits (from 00) will make
    Tsi108/109 UART non-functional.

Signed-off-by: Roy Zang	<tie-fei.zang@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-09 21:11:09 +01:00
..
cpm_uart Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
jsm [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
8250_accent.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_acorn.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
8250_au1x00.c [SERIAL] AMD Alchemy UART: claim memory range 2006-04-30 11:15:58 +01:00
8250_boca.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_early.c [SERIAL] kernel console should send CRLF not LFCR 2006-03-20 20:00:09 +00:00
8250_fourport.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_gsc.c [PARISC] I/O-Space must be ioremap_nocache()'d 2006-03-30 17:48:42 +00:00
8250_hp300.c [PATCH] hp300: fix driver_register() return handling, remove dio_module_init() 2006-03-25 08:22:53 -08:00
8250_hub6.c [SERIAL] Use an enum for serial8250 platform device IDs 2005-09-08 16:04:41 +01:00
8250_mca.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
8250_pci.c Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial 2006-07-03 21:31:05 -07:00
8250_pnp.c [PATCH] SERIAL: allow shared 8250_pnp interrupts 2006-07-03 15:26:58 -07:00
8250.c [SERIAL] 8250: add tsi108 serial support 2006-07-09 21:11:09 +01:00
8250.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
21285.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
68328serial.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
68328serial.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
68360serial.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
amba-pl010.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
amba-pl011.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
at91_serial.c [ARM] 3710/1: AT91 Serial: Use GPIO API 2006-07-05 14:31:13 +01:00
clps711x.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
crisv10.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
crisv10.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dz.c [SERIAL] dz: Fix compilation error 2006-07-09 21:11:09 +01:00
dz.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
icom.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
icom.h [PATCH] serial/icom: Remove custom msescs_to_jiffies() macro 2005-06-25 16:25:01 -07:00
imx.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
ioc3_serial.c [PATCH] Altix: ioc3 serial support 2006-01-14 18:25:20 -08:00
ioc4_serial.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
ip22zilog.c [SERIAL] IP22: fix serial console hangs 2006-07-09 21:11:09 +01:00
ip22zilog.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig [ARM] 3639/1: S3C2412: serial port support 2006-06-24 21:21:32 +01:00
m32r_sio_reg.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
m32r_sio.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
m32r_sio.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Makefile [ARM] 3571/1: netX: serial driver for Hilscher netX 2006-06-19 13:29:07 +01:00
mcfserial.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
mcfserial.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mpc52xx_uart.c Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial 2006-07-03 21:31:05 -07:00
mpsc.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
mux.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
netx-serial.c [ARM] 3571/1: netX: serial driver for Hilscher netX 2006-06-19 13:29:07 +01:00
pmac_zilog.c [POWERPC] Add new interrupt mapping core and change platforms to use it 2006-07-03 21:36:01 +10:00
pmac_zilog.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pxa.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
s3c2410.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sa1100.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
serial_core.c [SERIAL] 8250: add tsi108 serial support 2006-07-09 21:11:09 +01:00
serial_cs.c [PATCH] pcmcia: another ID for serial_cs.c 2006-06-30 22:09:10 +02:00
serial_lh7a40x.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
serial_txx9.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sh-sci.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sh-sci.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sn_console.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
suncore.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
suncore.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunhv.c [SERIAL] sunhv: Convert to of_driver layer. 2006-06-30 14:13:38 -07:00
sunsab.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sunsab.h [SUNSAB]: Defer register updates until transmitter is idle. 2005-05-11 11:34:32 -07:00
sunsu.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sunzilog.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sunzilog.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
v850e_uart.c [PATCH] irq-flags: serial: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
vr41xx_siu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00