You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.5 KiB
98 lines
2.5 KiB
#ifndef ARCH_SPEC_H |
|
#define ARCH_SPEC_H |
|
#include "datatype.h" |
|
|
|
/* AUTO COPY TO VENDER INC */ |
|
#ifdef IK_RELEASE |
|
#define STATIC static |
|
#define INLINE inline |
|
#else |
|
#define STATIC |
|
#define INLINE |
|
#endif |
|
#ifndef MAX_CONTEXT_NUM |
|
#define MAX_CONTEXT_NUM (16U) |
|
#endif |
|
#ifndef MAX_CONFIG_NUM |
|
#define MAX_CONFIG_NUM (10U) |
|
#endif |
|
#define MAX_CONTAINER_IDSP_CMD_NUM (10U) |
|
#define MAX_CONTAINER_VIN_CMD_NUM (10U) |
|
#define MAX_VIN_NUM (4U) |
|
#define IK_MAX_HDR_EXPOSURE_NUM (3U) |
|
#define CONTAINER_CMD_SIZE (128U) |
|
#define AMP_TABLE_SIZE (353) |
|
|
|
#define AMBA_IK_PIPE_VIDEO (0x0U) |
|
#define AMBA_IK_PIPE_STILL (0x1U) |
|
|
|
#define AMBA_IK_ALGO_MODE_LISO (0x0U) |
|
|
|
#define IK_WAIT_FOREVER (0xFFFFFFFFUL) |
|
|
|
typedef enum { |
|
AMBA_IK_VIDEO_STILL_MAX = 0, |
|
} amba_ik_still_pipe_ability_t; |
|
|
|
typedef enum { |
|
AMBA_IK_VIDEO_PIPE_LINEAR = 0U, |
|
AMBA_IK_VIDEO_PIPE_LINEAR_CE, |
|
AMBA_IK_VIDEO_PIPE_HDR_EXPO_2, |
|
AMBA_IK_VIDEO_PIPE_HDR_EXPO_3, |
|
AMBA_IK_VIDEO_PIPE_LINEAR_MD, |
|
AMBA_IK_VIDEO_PIPE_LINEAR_CE_MD, |
|
AMBA_IK_VIDEO_PIPE_HDR_EXPO_2_MD, |
|
AMBA_IK_VIDEO_PIPE_HDR_EXPO_3_MD, |
|
AMBA_IK_VIDEO_PIPE_Y2Y, |
|
AMBA_IK_VIDEO_PIPE_FUSION_CE_MD, |
|
AMBA_IK_VIDEO_PIPE_FUSION_CE, |
|
AMBA_IK_VIDEO_PIPE_MAX, |
|
} amba_ik_video_pipe_ability_t; |
|
|
|
typedef enum { |
|
amba_ik_init_mode_hard_init = 0x00U, |
|
amba_ik_init_mode_soft_init = 0x01U, |
|
}amba_ik_init_mode_t; |
|
|
|
typedef enum { |
|
amba_ik_func_mode_fv = 0x00U, |
|
amba_ik_func_mode_qv = 0x01U, |
|
amba_ik_func_mode_piv = 0X02U, |
|
amba_ik_func_mode_r2r = 0x04U, |
|
amba_ik_func_mode_vhdr = 0x08U, |
|
amba_ik_func_mode_y2y = 0x10U, |
|
amba_ik_func_mode_md = 0x20U, |
|
amba_ik_func_mode_y2y_bypass, |
|
} amba_ik_func_mode_t; |
|
|
|
typedef struct { |
|
uint8 pipe; |
|
amba_ik_still_pipe_ability_t still_pipe; |
|
amba_ik_video_pipe_ability_t video_pipe; |
|
} ik_ability_t; |
|
|
|
typedef struct { |
|
uint32 iso_config_common_update : 1 ; |
|
uint32 iso_config_color_update : 1 ; |
|
uint32 iso_config_mctf_update : 1 ; |
|
uint32 iso_config_step1_update : 1 ; |
|
uint32 iso_config_aaa_update : 1 ; // AAA setup update |
|
uint32 iso_config_extra_update : 1 ; |
|
uint32 iso_config_motion_update : 1 ; |
|
uint32 iso_config_exp_update : 1 ; |
|
uint32 reserved : 24; |
|
} ik_iso_config_update; |
|
|
|
typedef struct { |
|
uint32 ik_id; |
|
void *p_iso_cfg; |
|
ik_iso_config_update update; |
|
} ik_execute_container_t; |
|
|
|
|
|
#define AMBA_IK_RVAL_SUCCESS (0UL) |
|
#define AMBA_IK_RVAL_ERROR (0xFFFFFFFFUL) |
|
#define AMBA_IK_RVAL_AAA_SETUP_INVALID (0xFFFFFFFFUL-1UL) |
|
#define AMBA_IK_RVAL_CTX_SIZE_ERROR (0xFFFFFFFFUL-2UL) |
|
|
|
#endif
|
|
|