1 /* 2 * Allwinner SoCs display driver. 3 * 4 * Copyright (C) 2016 Allwinner. 5 * 6 * This file is licensed under the terms of the GNU General Public 7 * License version 2. This program is licensed "as is" without any 8 * warranty of any kind, whether express or implied. 9 */ 10 #ifndef _SUNXI_DSI_H_ 11 #define _SUNXI_DSI_H_ 12 #include "de/include.h" 13 #include "de_dsi.h" 14 15 struct sunxi_dsi { 16 u32 id; 17 18 /*Just for abnormal dsi use*/ 19 u32 tcon_mode; 20 u32 slave_tcon_num; 21 u32 port_num; 22 }; 23 24 s32 sunxi_dsi_mode_switch(struct sunxi_dsi *dsi, u32 cmd_en, u32 lp_en); 25 s32 sunxi_dsi_clk_enable(struct sunxi_dsi *dsi); 26 s32 sunxi_dsi_clk_disable(struct sunxi_dsi *dsi); 27 28 s32 sunxi_dsi_dcs_write_0para(struct sunxi_dsi *dsi, u8 command); 29 s32 sunxi_dsi_dcs_write_1para(struct sunxi_dsi *dsi, u8 command, u8 para1); 30 s32 sunxi_dsi_dcs_write_2para(struct sunxi_dsi *dsi, u8 command, u8 para1, 31 u8 para2); 32 s32 sunxi_dsi_dcs_write_3para(struct sunxi_dsi *dsi, u8 command, u8 para1, 33 u8 para2, u8 para3); 34 s32 sunxi_dsi_dcs_write_4para(struct sunxi_dsi *dsi, u8 command, u8 para1, 35 u8 para2, u8 para3, u8 para4); 36 s32 sunxi_dsi_dcs_write_5para(struct sunxi_dsi *dsi, u8 command, u8 para1, 37 u8 para2, u8 para3, u8 para4, u8 para5); 38 s32 sunxi_dsi_dcs_write_6para(struct sunxi_dsi *dsi, u8 command, u8 para1, 39 u8 para2, u8 para3, u8 para4, u8 para5, u8 para6); 40 41 s32 sunxi_dsi_gen_wr(struct sunxi_dsi *dsi, u8 command, u8 *para, u32 para_num); 42 s32 sunxi_dsi_gen_short_read(u32 id, u8 *para_p, u8 para_num, u8 *result); 43 s32 sunxi_dsi_dcs_read(u32 id, u8 cmd, u8 *result, u32 *num_p); 44 s32 sunxi_set_max_ret_size(u32 id, u32 size); 45 s32 sunxi_dsi_turn_on_peripheral_command(struct sunxi_dsi *dsi); 46 #endif 47