serial: msm_serial_hs: Add MSM high speed UART driver
Subsystems (2)
PATCH 1/1 serial: msm_serial_hs: Add MSM high speed UART driver
This driver supports UART-DM HW on MSM platforms. It uses the on
chip DMA to drive data transfers and has optional support for UART power management independent of Linux suspend/resume and wakeup from Rx.
The driver was originally developed by Google. It is functionally equivalent to the version available at:
http://android.git.kernel.org/?p=kernel/experimental.git
the differences being:
1) Remove wakelocks and change unsupported DMA API.
2) Replace clock selection register codes by macros.
3) Fix checkpatch errors and add inline documentation.
4) Add runtime PM hooks for active power state transitions.
--- drivers/serial/Kconfig | 12 + drivers/serial/Makefile | 1 + drivers/serial/msm_serial_hs.c | 1680 ++++++++++++++++++++++++++++++++++ drivers/serial/msm_serial_hs_hwreg.h | 167 ++++ include/linux/msm_serial_hs.h | 49 + 5 files changed, 1909 insertions(+), 0 deletions(-) create mode 100644 drivers/serial/msm_serial_hs.c create mode 100644 drivers/serial/msm_serial_hs_hwreg.h create mode 100644 include/linux/msm_serial_hs.h
drivers/serial/Kconfig +12 -0
@@ -1381,6 +1381,18 @@ config SERIAL_MSM_CONSOLE depends on SERIAL_MSM=y select SERIAL_CORE_CONSOLE +config SERIAL_MSM_HS + tristate "MSM UART High Speed: Serial Driver" + depends on ARM && ARCH_MSM + select SERIAL_CORE + help + If you have a machine based on MSM family of SoCs, you + can enable its onboard high speed serial port by enabling + this option. + + Choose M here to compile it as a module. The module will be + called msm_serial_hs. + config SERIAL_NETX tristate "NetX serial port support" depends on ARM && ARCH_NETX
drivers/serial/Makefile +1 -0
@@ -76,6 +76,7 @@ obj-$(CONFIG_SERIAL_SGI_IOC3) += ioc3_serial.o obj-$(CONFIG_SERIAL_ATMEL) += atmel_serial.o obj-$(CONFIG_SERIAL_UARTLITE) += uartlite.o obj-$(CONFIG_SERIAL_MSM) += msm_serial.o +obj-$(CONFIG_SERIAL_MSM_HS) += msm_serial_hs.o obj-$(CONFIG_SERIAL_NETX) += netx-serial.o obj-$(CONFIG_SERIAL_OF_PLATFORM) += of_serial.o obj-$(CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL) += nwpserial.o
drivers/serial/msm_serial_hs.c new file +1680 -0
1,680 lines not on this page · raw message
drivers/serial/msm_serial_hs_hwreg.h new file +167 -0
167 lines not on this page · raw message
include/linux/msm_serial_hs.h new file +49 -0
49 lines not on this page · raw message
Signature · 5 lines
1.6.0.4 -- Sent by a consultant of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.