From d5baa81480d2fde8b10fdd8466f04c55a53b239e Mon Sep 17 00:00:00 2001 From: Girish Mahadevan Date: Fri, 19 Feb 2016 15:19:45 -0700 Subject: tty: serial: msm_hs: Add snapshot of msm_hs uart drivers Snapshot of msm_hs uart driver from msm-3.18. Baseline: e70ad0cd5efdd9dc91a77dcdac31d6132e1315c1 Change-Id: I977d80142c2cf8df89810f1c38d523d53371cc46 Signed-off-by: Girish Mahadevan --- include/linux/platform_data/msm_serial_hs.h | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 include/linux/platform_data/msm_serial_hs.h (limited to 'include/linux/platform_data') diff --git a/include/linux/platform_data/msm_serial_hs.h b/include/linux/platform_data/msm_serial_hs.h new file mode 100644 index 000000000000..4362b4ac103d --- /dev/null +++ b/include/linux/platform_data/msm_serial_hs.h @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2008 Google, Inc. + * Copyright (C) 2010-2014, The Linux Foundation. All rights reserved. + * Author: Nick Pelly + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef __ASM_ARCH_MSM_SERIAL_HS_H +#define __ASM_ARCH_MSM_SERIAL_HS_H + +#include + +/** + * struct msm_serial_hs_platform_data - platform device data + * for msm hsuart device + * @wakeup_irq : IRQ line to be configured as Wakeup source. + * @inject_rx_on_wakeup : Set 1 if specific character to be inserted on wakeup + * @rx_to_inject : Character to be inserted on wakeup + * @gpio_config : Configure gpios that are used for uart communication + * @userid : User-defined number to be used to enumerate device as tty + * @uart_tx_gpio: GPIO number for UART Tx Line. + * @uart_rx_gpio: GPIO number for UART Rx Line. + * @uart_cts_gpio: GPIO number for UART CTS Line. + * @uart_rfr_gpio: GPIO number for UART RFR Line. + * @bam_tx_ep_pipe_index : BAM TX Endpoint Pipe Index for HSUART + * @bam_tx_ep_pipe_index : BAM RX Endpoint Pipe Index for HSUART + * @no_suspend_delay : Flag used to make system go to suspend + * immediately or not + * @obs: Flag to enable out of band sleep feature support + */ +struct msm_serial_hs_platform_data { + int wakeup_irq; /* wakeup irq */ + bool inject_rx_on_wakeup; + u8 rx_to_inject; + int (*gpio_config)(int); + int userid; + + int uart_tx_gpio; + int uart_rx_gpio; + int uart_cts_gpio; + int uart_rfr_gpio; + unsigned bam_tx_ep_pipe_index; + unsigned bam_rx_ep_pipe_index; + bool no_suspend_delay; + bool obs; +}; + +/* return true when tx is empty */ +unsigned int msm_hs_tx_empty(struct uart_port *uport); +void msm_hs_request_clock_off(struct uart_port *uport); +void msm_hs_request_clock_on(struct uart_port *uport); +struct uart_port *msm_hs_get_uart_port(int port_index); +void msm_hs_set_mctrl(struct uart_port *uport, + unsigned int mctrl); +#endif -- cgit v1.2.3