KL520_SDK_2.2/platform/dev/panel/kdev_mzt_480x272.c
2025-12-17 15:55:25 +08:00

71 lines
1.9 KiB
C

/*
* Kneron MZT Display Panel driver
*
* Copyright (C) 2019 Kneron, Inc. All rights reserved.
*
*/
#include "kdev_panel.h"
#include "kdrv_lcdc.h"
#ifdef KDP_UVC
#define MZT_PANEL_WIDTH 640
#define MZT_PANEL_HEIGHT 800
#else
#define MZT_PANEL_WIDTH TFT43_WIDTH
#define MZT_PANEL_HEIGHT TFT43_HEIGHT
#endif
kdev_status_t kdev_panel_initialize(kdrv_display_t *display_drv)
{
if(display_drv == NULL)
return KDEV_STATUS_ERROR;
u16 hor_no_in = display_drv->vi_params.input_xres;
u16 ver_no_in = display_drv->vi_params.input_yres;
u16 hor_no_out = MZT_PANEL_WIDTH;
u16 ver_no_out = MZT_PANEL_HEIGHT;
kdrv_lcdc_set_panel_type(KDRV_LCDC_6BIT_PER_CHANNEL);
kdrv_lcdc_set_bgrsw(KDRV_LCDC_OUTPUT_FMT_RGB);
//serial panel pixel
kdrv_lcdc_set_auo052_mode(KDRV_LCDC_AUO052_OFF);
kdrv_lcdc_set_pixel_sr(KDRV_LCDC_SERIAL_PIX_RSR);
kdrv_lcdc_set_pixel_colorseq(KDRV_LCDC_SERIAL_PIX_COLORSEQ_GBR);
kdrv_lcdc_set_pixel_delta_type(KDRV_LCDC_SERIAL_PIX_DELTA_TYPE_SAME_SEQ);
kdrv_lcdc_set_pixel_serial_mode(KDRV_LCDC_SERIAL_PIX_RGB_PARALLEL_OUTPUT);
kdrv_lcdc_set_framerate(60, hor_no_out, ver_no_out);
kdrv_lcdc_set_endian(KDRV_LCDC_FB_DATA_ENDIAN_LBLP);
kdrv_lcdc_set_image_color_params(0x2000, 0x2000, 0x0, 0x40000);
kdrv_lcdc_set_frame_buffer(0x00);
kdrv_lcdc_set_bus_bandwidth_ctrl(0x00);
kdrv_lcdc_down_scale(hor_no_in, hor_no_out, ver_no_in, ver_no_out);
return KDEV_STATUS_OK;
}
kdev_status_t kdev_panel_clear(kdrv_display_t *display_drv, u32 color)
{
if(display_drv == NULL)
return KDEV_STATUS_ERROR;
return KDEV_STATUS_OK;
}
uint16_t kdev_panel_read_display_id(kdrv_display_t *display_drv)
{
if(display_drv == NULL)
return 0xFFFF;
return KDEV_STATUS_OK;
}
kdev_status_t kdev_panel_refresh(kdrv_display_t* display_drv)
{
if(display_drv == NULL)
return KDEV_STATUS_ERROR;
return KDEV_STATUS_OK;
}