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:
@ -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) \
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user