[PATCH ] powerpc: pass UPIO_TSI flag to 8259 serial driver

Zang Roy-r61911 tie-fei.zang at freescale.com
Wed Aug 23 16:27:30 EST 2006


> 
> On Aug 22, 2006, at 9:20 PM, Zang Roy-r61911 wrote:
> 
> > The patch passes the UPIO_TSI flag to general 8259 serial driver
> >
> > Signed-off-by: Roy Zang	<tie-fei.zang at freescale.com>
> 
> Maybe, I'm missing something, but why do we need this?  Why 
> doesn't iotype == UPIO_MEM work for the TSI?
> 
> - kumar
> 

Tsi108 serial port has some difference from the standard 8250 port.
 I add UPIO_TSI in general 8250 serial driver 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.

I need to pass UPIO_TSI flag to the 8250 driver when the tsi108 bridge
serial port is used.



More information about the Linuxppc-dev mailing list