123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- /**********************************************************************************
- *
- * Copyright (c) 2019-2020 Beijing AXera Technology Co., Ltd. All Rights Reserved.
- *
- * This source file is the property of Beijing AXera Technology Co., Ltd. and
- * may not be copied or distributed in any isomorphic form without the prior
- * written consent of Beijing AXera Technology Co., Ltd.
- *
- **********************************************************************************/
- #ifndef __AX_MIPI_API__
- #define __AX_MIPI_API__
- #include "ax_base_type.h"
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- typedef enum {
- AX_MIPI_TX_DEV_0 = 0,
- AX_MIPI_TX_DEV_1,
- AX_MIPI_TX_DEV_2,
- AX_MIPI_TX_DEV_MAX
- } AX_MIPI_TX_DEV_E;
- typedef enum {
- AX_MIPI_RX_DEV_0 = 0,
- AX_MIPI_RX_DEV_1,
- AX_MIPI_RX_DEV_2,
- AX_MIPI_RX_DEV_3,
- AX_MIPI_RX_DEV_MAX
- } AX_MIPI_RX_DEV_E;
- typedef enum {
- AX_MIPI_TX_SRC_SNS_0,
- AX_MIPI_TX_SRC_SNS_1,
- AX_MIPI_TX_SRC_SNS_2,
- AX_MIPI_TX_SRC_RAW_SCALAR_2,
- AX_MIPI_TX_SRC_RAW_SCALAR_3,
- AX_MIPI_TX_SRC_RLTM,
- AX_MIPI_TX_SRC_RLTM_INFO,
- } AX_MIPI_TX_SRC_E;
- typedef enum {
- AX_MIPI_DATA_RATE_80M = 0,
- AX_MIPI_DATA_RATE_100M,
- AX_MIPI_DATA_RATE_200M,
- AX_MIPI_DATA_RATE_300M,
- AX_MIPI_DATA_RATE_400M,
- AX_MIPI_DATA_RATE_500M,
- AX_MIPI_DATA_RATE_600M,
- AX_MIPI_DATA_RATE_700M,
- AX_MIPI_DATA_RATE_800M,
- AX_MIPI_DATA_RATE_900M,
- AX_MIPI_DATA_RATE_1000M,
- AX_MIPI_DATA_RATE_1100M,
- AX_MIPI_DATA_RATE_1200M,
- AX_MIPI_DATA_RATE_1300M,
- AX_MIPI_DATA_RATE_1400M,
- AX_MIPI_DATA_RATE_1500M,
- AX_MIPI_DATA_RATE_1600M,
- AX_MIPI_DATA_RATE_1700M,
- AX_MIPI_DATA_RATE_1800M,
- AX_MIPI_DATA_RATE_1900M,
- AX_MIPI_DATA_RATE_2000M,
- AX_MIPI_DATA_RATE_2100M,
- AX_MIPI_DATA_RATE_2200M,
- AX_MIPI_DATA_RATE_2300M,
- AX_MIPI_DATA_RATE_2400M,
- AX_MIPI_DATA_RATE_2500M,
- } AX_MIPI_DATA_RATE_E;
- typedef enum {
- AX_MIPI_RX_PHY0_SEL_LANE_0_1_2_3 = 0,
- AX_MIPI_RX_PHY0_SEL_LANE_2_3,
- AX_MIPI_RX_PHY1_SEL_LANE_0_1_2_3,
- AX_MIPI_RX_PHY1_SEL_LANE_2_3,
- AX_MIPI_RX_PHY2_SEL_LANE_0_1_2_3,
- AX_MIPI_RX_PHY2_SEL_LANE_2_3,
- } AX_MIPI_RX_PHY_SEL_E;
- typedef enum {
- AX_MIPI_LANE_1 = 1,
- AX_MIPI_LANE_2 = 2,
- AX_MIPI_LANE_4 = 4,
- } AX_MIPI_LANE_NUM_E;
- typedef enum {
- AX_MIPI_VC_0 = 0,
- AX_MIPI_VC_1,
- AX_MIPI_VC_2,
- AX_MIPI_VC_3,
- AX_MIPI_VC_4,
- AX_MIPI_VC_5,
- AX_MIPI_VC_6,
- AX_MIPI_VC_7,
- AX_MIPI_VC_8,
- AX_MIPI_VC_9,
- AX_MIPI_VC_10,
- AX_MIPI_VC_11,
- AX_MIPI_VC_12,
- AX_MIPI_VC_13,
- AX_MIPI_VC_14,
- AX_MIPI_VC_15,
- AX_MIPI_VC_MAX
- } AX_MIPI_VC_NUM_E;
- typedef enum {
- AX_MIPI_DT_RAW8 = 8,
- AX_MIPI_DT_RAW10 = 10,
- AX_MIPI_DT_RAW12 = 12,
- AX_MIPI_DT_RAW14 = 14,
- AX_MIPI_DT_RAW16 = 16,
- AX_MIPI_DT_YUV420 = 20,
- AX_MIPI_DT_MAX
- } AX_MIPI_DT_E;
- typedef enum {
- AX_MIPI_DOL_1 = 1,
- AX_MIPI_DOL_2,
- AX_MIPI_DOL_3,
- AX_MIPI_DOL_MAX
- } AX_MIPI_DOL_NUM_E;
- typedef struct {
- AX_MIPI_LANE_NUM_E eLaneNum;
- AX_MIPI_DATA_RATE_E eDataRate;
- AX_MIPI_RX_PHY_SEL_E ePhySel;
- AX_U8 nLaneMap[5];
- } AX_MIPI_RX_ATTR_S;
- typedef struct {
- AX_BOOL bIspBypass;
- AX_MIPI_TX_SRC_E eInputSrc;
- AX_MIPI_LANE_NUM_E eLaneNum; /*only 4*/
- AX_MIPI_DATA_RATE_E eDataRate; /*dphy datarate(Mbps)*/
- AX_MIPI_DOL_NUM_E eDolSplitNum; /*val(1, 2, 3)*/
- AX_U32 nImgWidth;
- AX_U32 nImgHeight;
- AX_MIPI_DT_E eImgDataType; /*val(8, 10, 12, 14)*/
- AX_MIPI_VC_NUM_E eImgVC;
- AX_U32 nNonImgWidth;
- AX_U32 nNonImgHeight;
- AX_U32 eNonImgDataType;
- AX_MIPI_DT_E eNonImgDT; /*val(8)*/
- AX_MIPI_VC_NUM_E eNonImgVC;
- AX_U8 nLaneMap[5];
- } AX_MIPI_TX_ATTR_S;
- AX_S32 AX_MIPI_TX_Init();
- AX_S32 AX_MIPI_TX_DeInit();
- AX_S32 AX_MIPI_TX_Reset(AX_MIPI_TX_DEV_E eMipiDev);
- AX_S32 AX_MIPI_TX_SetAttr(AX_MIPI_TX_DEV_E eMipiDev, AX_MIPI_TX_ATTR_S *pMipiAttr);
- AX_S32 AX_MIPI_TX_GetAttr(AX_MIPI_TX_DEV_E eMipiDev, AX_MIPI_TX_ATTR_S *pMipiAttr);
- AX_S32 AX_MIPI_TX_Start(AX_MIPI_TX_DEV_E eMipiDev);
- AX_S32 AX_MIPI_TX_Stop(AX_MIPI_TX_DEV_E eMipiDev);
- AX_S32 AX_MIPI_RX_Init();
- AX_S32 AX_MIPI_RX_DeInit();
- AX_S32 AX_MIPI_RX_Reset(AX_MIPI_RX_DEV_E eMipiDev);
- AX_S32 AX_MIPI_RX_SetAttr(AX_MIPI_RX_DEV_E eMipiDev, AX_MIPI_RX_ATTR_S *pMipiAttr);
- AX_S32 AX_MIPI_RX_GetAttr(AX_MIPI_RX_DEV_E eMipiDev, AX_MIPI_RX_ATTR_S *pMipiAttr);
- AX_S32 AX_MIPI_RX_Start(AX_MIPI_RX_DEV_E eMipiDev);
- AX_S32 AX_MIPI_RX_Stop(AX_MIPI_RX_DEV_E eMipiDev);
- #ifdef __cplusplus
- }
- #endif
- #endif // __AX_MIPI_API__
|