Files
gk-sdk/sample/common/sample_comm_tp.h

72 lines
2.1 KiB
C
Executable File

#ifndef __TP9963_MIPI_H__
#define __TP9963_MIPI_H__
#include "xmedia_type.h"
#include "sample_comm_tp_i2c.h"
#define TP_MAX_CHN 2
typedef enum {
TP_CH_1 = 0,
TP_CH_2 = 1,
TP_CH_ALL = 4,
TP_CH_MIPI_PAGE = 8,
TP_CH_MAX,
} tp9963_chn;
typedef enum {
TP_FMT_PAL = 0, // 720x288i
TP_FMT_NTSC, // 720x240i
TP_FMT_HD25, // 1280x720
TP_FMT_HD30, // 1280x720
TP_FMT_FHD25, // 1920x1080
TP_FMT_FHD30, // 1920x1080
TP_FMT_QHD25, // 2560x1440
TP_FMT_QHD30, // 2560x1440
TP_FMT_QHD275, // 2560X1440 27.5fps
TP_FMT_FHD50, // 1920x1080
TP_FMT_FHD60, // 1920x1080
TP_FMT_5M20, //
TP_FMT_FHD275, // 1080P27.5
TP_FMT_FHD28, // 1920X1080, 2200X1205
TP_FMT_F_UVGA30, // FH 1280x960p30, must use with MIPI_2CH2LANE_432M
TP_FMT_QHD25_4A10, // total
TP_FMT_FHD59, // 1920x1080,Nonsatandard total 2200x1144
TP_FMT_UVGA30, // 1280x960p30, must use with MIPI_2CH2LANE_445M
TP_FMT_HD50,
TP_FMT_HD60,
TP_FMT_MAX,
} tp9963_fmt;
typedef enum {
TP_STD_TVI = 0, // TVI
TP_STD_HDA, // AHD
TP_STD_MAX,
} tp9963_std;
typedef enum {
TP_MIPI_MODE_2CH2LANE_594M = 0, // up to 2x1080p25/30
TP_MIPI_MODE_2CH2LANE_297M, // up to 2x720p25/30
TP_MIPI_MODE_2CH4LANE_594M, // up to 2x1080p50/60
TP_MIPI_MODE_2CH4LANE_297M, // up to 2x1080p25/30
TP_MIPI_MODE_2CH2LANE_432M, // only for 2xF_UVGA30
TP_MIPI_MODE_1CH2LANE_594M, // up to 1xQHD30
TP_MIPI_MODE_1CH2LANE_297M, // up to 1x1080P30
TP_MIPI_MODE_1CH4LANE_297M, // up to 1xQHD30
TP_MIPI_MODE_2CH4LANE_216M, // only for 2xF_UVGA30
TP_MIPI_MODE_2CH2LANE_445M, // only for 2xUVGA30
TP_MIPI_MODE_MAX,
} tp9963_mipi_mode;
typedef struct {
xmedia_u32 i2c_dev;
tp9963_chn chn[TP_MAX_CHN];
tp9963_fmt fmt[TP_MAX_CHN];
tp9963_std std[TP_MAX_CHN];
tp9963_mipi_mode mipi_mode;
} sample_comm_tp9963_cfg;
xmedia_s32 sample_comm_tp9963_init(sample_comm_tp9963_cfg *cfg);
xmedia_s32 sample_comm_tp9963_deinit(xmedia_void);
#endif