23 Sep, 2011

1 commit

  • The EFR (Enhenced-Features-Register) is located at a different offset
    than the other devices supporting UART_CAP_EFR. This change add a special
    setup quick to set UPF_EXAR_EFR on the port. UPF_EXAR_EFR is then used to
    the port type to PORT_XR17D15X since it is for sure a XR17D15X uart.

    Signed-off-by: Søren Holm
    Acked-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Søren Holm
     

20 May, 2011

2 commits

  • When a break is received, Tegra's UART apparently fills the FIFO with
    0 bytes. These must be drained so that they aren't interpreted as actual
    data received. This allows e.g. MAGIC_SYSRQ to work on Tegra's UARTs.

    v2: Added FIXME comment to clear_rx_fifo

    Originally-by: Laxman Dewangan
    Cc: Laxman Dewangan
    Signed-off-by: Stephen Warren
    Acked-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Stephen Warren
     
  • 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: Laxman Dewangan
    Cc: Laxman Dewangan
    Signed-off-by: Stephen Warren
    Acked-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Stephen Warren
     

01 Dec, 2010

2 commits

  • Access to some registers depends on register access mode
    Three different modes are available for OMAP (at least)
    • Operational mode LCR_REG[7] = 0x0
    • Configuration mode A LCR_REG[7] = 0x1 and LCR_REG[7:0]! = 0xBF
    • Configuration mode B LCR_REG[7] = 0x1 and LCR_REG[7:0] = 0xBF

    Define access modes and remove redefinitions and magic numbers
    in serial drivers (and later in bluetooth driver).

    Signed-off-by: Andrei Emeltchenko
    Acked-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Tony Lindgren

    Andrei Emeltchenko
     
  • Define MDR1 register serial definitions used in serial and
    bluetooth drivers.
    Change magic number to ones defined in serial_reg for omap1/2
    serial driver.
    Remove redefined MDR1 register definitions in omap-serial driver.

    Signed-off-by: Andrei Emeltchenko
    Acked-by: G, Manjunath Kondaiah
    Acked-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Tony Lindgren

    Andrei Emeltchenko
     

11 Aug, 2010

1 commit

  • This is a PCI & UART driver, which suppors both PIO and DMA mode
    UART operation. It has 3 identical UART ports and one internal
    DMA controller.

    Current FW will export 4 pci devices for hsu: 3 uart ports and 1
    dma controller, each has one IRQ line. And we need to discuss the
    device model, one PCI device covering whole HSU should be a better
    model, but there is a problem of how to export the 4 IRQs info

    Current driver set the highest baud rate to 2746800bps, which is
    easy to scale down to 115200/230400.... To suport higher baud rate,
    we need add special process, change DLAB/DLH/PS/DIV/MUL registers
    all together.

    921600 is the highest baud rate that has been tested with Bluetooth
    modem connected to HSU port 0. Will test more when there is right
    BT firmware.

    Current version contains several work around for A0's Silicon bugs

    Signed-off-by: Feng Tang
    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Feng Tang
     

04 Dec, 2009

1 commit

  • That is "success", "unknown", "through", "performance", "[re|un]mapping"
    , "access", "default", "reasonable", "[con]currently", "temperature"
    , "channel", "[un]used", "application", "example","hierarchy", "therefore"
    , "[over|under]flow", "contiguous", "threshold", "enough" and others.

    Signed-off-by: André Goddard Rosa
    Signed-off-by: Jiri Kosina

    André Goddard Rosa
     

23 Jun, 2009

1 commit

  • Add the wakeup enable register to the list of OMAP-specific UART
    registers. This is to support forthcoming OMAP PM enhancements which
    use the wakeup feature of the OMAP's 8250-based UART.

    Signed-off-by: Kevin Hilman
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Kevin Hilman
     

23 Aug, 2007

1 commit

  • Reading the LSR clears the break, parity, frame error, and overrun bits in
    the 8250 chip, but these are not being saved in all places that read the
    LSR. Same goes for the MSR delta bits. Save the LSR bits off whenever the
    lsr is read so they can be handled later in the receive routine. Save the
    MSR bits to be handled in the modem status routine.

    Also, clear the stored bits and clear the interrupt registers before
    enabling interrupts, to avoid handling old values of the stored bits in the
    interrupt routines.

    [akpm@linux-foundation.org: clean up pre-existing code]
    Signed-off-by: Corey Minyard
    Cc: Russell King
    Cc: Yinghai Lu
    Cc: Bjorn Helgaas
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     

08 May, 2007

1 commit

  • Serial driver patch for the PMC-Sierra MSP71xx devices.

    There are three different fixes:

    1 Fix for DesignWare APB THRE errata: In brief, this is a non-standard
    16550 in that the THRE interrupt will not re-assert itself simply by
    disabling and re-enabling the THRI bit in the IER, it is only re-enabled
    if a character is actually sent out.

    It appears that the "8250-uart-backup-timer.patch" in the "mm" tree
    also fixes it so we have dropped our initial workaround. This patch now
    needs to be applied on top of that "mm" patch.

    2 Fix for Busy Detect on LCR write: The DesignWare APB UART has a feature
    which causes a new Busy Detect interrupt to be generated if it's busy
    when the LCR is written. This fix saves the value of the LCR and
    rewrites it after clearing the interrupt.

    3 Workaround for interrupt/data concurrency issue: The SoC needs to
    ensure that writes that can cause interrupts to be cleared reach the UART
    before returning from the ISR. This fix reads a non-destructive register
    on the UART so the read transaction completion ensures the previously
    queued write transaction has also completed.

    Signed-off-by: Marc St-Jean
    Cc: Russell King
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marc St-Jean
     

23 Feb, 2006

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds