middleware: weekly update 2023-04-26 1. add new sensor driver: tp2863,gc0329,mis2008 2. add some panel driver and sample app 3. update vi/vo driver 4. add ko_shrink for cv180x

Change-Id: Iea07e7ff516682255616f8f066ae33131e243a31
This commit is contained in:
sam.xiang
2023-04-27 15:29:21 +08:00
committed by forum_service
parent a57169ae72
commit ce9f68c35f
116 changed files with 9008 additions and 71 deletions

View File

@ -47,6 +47,8 @@ enum VENC_BIND_MODE_E {
#define CVI_VENC_MASK_TRACE 0x10000
#define CVI_VENC_MASK_DUMP_YUV 0x100000
#define CVI_VENC_MASK_DUMP_BS 0x200000
#define CVI_VENC_MASK_DEBUG 0x400000
#define CVI_VENC_MASK_CURR (CVI_VENC_MASK_ERR)
typedef struct _venc_dbg_ {
@ -197,12 +199,13 @@ extern pthread_t gs_VencTask[VENC_MAX_CHN_NUM];
#define CVI_VENC_DEBUG(msg, ...) \
do { \
struct timespec64 ts; \
ktime_get_ts64(&ts); \
pr_info("[DEBUG][%llu] %s = %d," msg, ts.tv_sec * 1000 + ts.tv_nsec / 1000000, __func__, \
__LINE__, ## __VA_ARGS__); \
if (vencDbg.currMask & CVI_VENC_MASK_DEBUG) { \
struct timespec64 ts; \
ktime_get_ts64(&ts); \
pr_info("[DEBUG][%llu] %s = %d," msg, ts.tv_sec * 1000 + ts.tv_nsec / 1000000, __func__, \
__LINE__, ## __VA_ARGS__); \
} \
} while (0)
#define CVI_VENC_ERR(msg, ...) \
do { \
if (vencDbg.currMask & CVI_VENC_MASK_ERR) \

View File

@ -36,6 +36,9 @@ extern "C" {
#define VO_INTF_I80 (0x01L << 16)
#define VO_GAMMA_NODENUM 65
#define MAX_BT_PINS 20
typedef CVI_U32 VO_INTF_TYPE_E;
typedef enum _VO_INTF_SYNC_E {
@ -288,6 +291,137 @@ typedef struct _VO_LVDS_ATTR_S {
enum VO_LVDS_MODE_E lvds_vesa_mode;
} VO_LVDS_ATTR_S;
enum VO_TOP_MUX {
VO_MUX_BT_VS = 0,
VO_MUX_BT_HS,
VO_MUX_BT_HDE,
VO_MUX_BT_DATA0,
VO_MUX_BT_DATA1,
VO_MUX_BT_DATA2,
VO_MUX_BT_DATA3,
VO_MUX_BT_DATA4,
VO_MUX_BT_DATA5,
VO_MUX_BT_DATA6,
VO_MUX_BT_DATA7,
VO_MUX_BT_DATA8,
VO_MUX_BT_DATA9,
VO_MUX_BT_DATA10,
VO_MUX_BT_DATA11,
VO_MUX_BT_DATA12,
VO_MUX_BT_DATA13,
VO_MUX_BT_DATA14,
VO_MUX_BT_DATA15,
VO_MUX_TG_HS_TILE = 30,
VO_MUX_TG_VS_TILE,
VO_MUX_MAX,
};
enum VO_TOP_SEL {
VO_CLK0 = 0,
VO_CLK1,
VO_D0,
VO_D1,
VO_D2,
VO_D3,
VO_D4,
VO_D5,
VO_D6,
VO_D7,
VO_D8,
VO_D9,
VO_D10,
VO_D11,
VO_D12,
VO_D13,
VO_D14,
VO_D15,
VO_D16,
VO_D17,
VO_D18,
VO_D19,
VO_D20,
VO_D21,
VO_D22,
VO_D23,
VO_D24,
VO_D25,
VO_D26,
VO_D27,
VO_D_MAX,
};
enum VO_TOP_D_SEL {
VO_VIVO_D0 = VO_D13,
VO_VIVO_D1 = VO_D14,
VO_VIVO_D2 = VO_D15,
VO_VIVO_D3 = VO_D16,
VO_VIVO_D4 = VO_D17,
VO_VIVO_D5 = VO_D18,
VO_VIVO_D6 = VO_D19,
VO_VIVO_D7 = VO_D20,
VO_VIVO_D8 = VO_D21,
VO_VIVO_D9 = VO_D22,
VO_VIVO_D10 = VO_D23,
VO_VIVO_CLK = VO_CLK1,
VO_MIPI_TXM4 = VO_D24,
VO_MIPI_TXP4 = VO_D25,
VO_MIPI_TXM3 = VO_D26,
VO_MIPI_TXP3 = VO_D27,
VO_MIPI_TXM2 = VO_D0,
VO_MIPI_TXP2 = VO_CLK0,
VO_MIPI_TXM1 = VO_D2,
VO_MIPI_TXP1 = VO_D1,
VO_MIPI_TXM0 = VO_D4,
VO_MIPI_TXP0 = VO_D3,
VO_MIPI_RXN5 = VO_D12,
VO_MIPI_RXP5 = VO_D11,
VO_MIPI_RXN2 = VO_D10,
VO_MIPI_RXP2 = VO_D9,
VO_MIPI_RXN1 = VO_D8,
VO_MIPI_RXP1 = VO_D7,
VO_MIPI_RXN0 = VO_D6,
VO_MIPI_RXP0 = VO_D5,
VO_PAD_MAX = VO_D_MAX
};
struct VO_D_REMAP {
enum VO_TOP_D_SEL sel;
enum VO_TOP_MUX mux;
};
struct VO_BT_PINS {
unsigned char pin_num;
struct VO_D_REMAP d_pins[MAX_BT_PINS];
};
enum VO_BT_MODE {
VO_BT_MODE_656 = 0,
VO_BT_MODE_1120,
VO_BT_MODE_601,
VO_BT_MODE_MAX,
};
enum VO_BT_CLK_MODE {
VO_BT_CLK_MODE_27M = 0,
VO_BT_CLK_MODE_36M,
VO_BT_CLK_MODE_37P125M,
VO_BT_CLK_MODE_72M,
VO_BT_CLK_MODE_74P25M,
VO_BT_CLK_MODE_148P5M,
};
/* Define BT's config
*
* bt_clk: bt clk sel
* mode: bt mode
* pins: bt pinmux cfg
*/
typedef struct _VO_BT_ATTR_S {
enum VO_BT_CLK_MODE bt_clk;
enum VO_BT_MODE mode;
struct VO_BT_PINS pins;
} VO_BT_ATTR_S;
/*
* u32BgColor: Background color of a device, in RGB format.
* enIntfType: Type of a VO interface.
@ -304,6 +438,7 @@ typedef struct _VO_PUB_ATTR_S {
union {
VO_I80_CFG_S sti80Cfg;
VO_LVDS_ATTR_S stLvdsAttr;
VO_BT_ATTR_S stBtAttr;
};
} VO_PUB_ATTR_S;

View File

@ -5,6 +5,8 @@
#define LANE_MAX_NUM 5
#endif
#define MAX_BT_PINS 20
enum cvi_disp_intf {
CVI_VIP_DISP_INTF_DSI = 0,
CVI_VIP_DISP_INTF_BT,
@ -54,6 +56,109 @@ struct cvi_lvds_intf_cfg {
__s8 backlight_avtive;
};
enum sclr_top_vo_mux {
SCLR_VO_MUX_BT_VS = 0,
SCLR_VO_MUX_BT_HS,
SCLR_VO_MUX_BT_HDE,
SCLR_VO_MUX_BT_DATA0,
SCLR_VO_MUX_BT_DATA1,
SCLR_VO_MUX_BT_DATA2,
SCLR_VO_MUX_BT_DATA3,
SCLR_VO_MUX_BT_DATA4,
SCLR_VO_MUX_BT_DATA5,
SCLR_VO_MUX_BT_DATA6,
SCLR_VO_MUX_BT_DATA7,
SCLR_VO_MUX_BT_DATA8,
SCLR_VO_MUX_BT_DATA9,
SCLR_VO_MUX_BT_DATA10,
SCLR_VO_MUX_BT_DATA11,
SCLR_VO_MUX_BT_DATA12,
SCLR_VO_MUX_BT_DATA13,
SCLR_VO_MUX_BT_DATA14,
SCLR_VO_MUX_BT_DATA15,
SCLR_VO_MUX_TG_HS_TILE = 30,
SCLR_VO_MUX_TG_VS_TILE,
SCLR_VO_MUX_MAX,
};
enum sclr_top_vo_sel {
SCLR_VO_CLK0 = 0,
SCLR_VO_CLK1,
SCLR_VO_D0,
SCLR_VO_D1,
SCLR_VO_D2,
SCLR_VO_D3,
SCLR_VO_D4,
SCLR_VO_D5,
SCLR_VO_D6,
SCLR_VO_D7,
SCLR_VO_D8,
SCLR_VO_D9,
SCLR_VO_D10,
SCLR_VO_D11,
SCLR_VO_D12,
SCLR_VO_D13,
SCLR_VO_D14,
SCLR_VO_D15,
SCLR_VO_D16,
SCLR_VO_D17,
SCLR_VO_D18,
SCLR_VO_D19,
SCLR_VO_D20,
SCLR_VO_D21,
SCLR_VO_D22,
SCLR_VO_D23,
SCLR_VO_D24,
SCLR_VO_D25,
SCLR_VO_D26,
SCLR_VO_D27,
SCLR_VO_D_MAX,
};
enum sclr_top_vo_d_sel {
SCLR_VO_VIVO_D0 = SCLR_VO_D13,
SCLR_VO_VIVO_D1 = SCLR_VO_D14,
SCLR_VO_VIVO_D2 = SCLR_VO_D15,
SCLR_VO_VIVO_D3 = SCLR_VO_D16,
SCLR_VO_VIVO_D4 = SCLR_VO_D17,
SCLR_VO_VIVO_D5 = SCLR_VO_D18,
SCLR_VO_VIVO_D6 = SCLR_VO_D19,
SCLR_VO_VIVO_D7 = SCLR_VO_D20,
SCLR_VO_VIVO_D8 = SCLR_VO_D21,
SCLR_VO_VIVO_D9 = SCLR_VO_D22,
SCLR_VO_VIVO_D10 = SCLR_VO_D23,
SCLR_VO_VIVO_CLK = SCLR_VO_CLK1,
SCLR_VO_MIPI_TXM4 = SCLR_VO_D24,
SCLR_VO_MIPI_TXP4 = SCLR_VO_D25,
SCLR_VO_MIPI_TXM3 = SCLR_VO_D26,
SCLR_VO_MIPI_TXP3 = SCLR_VO_D27,
SCLR_VO_MIPI_TXM2 = SCLR_VO_D0,
SCLR_VO_MIPI_TXP2 = SCLR_VO_CLK0,
SCLR_VO_MIPI_TXM1 = SCLR_VO_D2,
SCLR_VO_MIPI_TXP1 = SCLR_VO_D1,
SCLR_VO_MIPI_TXM0 = SCLR_VO_D4,
SCLR_VO_MIPI_TXP0 = SCLR_VO_D3,
SCLR_VO_MIPI_RXN5 = SCLR_VO_D12,
SCLR_VO_MIPI_RXP5 = SCLR_VO_D11,
SCLR_VO_MIPI_RXN2 = SCLR_VO_D10,
SCLR_VO_MIPI_RXP2 = SCLR_VO_D9,
SCLR_VO_MIPI_RXN1 = SCLR_VO_D8,
SCLR_VO_MIPI_RXP1 = SCLR_VO_D7,
SCLR_VO_MIPI_RXN0 = SCLR_VO_D6,
SCLR_VO_MIPI_RXP0 = SCLR_VO_D5,
SCLR_VO_PAD_MAX = SCLR_VO_D_MAX
};
struct vo_d_remap {
enum sclr_top_vo_d_sel sel;
enum sclr_top_vo_mux mux;
};
struct bt_pins {
unsigned char pin_num;
struct vo_d_remap d_pins[MAX_BT_PINS];
};
enum BT_MODE {
BT_MODE_656 = 0,
BT_MODE_1120,
@ -61,12 +166,22 @@ enum BT_MODE {
BT_MODE_MAX,
};
enum BT_CLK_MODE {
BT_CLK_MODE_27M = 0,
BT_CLK_MODE_36M,
BT_CLK_MODE_37P125M,
BT_CLK_MODE_72M,
BT_CLK_MODE_74P25M,
BT_CLK_MODE_148P5M,
};
/*
* @pixelclock: pixel clock in kHz
*/
struct cvi_bt_intf_cfg {
__u32 pixelclock;
__u8 bt_clk;
enum BT_MODE mode;
struct bt_pins pins;
};
struct cvi_disp_intf_cfg {