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 11 #ifndef DISP_WAVEFORM_H 12 #define DISP_WAVEFORM_H 13 14 #include "../include.h" 15 #if 0 16 typedef enum update_mode { 17 /* ALL AREA flush mode */ 18 EINK_INIT_MODE = 0x01, 19 EINK_DU_MODE = 0x02, 20 EINK_GC16_MODE = 0x04, 21 EINK_A2_MODE = 0x10, 22 EINK_GC16_LOCAL_MODE = 0x84, 23 24 /* RECTANGLE flush mode */ 25 EINK_DU_RECT_MODE = 0x402, 26 EINK_GC16_RECT_MODE = 0x404, 27 EINK_A2_RECT_MODE = 0x410, 28 EINK_GC16_LOCAL_RECT_MODE = 0x484 29 } EINK_UPDATE_MODE; 30 #endif 31 typedef enum { 32 ED060SC4 = 0x01, 33 ED060SC7 = 0x02, 34 OPM060A1 = 0x03, 35 ED060XD4 = 0x04 36 } EINK_PANEL_TYPE; 37 /* 38 typedef enum { 39 EINK_BIT_1 = 0x01, 40 EINK_BIT_2 = 0x02, 41 EINK_BIT_3 = 0x03, 42 EINK_BIT_4 = 0x04, 43 EINK_BIT_5 = 0x05 44 }EINK_BIT_NUM; 45 */ 46 47 #if 0 48 #define DEBUG_WAVEFILE 49 #ifdef DEBUG_WAVEFILE 50 #define WF_DBG(msg, fmt...) pr_warn(msg, ##fmt) 51 #define WF_INFO(msg, fmt...) pr_warn(msg, ##fmt) 52 #define WF_WRN(msg, fmt...) pr_warn(msg, ##fmt) 53 #define WF_ERR(msg, fmt...) pr_err(msg, ##fmt) 54 #else 55 #define WF_DBG(msg, fmt...) 56 #define WF_INFO(msg, fmt...) 57 #define WF_WRN(msg, fmt...) pr_warn(msg, ##fmt) 58 #define WF_ERR(msg, fmt...) pr_err(msg, ##fmt) 59 #endif 60 #endif 61 62 extern __s32 init_waveform(const char *path); 63 extern int get_eink_panel_type(EINK_PANEL_TYPE *type); 64 extern int get_eink_panel_bit_num(enum eink_bit_num *bit_num); 65 extern int get_waveform_data(u32 mode, 66 u32 temp, u32 *total_frames, u32 *wf_buf); 67 extern void free_waveform(void); 68 #endif 69 70