Files
Linux_Drivers/middleware/v2/component/panel/cv181x/dsi_nt35521.h

201 lines
10 KiB
C

#ifndef _MIPI_TX_PARAM_NT35521_H_
#define _MIPI_TX_PARAM_NT35521_H_
#include <linux/vo_mipi_tx.h>
#include <linux/cvi_comm_mipi_tx.h>
struct combo_dev_cfg_s dev_cfg_nt35521_800x1280 = {
.devno = 0,
.lane_id = {MIPI_TX_LANE_CLK, MIPI_TX_LANE_0, MIPI_TX_LANE_2, MIPI_TX_LANE_3, MIPI_TX_LANE_1},
.lane_pn_swap = {false, false, false, false, false},
.output_mode = OUTPUT_MODE_DSI_VIDEO,
.video_mode = BURST_MODE,
.output_format = OUT_FORMAT_RGB_24_BIT,
.sync_info = {
.vid_hsa_pixels = 80,
.vid_hbp_pixels = 80,
.vid_hfp_pixels = 168,
.vid_hline_pixels = 800,
.vid_vsa_lines = 6,
.vid_vbp_lines = 40,
.vid_vfp_lines = 18,
.vid_active_lines = 1280,
.vid_vsa_pos_polarity = false,
.vid_hsa_pos_polarity = true,
},
.pixel_clk = 90962,
};
const struct hs_settle_s hs_timing_cfg_nt35521_800x1280 = { .prepare = 6, .zero = 32, .trail = 1 };
//=====================Page 0 relative===================
static CVI_U8 data_nt35521_0[] = { 0xf0, 0x55, 0xaa, 0x52, 0x08, 0x00 };
static CVI_U8 data_nt35521_1[] = { 0xb1, 0x6c, 0x01 };
static CVI_U8 data_nt35521_2[] = { 0xb5, 0xc8, 0x00 };
static CVI_U8 data_nt35521_3[] = { 0xbc, 0x00 };
static CVI_U8 data_nt35521_4[] = { 0xbd, 0x96, 0xb0, 0x0c, 0x08, 0x01 };
static CVI_U8 data_nt35521_5[] = { 0xc8, 0x80 };
//=====================Page 1 relative===================
static CVI_U8 data_nt35521_6[] = { 0xf0, 0x55, 0xaa, 0x52, 0x08, 0x01 };
static CVI_U8 data_nt35521_7[] = { 0xb3, 0x26 };
static CVI_U8 data_nt35521_8[] = { 0xb4, 0x0f };
static CVI_U8 data_nt35521_9[] = { 0xbb, 0x15 };
static CVI_U8 data_nt35521_10[] = { 0xbc, 0xa8 };
static CVI_U8 data_nt35521_11[] = { 0xbd, 0xa8 };
static CVI_U8 data_nt35521_12[] = { 0xbe, 0x28 };
//=====================Page 2 relative===================
static CVI_U8 data_nt35521_13[] = { 0xf0, 0x55, 0xaa, 0x52, 0x08, 0x02 };
static CVI_U8 data_nt35521_14[] = { 0xee, 0x01 };
static CVI_U8 data_nt35521_15[] = {
0xb0, 0x00, 0x00, 0x00, 0x13, 0x00, 0x33, 0x00, 0x4f, 0x00,
0x65, 0x00, 0x79, 0x00, 0x8b, 0x00, 0x9c
};
static CVI_U8 data_nt35521_16[] = {
0xb1, 0x00, 0xac, 0x00, 0xe0, 0x01, 0x09, 0x01, 0x4b, 0x01,
0x80, 0x01, 0xd1, 0x02, 0x13, 0x02, 0x14
};
static CVI_U8 data_nt35521_17[] = {
0xb2, 0x02, 0x50, 0x02, 0x91, 0x02, 0xba, 0x02, 0xf0, 0x03,
0x12, 0x03, 0x3d, 0x03, 0x4a, 0x03, 0x57
};
static CVI_U8 data_nt35521_18[] = {
0xb3, 0x03, 0x5f, 0x03, 0x74, 0x03, 0x8f, 0x03, 0xb8, 0x03,
0xfc, 0x03, 0xff
};
static CVI_U8 data_nt35521_19[] = {
0xe9, 0x52, 0x60, 0x63, 0x11, 0x21, 0x52, 0x60, 0x63, 0x11,
0x21
};
static CVI_U8 data_nt35521_20[] = {
0xea, 0x52, 0x60, 0x63, 0x11, 0x21, 0x52, 0x60, 0x63, 0x11,
0x21
};
static CVI_U8 data_nt35521_21[] = {
0xeb, 0x52, 0x60, 0x63, 0x11, 0x21, 0x52, 0x60, 0x63, 0x11,
0x21
};
//=====================Page 3 relative===================
static CVI_U8 data_nt35521_22[] = { 0xf0, 0x55, 0xaa, 0x52, 0x08, 0x03 };
static CVI_U8 data_nt35521_23[] = { 0xb2, 0x00, 0x0b, 0x08, 0x00, 0x00 };
static CVI_U8 data_nt35521_24[] = { 0xb3, 0x00, 0x09, 0x06, 0x00, 0x00 };
static CVI_U8 data_nt35521_25[] = { 0xba, 0x44, 0x00, 0x00, 0x10 };
static CVI_U8 data_nt35521_26[] = { 0xc0, 0x00, 0x34, 0x00 };
static CVI_U8 data_nt35521_27[] = { 0xc1, 0x00, 0x00, 0x34 };
//=====================Page 4 relative===================
static CVI_U8 data_nt35521_28[] = { 0xf0, 0x55, 0xaa, 0x52, 0x08, 0x04 };
static CVI_U8 data_nt35521_29[] = { 0xb1, 0x03, 0x02, 0x00, 0x15, 0x16 };
//=====================Page 5 relative===================
static CVI_U8 data_nt35521_30[] = { 0xf0, 0x55, 0xaa, 0x52, 0x08, 0x05 };
static CVI_U8 data_nt35521_31[] = { 0xb0, 0x06 };
static CVI_U8 data_nt35521_32[] = { 0xb2, 0x06, 0x00 };
static CVI_U8 data_nt35521_33[] = { 0xb3, 0x0e, 0x00, 0x00, 0x00, 0x00 };
static CVI_U8 data_nt35521_34[] = { 0xb4, 0x06, 0x00, 0x00, 0x00, 0x00 };
static CVI_U8 data_nt35521_35[] = { 0xb7, 0x06, 0x00, 0x00 };
static CVI_U8 data_nt35521_36[] = { 0xbc, 0x00, 0x00, 0x00, 0x02 };
static CVI_U8 data_nt35521_37[] = { 0xbd, 0x01, 0x03, 0x00, 0x03, 0x03 };
static CVI_U8 data_nt35521_38[] = { 0xc0, 0x07, 0x70 };
static CVI_U8 data_nt35521_39[] = { 0xc4, 0x00, 0x00, 0x3c };
static CVI_U8 data_nt35521_40[] = { 0xc5, 0x00, 0x00, 0x3c };
static CVI_U8 data_nt35521_41[] = { 0xd1, 0x00, 0x05, 0x01, 0x00, 0x00 };
static CVI_U8 data_nt35521_42[] = { 0xe3, 0x84 };
static CVI_U8 data_nt35521_43[] = { 0xe5, 0x1a };
static CVI_U8 data_nt35521_44[] = { 0xe6, 0x1a };
static CVI_U8 data_nt35521_45[] = { 0xe8, 0x1a };
static CVI_U8 data_nt35521_46[] = { 0xe9, 0x1a };
static CVI_U8 data_nt35521_47[] = { 0xea, 0x1a };
//=====================Page 6 relative===================
static CVI_U8 data_nt35521_48[] = { 0xf0, 0x55, 0xaa, 0x52, 0x08, 0x06 };
static CVI_U8 data_nt35521_49[] = { 0xb0, 0x30, 0x31, 0x2c, 0x2d, 0x14 };
static CVI_U8 data_nt35521_50[] = { 0xb1, 0x16, 0x10, 0x12, 0x00, 0x35 };
static CVI_U8 data_nt35521_51[] = { 0xb2, 0x35, 0x35, 0x35, 0x02, 0x31 };
static CVI_U8 data_nt35521_52[] = { 0xb3, 0x31, 0x31, 0x35, 0x35, 0x35 };
static CVI_U8 data_nt35521_53[] = { 0xb4, 0x35, 0x35, 0x35, 0x31, 0x31 };
static CVI_U8 data_nt35521_54[] = { 0xb5, 0x31, 0x03, 0x35, 0x35, 0x35 };
static CVI_U8 data_nt35521_55[] = { 0xb6, 0x35, 0x01, 0x13, 0x11, 0x17 };
static CVI_U8 data_nt35521_56[] = { 0xb7, 0x15, 0x2d, 0x2c, 0x31, 0x30 };
static CVI_U8 data_nt35521_57[] = { 0xf0, 0x55, 0xaa, 0x52, 0x00, 0x00 };
static CVI_U8 data_nt35521_58[] = { 0x35, 0x00 };
static CVI_U8 data_nt35521_59[] = { 0x11 };
static CVI_U8 data_nt35521_60[] = { 0x29 };
#ifdef _MIPI_TX_BIST_MODE
//=====================BIST relative===================
static CVI_U8 data_nt35521_61[] = { 0x10 };
static CVI_U8 data_nt35521_62[] = { 0xF0, 0x55, 0xAA, 0x52, 0x08, 0x00 };
static CVI_U8 data_nt35521_63[] = { 0xEE, 0x87, 0x78, 0xff, 0xff };
#endif
const struct dsc_instr dsi_init_cmds_nt35521_800x1280[] = {
#ifdef _MIPI_TX_BIST_MODE
//=====================BIST relative===================
{ .delay = 0, .data_type = 0x05, .size = 1, .data = data_nt35521_61 },
{ .delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_62 },
{ .delay = 0, .data_type = 0x29, .size = 5, .data = data_nt35521_63 },
#else
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_0 },
{.delay = 0, .data_type = 0x29, .size = 3, .data = data_nt35521_1 },
{.delay = 0, .data_type = 0x29, .size = 3, .data = data_nt35521_2 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_3 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_4 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_5 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_6 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_7 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_8 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_9 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_10 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_11 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_12 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_13 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_14 },
{.delay = 0, .data_type = 0x29, .size = 17, .data = data_nt35521_15 },
{.delay = 0, .data_type = 0x29, .size = 17, .data = data_nt35521_16 },
{.delay = 0, .data_type = 0x29, .size = 17, .data = data_nt35521_17 },
{.delay = 0, .data_type = 0x29, .size = 13, .data = data_nt35521_18 },
{.delay = 0, .data_type = 0x29, .size = 11, .data = data_nt35521_19 },
{.delay = 0, .data_type = 0x29, .size = 11, .data = data_nt35521_20 },
{.delay = 0, .data_type = 0x29, .size = 11, .data = data_nt35521_21 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_22 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_23 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_24 },
{.delay = 0, .data_type = 0x29, .size = 5, .data = data_nt35521_25 },
{.delay = 0, .data_type = 0x29, .size = 4, .data = data_nt35521_26 },
{.delay = 0, .data_type = 0x29, .size = 4, .data = data_nt35521_27 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_28 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_29 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_30 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_31 },
{.delay = 0, .data_type = 0x29, .size = 3, .data = data_nt35521_32 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_33 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_34 },
{.delay = 0, .data_type = 0x29, .size = 4, .data = data_nt35521_35 },
{.delay = 0, .data_type = 0x29, .size = 5, .data = data_nt35521_36 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_37 },
{.delay = 0, .data_type = 0x29, .size = 3, .data = data_nt35521_38 },
{.delay = 0, .data_type = 0x29, .size = 4, .data = data_nt35521_39 },
{.delay = 0, .data_type = 0x29, .size = 4, .data = data_nt35521_40 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_41 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_42 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_43 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_44 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_45 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_46 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_47 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_48 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_49 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_50 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_51 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_52 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_53 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_54 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_55 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_56 },
{.delay = 0, .data_type = 0x29, .size = 6, .data = data_nt35521_57 },
{.delay = 0, .data_type = 0x15, .size = 2, .data = data_nt35521_58 },
{.delay = 120, .data_type = 0x05, .size = 1, .data = data_nt35521_59 },
{.delay = 20, .data_type = 0x05, .size = 1, .data = data_nt35521_60 }
#endif
};
#else
#error "MIPI_TX_PARAM multi-delcaration!!"
#endif // _MIPI_TX_PARAM_NT35521_H_