xref: /OK3568_Linux_fs/u-boot/drivers/video/rk_eink/epdlut/epd_lut.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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 #include <stdio.h>
8 #include <common.h>
9 #include <stdlib.h>
10 
11 #include "epd_lut.h"
12 
epd_lut_from_mem_init(void * waveform,struct epd_lut_ops * ops)13 int epd_lut_from_mem_init(void *waveform, struct epd_lut_ops *ops)
14 {
15 	int ret = -1;
16 
17 	ret = rkf_wf_input(waveform);
18 	if (ret < 0) {
19 		printf("[lut]: failed to input RKF waveform\n");
20 	} else {
21 		printf("[lut]: RKF waveform\n");
22 		ops->lut_get = rkf_wf_get_lut;
23 		return 0;
24 	}
25 
26 	ret = pvi_wf_input(waveform);
27 	if (ret < 0) {
28 		printf("[lut]: failed to input PVI waveform\n");
29 	} else {
30 		printf("[lut]: PVI waveform\n");
31 		ops->lut_get = pvi_wf_get_lut;
32 		return 0;
33 	}
34 
35 	return ret;
36 }
37 
epd_lut_get_wf_version(void)38 const char *epd_lut_get_wf_version(void)
39 {
40 	if (rkf_wf_get_version())
41 		return rkf_wf_get_version();
42 	if (pvi_wf_get_version())
43 		return pvi_wf_get_version();
44 	return NULL;
45 }
46