Skip to contentSkip to conversation

serial: msm_serial_hs: Add MSM high speed UART driver

PATCH New Mayank Rana 1 participant 1 message Nov 24, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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
index aff9dcd..0a935ee 100644
@@ -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
index c570576..667de45 100644
@@ -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.