1 /* linux/drivers/video/exynos_mipi_dsi_common.h 2 * 3 * Header file for Samsung SoC MIPI-DSI common driver. 4 * 5 * Copyright (c) 2012 Samsung Electronics Co., Ltd 6 * 7 * InKi Dae <inki.dae@samsung.com> 8 * Donghwa Lee <dh09.lee@samsung.com> 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License version 2 as 12 * published by the Free Software Foundation. 13 */ 14 15 #ifndef _EXYNOS_MIPI_DSI_COMMON_H 16 #define _EXYNOS_MIPI_DSI_COMMON_H 17 18 static DECLARE_COMPLETION(dsim_rd_comp); 19 static DECLARE_COMPLETION(dsim_wr_comp); 20 21 int exynos_mipi_dsi_wr_data(struct mipi_dsim_device *dsim, unsigned int data_id, 22 const unsigned char *data0, unsigned int data_size); 23 int exynos_mipi_dsi_rd_data(struct mipi_dsim_device *dsim, unsigned int data_id, 24 unsigned int data0, unsigned int req_size, u8 *rx_buf); 25 irqreturn_t exynos_mipi_dsi_interrupt_handler(int irq, void *dev_id); 26 void exynos_mipi_dsi_init_interrupt(struct mipi_dsim_device *dsim); 27 int exynos_mipi_dsi_init_dsim(struct mipi_dsim_device *dsim); 28 void exynos_mipi_dsi_stand_by(struct mipi_dsim_device *dsim, 29 unsigned int enable); 30 int exynos_mipi_dsi_set_display_mode(struct mipi_dsim_device *dsim, 31 struct mipi_dsim_config *dsim_info); 32 int exynos_mipi_dsi_init_link(struct mipi_dsim_device *dsim); 33 int exynos_mipi_dsi_set_hs_enable(struct mipi_dsim_device *dsim); 34 int exynos_mipi_dsi_set_data_transfer_mode(struct mipi_dsim_device *dsim, 35 unsigned int mode); 36 int exynos_mipi_dsi_enable_frame_done_int(struct mipi_dsim_device *dsim, 37 unsigned int enable); 38 int exynos_mipi_dsi_get_frame_done_status(struct mipi_dsim_device *dsim); 39 int exynos_mipi_dsi_clear_frame_done(struct mipi_dsim_device *dsim); 40 41 extern struct fb_info *registered_fb[FB_MAX] __read_mostly; 42 43 int exynos_mipi_dsi_fifo_clear(struct mipi_dsim_device *dsim, 44 unsigned int val); 45 46 #endif /* _EXYNOS_MIPI_DSI_COMMON_H */ 47