67 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0
 | 
						|
/*
 | 
						|
 * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
 | 
						|
 *
 | 
						|
 * Author: Zorro Liu <zorro.liu@rock-chips.com>
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef EPD_LUT_H
 | 
						|
#define EPD_LUT_H
 | 
						|
 | 
						|
enum epd_lut_type {
 | 
						|
	WF_TYPE_RESET	= 1,
 | 
						|
	WF_TYPE_GRAY16	= 2,
 | 
						|
	WF_TYPE_GRAY4	= 3,
 | 
						|
	WF_TYPE_GRAY2	= 4,
 | 
						|
	WF_TYPE_AUTO	= 5,
 | 
						|
	WF_TYPE_A2	= 6,
 | 
						|
	WF_TYPE_GC16	= 7,
 | 
						|
	WF_TYPE_GL16	= 8,
 | 
						|
	WF_TYPE_GLR16	= 9,
 | 
						|
	WF_TYPE_GLD16	= 10,
 | 
						|
	WF_TYPE_GCC16	= 11,
 | 
						|
	WF_TYPE_MAX	= 12,
 | 
						|
};
 | 
						|
 | 
						|
enum pvi_wf_mode {
 | 
						|
	PVI_WF_RESET	= 0,
 | 
						|
	PVI_WF_DU	= 1,
 | 
						|
	PVI_WF_DU4	= 2,
 | 
						|
	PVI_WF_GC16	= 3,
 | 
						|
	PVI_WF_GL16	= 4,
 | 
						|
	PVI_WF_GLR16	= 5,
 | 
						|
	PVI_WF_GLD16	= 6,
 | 
						|
	PVI_WF_A2	= 7,
 | 
						|
	PVI_WF_GCC16	= 8,
 | 
						|
	PVI_WF_MAX,
 | 
						|
};
 | 
						|
 | 
						|
struct epd_lut_data {
 | 
						|
	unsigned int frame_num;
 | 
						|
	unsigned int *data;
 | 
						|
	u8 *wf_table;
 | 
						|
};
 | 
						|
 | 
						|
/*
 | 
						|
 * EPD LUT module export symbols
 | 
						|
 */
 | 
						|
int epd_lut_from_mem_init(void *waveform);
 | 
						|
int epd_lut_from_file_init(struct device *dev, void *waveform, int size);
 | 
						|
const char *epd_lut_get_wf_version(void);
 | 
						|
int epd_lut_get(struct epd_lut_data *output, enum epd_lut_type lut_type, int temperture);
 | 
						|
 | 
						|
/*
 | 
						|
 * PVI Waveform Interfaces
 | 
						|
 */
 | 
						|
int pvi_wf_input(void *waveform_file);
 | 
						|
const char *pvi_wf_get_version(void);
 | 
						|
int pvi_wf_get_lut(struct epd_lut_data *output, enum epd_lut_type lut_type, int temperture);
 | 
						|
 | 
						|
/*
 | 
						|
 * RKF Waveform Interfaces
 | 
						|
 */
 | 
						|
int rkf_wf_input(void *waveform_file);
 | 
						|
const char *rkf_wf_get_version(void);
 | 
						|
int rkf_wf_get_lut(struct epd_lut_data *output, enum epd_lut_type lut_type, int temperture);
 | 
						|
#endif
 |