/* * Copyright (C) 2014 Samsung Electronics Co.Ltd * http://www.samsung.com * * UART SWITCH driver * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. */ #ifndef __UART_SWITCH_H__ #define __UART_SWITCH_H__ extern struct device *switch_device; enum connect_type { USB = 0, UART = 1, }; enum uart_direction_t { AP = 0, CP = 1, }; struct uart_switch_data { struct device *dev; char *name; bool uart_connect; bool uart_switch_sel; #if defined(CONFIG_MUIC_NOTIFIER) || defined(CONFIG_IFCONN_NOTIFIER) struct notifier_block uart_notifier; #endif unsigned int int_uart_noti; unsigned int mbx_ap_united_status; unsigned int sbi_uart_noti_mask; unsigned int sbi_uart_noti_pos; unsigned int use_usb_phy; }; #if defined(CONFIG_UART_SWITCH) int uart_switch_init(struct platform_device *pdev); void cp_recheck_uart_dir(void); #else static inline int uart_switch_init(struct platform_device *pdev) { return 0; } static inline void cp_recheck_uart_dir(void) { return; } #endif #endif