Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d843fc6e authored by Feng Tang's avatar Feng Tang Committed by Greg Kroah-Hartman
Browse files

hsu: driver for Medfield High Speed UART device



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: default avatarFeng Tang <feng.tang@intel.com>
Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 464eb8f5
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -724,6 +724,16 @@ config MRST_MAX3110_IRQ
	help
	  This has to be enabled after Moorestown GPIO driver is loaded

config SERIAL_MFD_HSU
	tristate "Medfield High Speed UART support"
	depends on PCI
	select SERIAL_CORE

config SERIAL_MFD_HSU_CONSOLE
	boolean "Medfile HSU serial console support"
	depends on SERIAL_MFD_HSU=y
	select SERIAL_CORE_CONSOLE

config SERIAL_BFIN
	tristate "Blackfin serial port support"
	depends on BLACKFIN
+1 −0
Original line number Diff line number Diff line
@@ -87,3 +87,4 @@ obj-$(CONFIG_SERIAL_GRLIB_GAISLER_APBUART) += apbuart.o
obj-$(CONFIG_SERIAL_ALTERA_JTAGUART) += altera_jtaguart.o
obj-$(CONFIG_SERIAL_ALTERA_UART) += altera_uart.o
obj-$(CONFIG_SERIAL_MRST_MAX3110)	+= mrst_max3110.o
obj-$(CONFIG_SERIAL_MFD_HSU)	+= mfd.o
Loading