1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Copyright (c) 2020 Rockchip Electronics Co., Ltd. 4 * 5 * Author: Zorro Liu <zorro.liu@rock-chips.com> 6 */ 7 8 #include <stdio.h> 9 #include <common.h> 10 #include <stdlib.h> 11 12 #include "epd_lut.h" 13 14 static int (*lut_get)(struct epd_lut_data *, enum epd_lut_type, int, int, int); 15 16 int epd_lut_from_mem_init(void *waveform) 17 { 18 int ret = -1; 19 20 ret = rkf_wf_input(waveform); 21 if (ret < 0) { 22 printf("[lut]: failed to input RKF waveform\n"); 23 } else { 24 printf("[lut]: RKF waveform\n"); 25 lut_get = rkf_wf_get_lut; 26 return 0; 27 } 28 29 ret = pvi_wf_input(waveform); 30 if (ret < 0) { 31 printf("[lut]: failed to input PVI waveform\n"); 32 } else { 33 printf("[lut]: PVI waveform\n"); 34 lut_get = pvi_wf_get_lut; 35 return 0; 36 } 37 38 return ret; 39 } 40 41 const char *epd_lut_get_wf_version(void) 42 { 43 if (rkf_wf_get_version()) 44 return rkf_wf_get_version(); 45 if (pvi_wf_get_version()) 46 return pvi_wf_get_version(); 47 return NULL; 48 } 49 50 int epd_lut_get(struct epd_lut_data *output, enum epd_lut_type lut_type, int temperture, int pic, int regal_pix) 51 { 52 return lut_get(output, lut_type, temperture, pic, regal_pix); 53 } 54 55 //you can change overlay lut mode here 56 int epd_overlay_lut(void) 57 { 58 return WF_TYPE_GRAY2; 59 } 60