• Johannes Thumshirn's avatar
    tty: serial: men_z135_uart: Fix driver for changes in hardware · 01ba8d6a
    Johannes Thumshirn authored
    16z135 IP Core has changed so the driver needs to be updated to respect
    these changes. The following changes have been made:
    
    * Don't invert the 16z135 modem status register when reading.
    * Add module parameter to configure the (baud rate dependent) RX timeout.
      Character timeout in seconds = (timeout_reg * baud_reg * 4)/freq_reg.
    * Enable the handling of UART core's automatic flow control feature.
      When AFE is active disable generation of modem status IRQs.
    * Rework the handling of IRQs to be conform with newer FPGA versions and
      take precautions not to miss an interrupt because of the destructive read
      of the IIR register.
    * Correct men_z135_handle_modem_status(), MSR is stat_reg[15:8] not
      stat_reg[7:0]
    * Correct calling of uart_handle_{dcd,cts}_change()
    * Reset CLOCAL when CRTSCTS is set
    Signed-off-by: default avatarJohannes Thumshirn <johannes.thumshirn@men.de>
    Reviewed-by: default avatarPeter Hurley <peter@hurleysoftware.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    01ba8d6a
men_z135_uart.c 21.5 KB