/* Copyright (c) 2012-2014, 2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * 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 DSI_V2_H #define DSI_V2_H #include #include #include "mdss_dsi.h" #include "mdss_panel.h" #define DSI_BUF_SIZE 1024 #define DSI_MRPS 0x04 /* Maximum Return Packet Size */ struct dsi_interface { int (*on)(struct mdss_panel_data *pdata); int (*off)(struct mdss_panel_data *pdata); int (*cont_on)(struct mdss_panel_data *pdata); int (*clk_ctrl)(struct mdss_panel_data *pdata, int enable); void (*op_mode_config)(int mode, struct mdss_panel_data *pdata); int index; void *private; }; int dsi_panel_device_register_v2(struct platform_device *pdev, struct mdss_dsi_ctrl_pdata *ctrl_pdata); void dsi_register_interface(struct dsi_interface *intf); int dsi_buf_alloc(struct dsi_buf *dp, int size); void dsi_set_tx_power_mode(int mode); void dsi_ctrl_config_deinit(struct platform_device *pdev, struct mdss_dsi_ctrl_pdata *ctrl_pdata); int dsi_ctrl_config_init(struct platform_device *pdev, struct mdss_dsi_ctrl_pdata *ctrl_pdata); struct mdss_panel_cfg *mdp3_panel_intf_type(int intf_val); int mdp3_panel_get_boot_cfg(void); void msm_dsi_sw_reset(void); #endif /* DSI_V2_H */