Files
Linux_Drivers/middleware/v2/component/panel/cv181x/hw_mcu_st7789v3.h
forum_service f6d4f57c24 middleware: weekly update 2023-09-06
update .gitignore file
1.cv1812h hw_mcu st7789v3 support 2.add sample_panel.
[sensor]cv4001 add wdr mode
[refactor](PQbin) refactor md5 value calculation way
[feat](fastboot): Renew fastboot interface
[sensor]drop frame in flip
[cv181x][vo]Bring up lvds panel.
[sensor]modify vts_reg value and def_vts

Change-Id: Ie9ebc4b4a969218cad8a6f4a7a9d5d65e54f155a
2023-12-21 16:52:10 +08:00

118 lines
4.9 KiB
C

#ifndef _MCU_PARAM_ST7789V_H_
#define _MCU_PARAM_ST7789V_H_
#include <linux/cvi_comm_vo.h>
#define COMMAND 0
#define DATA 1
const struct VO_PINMUX st7789v3_pins_cfg = {
.pin_num = 11,
.d_pins = {
{VO_MIPI_TXM4, VO_MUX_MCU_DATA0},
{VO_MIPI_TXP4, VO_MUX_MCU_DATA1},
{VO_MIPI_TXM3, VO_MUX_MCU_DATA2},
{VO_MIPI_TXP3, VO_MUX_MCU_DATA3},
{VO_MIPI_TXM2, VO_MUX_MCU_DATA4},
{VO_MIPI_TXP2, VO_MUX_MCU_DATA5},
{VO_MIPI_TXM1, VO_MUX_MCU_DATA6},
{VO_MIPI_TXP1, VO_MUX_MCU_DATA7},
{VO_MIPI_TXM0, VO_MUX_MCU_RD},
{VO_MIPI_TXP0, VO_MUX_MCU_WR},
{VO_VIVO_D10, VO_MUX_MCU_RS},
}
};
const struct VO_MCU_INSTRS st7789v3_instrs = {
.instr_num = 72,
.instr_cmd = {
{.delay = 0, .data_type = COMMAND, .data = 0x11},
{.delay = 0, .data_type = COMMAND, .data = 0x35},
{.delay = 0, .data_type = DATA, .data = 0x00},
{.delay = 0, .data_type = COMMAND, .data = 0x36},//Display Setting
{.delay = 0, .data_type = DATA, .data = (1<<6)/*(1<<5)|(1<<6)*/},
{.delay = 0, .data_type = COMMAND, .data = 0x3A},
{.delay = 0, .data_type = DATA, .data = 0x05},
{.delay = 0, .data_type = COMMAND, .data = 0xB2},
{.delay = 0, .data_type = DATA, .data = 0x0C},
{.delay = 0, .data_type = DATA, .data = 0x0C},
{.delay = 0, .data_type = DATA, .data = 0x00},
{.delay = 0, .data_type = DATA, .data = 0x33},
{.delay = 0, .data_type = DATA, .data = 0x33},
{.delay = 0, .data_type = COMMAND, .data = 0xB7},
{.delay = 0, .data_type = DATA, .data = 0x75},
{.delay = 0, .data_type = COMMAND, .data = 0xBB},
{.delay = 0, .data_type = DATA, .data = 0x19},
{.delay = 0, .data_type = COMMAND, .data = 0xC0},
{.delay = 0, .data_type = DATA, .data = 0x2C},
{.delay = 0, .data_type = COMMAND, .data = 0xC2},
{.delay = 0, .data_type = DATA, .data = 0x01},
{.delay = 0, .data_type = COMMAND, .data = 0xC3},
{.delay = 0, .data_type = DATA, .data = 0x0C},
{.delay = 0, .data_type = COMMAND, .data = 0xC4},
{.delay = 0, .data_type = DATA, .data = 0x20},
{.delay = 0, .data_type = COMMAND, .data = 0xC6},
{.delay = 0, .data_type = DATA, .data = 0x0F},
{.delay = 0, .data_type = COMMAND, .data = 0xD0},
{.delay = 0, .data_type = DATA, .data = 0xA4},
{.delay = 0, .data_type = DATA, .data = 0xA1},
{.delay = 0, .data_type = COMMAND, .data = 0xE0},//Gamma setting
{.delay = 0, .data_type = DATA, .data = 0xD0},
{.delay = 0, .data_type = DATA, .data = 0x04},
{.delay = 0, .data_type = DATA, .data = 0x0C},
{.delay = 0, .data_type = DATA, .data = 0x0E},
{.delay = 0, .data_type = DATA, .data = 0x0E},
{.delay = 0, .data_type = DATA, .data = 0x29},
{.delay = 0, .data_type = DATA, .data = 0x37},
{.delay = 0, .data_type = DATA, .data = 0x44},
{.delay = 0, .data_type = DATA, .data = 0x47},
{.delay = 0, .data_type = DATA, .data = 0x0B},
{.delay = 0, .data_type = DATA, .data = 0x17},
{.delay = 0, .data_type = DATA, .data = 0x16},
{.delay = 0, .data_type = DATA, .data = 0x1B},
{.delay = 0, .data_type = DATA, .data = 0x1F},
{.delay = 0, .data_type = COMMAND, .data = 0xE1},
{.delay = 0, .data_type = DATA, .data = 0xD0},
{.delay = 0, .data_type = DATA, .data = 0x04},
{.delay = 0, .data_type = DATA, .data = 0x0C},
{.delay = 0, .data_type = DATA, .data = 0x0E},
{.delay = 0, .data_type = DATA, .data = 0x0F},
{.delay = 0, .data_type = DATA, .data = 0x29},
{.delay = 0, .data_type = DATA, .data = 0x37},
{.delay = 0, .data_type = DATA, .data = 0x44},
{.delay = 0, .data_type = DATA, .data = 0x4A},
{.delay = 0, .data_type = DATA, .data = 0x0C},
{.delay = 0, .data_type = DATA, .data = 0x17},
{.delay = 0, .data_type = DATA, .data = 0x16},
{.delay = 0, .data_type = DATA, .data = 0x1B},
{.delay = 0, .data_type = DATA, .data = 0x1F},
{.delay = 0, .data_type = COMMAND, .data = 0x29},
{.delay = 0, .data_type = COMMAND, .data = 0x2A},
{.delay = 0, .data_type = DATA, .data = 0x0 },//Xstart
{.delay = 0, .data_type = DATA, .data = 0x0 },
{.delay = 0, .data_type = DATA, .data = 0x0 },//Xend
{.delay = 0, .data_type = DATA, .data = 0xEF},
{.delay = 0, .data_type = COMMAND, .data = 0x2B},
{.delay = 0, .data_type = DATA, .data = 0x0 },//Ystart
{.delay = 0, .data_type = DATA, .data = 0x0 },
{.delay = 0, .data_type = DATA, .data = 0x01},//Yend
{.delay = 0, .data_type = DATA, .data = 0x3F},
{.delay = 0, .data_type = COMMAND, .data = 0x2C},
}
};
const VO_HW_MCU_CFG_S st7789v3Cfg = {
.pins = st7789v3_pins_cfg,
.mode = VO_MCU_MODE_RGB565,
.lcd_power_gpio_num = GPIOB_03,
.lcd_power_avtive = GPIO_ACTIVE_HIGH,
.backlight_gpio_num = GPIOA_30,
.backlight_avtive = GPIO_ACTIVE_HIGH,
.reset_gpio_num = GPIOE_13,
.reset_avtive = GPIO_ACTIVE_LOW,
.instrs = st7789v3_instrs,
};
#endif // _MCU_PARAM_ST7789V_H_