From 092b5938363b42831aab1ebd8c2811ff9429d393 Mon Sep 17 00:00:00 2001 From: Andreas Kemnade Date: Sun, 8 Dec 2019 23:34:36 +0100 Subject: [PATCH] fbdev: mxc: epdc: replace blob by source functions Signed-off-by: Andreas Kemnade --- drivers/video/fbdev/mxc/Makefile | 4 +-- drivers/video/fbdev/mxc/mxc_epdc_v2_fb.c | 35 +++++++++++++++++++++++- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/drivers/video/fbdev/mxc/Makefile b/drivers/video/fbdev/mxc/Makefile index cb81820c..c4c7fd3a 100644 --- a/drivers/video/fbdev/mxc/Makefile +++ b/drivers/video/fbdev/mxc/Makefile @@ -8,8 +8,8 @@ obj-$(CONFIG_FB_MXC_HDMI) += mxc_hdmi.o obj-$(CONFIG_FB_MXC_EDID) += mxc_edid.o obj-$(CONFIG_FB_MXC_SYNC_PANEL) += mxc_dispdrv.o mxc_lcdif.o mxc_ipuv3_fb.o obj-$(CONFIG_FB_MXC_EINK_PANEL) += mxc_epdc_fb.o -obj-$(CONFIG_FB_MXC_EINK_V2_PANEL) += mxc_epdc_v2_fb.o mxc_epdc_eink.o fake_s1d13522.o epdfb_dc.o -mxc_epdc_eink-objs := mxc_epdc_eink_module.o lib.a_shipped-imx6sl-noaa +obj-$(CONFIG_FB_MXC_EINK_V2_PANEL) += mxc_epdc_v2_fb.o fake_s1d13522.o epdfb_dc.o +#mxc_epdc_eink-objs := mxc_epdc_eink_module.o lib.a_shipped-imx6sl-noaa obj-$(CONFIG_FB_MXS_SII902X) += mxsfb_sii902x.o obj-$(CONFIG_FB_MXC_DCIC) += mxc_dcic.o obj-$(CONFIG_HANNSTAR_CABC) += hannstar_cabc.o diff --git a/drivers/video/fbdev/mxc/mxc_epdc_v2_fb.c b/drivers/video/fbdev/mxc/mxc_epdc_v2_fb.c index 8f9aca48..d8a5ec03 100644 --- a/drivers/video/fbdev/mxc/mxc_epdc_v2_fb.c +++ b/drivers/video/fbdev/mxc/mxc_epdc_v2_fb.c @@ -64,7 +64,6 @@ #include "../../../../arch/arm/mach-imx/hardware.h" #include "epdc_v2_regs.h" -#include "eink_processing2.h" #include "../../../../kernel/ntx/ntx_timestamp.h" @@ -1139,6 +1138,40 @@ static void mxc_epdc_fb_fw_handler(const struct firmware *fw,void *context); // FW_IN_RAM //] #include "mxc_epdc_fake_s1d13522.c" +static unsigned mxc_epdc_fb_fetch_wxi_data(uint8_t *xwi_buffer, char *outbuf) +{ + unsigned l = xwi_buffer[0]; + if (outbuf) { + u8 chk = 0; + unsigned i; + + for (i = 0; i <= l; i++) + chk += xwi_buffer[i]; + + if (chk != xwi_buffer[i]) + return 0; + + memcpy(outbuf, xwi_buffer + 1, l); + } + + return l; +} + +static int mxc_epdc_fb_fetch_vc_data(u8 *vcd_buffer, u32 waveform_mode, u32 waveform_tempRange, u32 mc, u32 trc, u8 *vcd) +{ + u8 *vcd_src = vcd_buffer + 16 * (waveform_mode * trc + waveform_tempRange); + int i; + u8 chk = 0; + for(i = 0 ; i < 15; i++) + chk += vcd_src[i]; + + if (chk != vcd_src[i]) + return -EINVAL; + + memcpy(vcd, vcd_src, 16); + return 0; +} + #ifdef DEBUG static void dump_pxp_config(struct mxc_epdc_fb_data *fb_data, -- 2.30.2