linux/drivers/tty/serial
Romain Izard 2867af2dcf atmel_serial: Use the fractional divider when possible
The fractional baud rate generator is available when using the
asynchronous mode of Atmel USART controllers. It makes it possible to
use higher baudrates, in exchange for a less precise clock with a
variable duty cycle.

The existing code restricts its use to the normal mode of the USART
controller, following the recommendation from the datasheet for the
first chip embedding this type of controller. This recommendation has
been removed from the documentation for the newer chips. After
verification, all revisions of this controller should be able to use the
fractional baud rate generator with the different asynchronous modes.

Removing the condition on ATMEL_US_USMODE makes it possible to get
correct baudrates at high speed in more cases.

This was tested with a board using an Atmel SAMA5D2 chip and a TI
WL1831 WiFi/Bluetooth combo chip at 3 Mbauds, with hardware flow control
enabled.

Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>
Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>
Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-02-14 10:12:21 -08:00
..
8250 serial: exar: Enable MSI support 2017-02-10 15:13:26 +01:00
cpm_uart tty: serial: cpm_uart: make use of for_each_node_by_type() 2017-02-03 10:12:16 +01:00
jsm tty: serial: jsm_tty: constify uart_ops structures 2016-09-02 15:01:16 +02:00
21285.c
altera_jtaguart.c serial: altera: constify uart_ops structures 2016-09-02 15:01:16 +02:00
altera_uart.c serial: altera: constify uart_ops structures 2016-09-02 15:01:16 +02:00
amba-pl010.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
amba-pl011.c tty: serial: pl011: add ttyAMA for matching pl011 console 2017-02-03 10:12:16 +01:00
amba-pl011.h
apbuart.c
apbuart.h
ar933x_uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
arc_uart.c serial/arc: constify uart_ops structures 2016-09-01 21:05:41 +02:00
atmel_serial.c atmel_serial: Use the fractional divider when possible 2017-02-14 10:12:21 -08:00
bcm63xx_uart.c serial/bcm63xx_uart: constify uart_ops structures 2016-09-02 15:01:16 +02:00
bfin_sport_uart.c tty: serial: constify dev_pm_ops structures 2017-01-19 14:20:23 +01:00
bfin_sport_uart.h
bfin_uart.c
clps711x.c serial: clps711x: Changing the compatibility string to match with the smallest supported chip 2016-07-06 17:38:16 +02:00
crisv10.c serial: crisv10: fix invalid user-pointer check 2016-11-10 14:41:25 +01:00
crisv10.h
digicolor-usart.c
dz.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
dz.h
earlycon-arm-semihost.c tty/serial: mark __init early_smh_setup() static 2016-09-02 15:03:35 +02:00
earlycon.c ACPI: parse SPCR and enable matching console 2016-09-28 17:46:46 +02:00
efm32-uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
etraxfs-uart.c
fsl_lpuart.c tty: serial: fsl_lpuart: fix del_timer_sync() vs timer routine deadlock 2017-01-12 11:51:24 +01:00
icom.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
icom.h
ifx6x60.c serial: ifx6x60: Free memory when probe fails 2016-11-10 14:50:46 +01:00
ifx6x60.h
imx.c serial: imx: Fix the CTS_B polarity in RS485 mode 2017-01-31 10:54:58 +01:00
ioc3_serial.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
ioc4_serial.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
ip22zilog.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
ip22zilog.h
Kconfig tty: serial: lantiq: implement earlycon support 2017-01-12 11:51:24 +01:00
kgdb_nmi.c
kgdboc.c
lantiq.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
lpc32xx_hs.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
m32r_sio_reg.h
m32r_sio.c serial: m32r_sio: make it explicitly non-modular 2016-06-25 14:00:06 -07:00
Makefile tty: serial: Makefile: move kgdb to be initialized last 2016-10-27 16:27:24 +02:00
max310x.c serial: max310x: Add support for newer silicon revisions 2017-01-12 11:51:24 +01:00
max3100.c tty: serial: constify uart_ops structures 2016-09-02 15:01:16 +02:00
mcf.c
men_z135_uart.c tty: serial: constify uart_ops structures 2016-09-02 15:01:16 +02:00
meson_uart.c tty: serial: meson: allow baud-rates higher than 115200 2017-01-19 14:38:57 +01:00
mpc52xx_uart.c
mps2-uart.c serial: mps2-uart: make driver explicitly non-modular 2016-06-25 14:01:57 -07:00
mpsc.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
msm_serial.c tty: serial: msm: Fix module autoload 2017-01-12 11:51:25 +01:00
mux.c
mvebu-uart.c serial: mvebu-uart: free the IRQ in ->shutdown() 2016-06-25 14:00:06 -07:00
mxs-auart.c serial: mxs-auart: support CMSPAR termios cflag 2017-01-12 11:51:24 +01:00
netx-serial.c
omap-serial.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
pch_uart.c serial: pch_uart: add terminate entry for dmi_system_id tables 2016-10-27 16:01:31 +02:00
pic32_uart.c serial: pic32_uart: Fix 'request_irq' and 'free_irq' inconsistancy 2017-01-12 11:51:24 +01:00
pic32_uart.h
pmac_zilog.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
pmac_zilog.h
pnx8xxx_uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
pxa.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
rp2.c
sa1100.c
samsung.c serial: samsung: enable clock before accessing interrupt mask resister 2017-02-03 10:12:16 +01:00
samsung.h serial: samsung: Simplify DMA engine initialization code 2017-01-12 11:51:24 +01:00
sb1250-duart.c
sc16is7xx.c Merge 4.9-rc3 into tty-next 2016-10-30 06:42:10 -04:00
sccnxp.c
serial_core.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
serial_ks8695.c
serial_mctrl_gpio.c serial: mctrl_gpio: enable API usage only for initialized mctrl_gpios struct 2016-06-25 14:30:42 -07:00
serial_mctrl_gpio.h serial: mctrl_gpio: add modem control read routine 2016-06-25 14:30:42 -07:00
serial_txx9.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
serial-tegra.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sh-sci.c serial: sh-sci: fix hardware RX trigger level setting 2017-02-10 15:10:16 +01:00
sh-sci.h serial: sh-sci: consider DR (data ready) bit adequately 2017-02-03 10:14:10 +01:00
sirfsoc_uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sirfsoc_uart.h serial: sirf: make fifo functions static 2016-06-25 14:01:57 -07:00
sn_console.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sprd_serial.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
st-asc.c serial: st-asc: Use generic DT binding for announcing RTS/CTS lines 2017-02-06 09:47:52 +01:00
stm32-usart.c serial: stm32: mark symbols static where possible 2016-09-27 12:55:27 +02:00
stm32-usart.h serial: stm32: Fix comparisons with undefined register 2016-10-27 16:00:31 +02:00
suncore.c
sunhv.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sunsab.c
sunsab.h
sunsu.c serial: sunsu: Free memory when probe fails 2016-11-16 10:57:26 +01:00
sunzilog.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sunzilog.h
tilegx.c
timbuart.c tty: serial: constify uart_ops structures 2016-09-02 15:01:16 +02:00
timbuart.h
uartlite.c serial-uartlite: constify uart_ops structures 2016-09-02 15:01:16 +02:00
ucc_uart.c
vr41xx_siu.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
vt8500_serial.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
xilinx_uartps.c serial: xuartps: Enable uart loopback mode 2017-01-25 11:08:30 +01:00
zs.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
zs.h