kernel-brax3-ubuntu-touch/drivers/media/platform/mtk-isp/mtk_cam-aov.h
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

94 lines
1.9 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2019 MediaTek Inc.
*/
#ifndef __MTK_CAM_AOV_H
#define __MTK_CAM_AOV_H
#define MAX_DEST_NUM 4
struct seninf_vc_out_dest {
u8 mux; // allocated per group
u8 mux_vr; // allocated per group
u8 cam; // assigned by cam driver
u8 tag; // assigned by cam driver
u8 cam_type; // assigned by cam driver
};
struct seninf_vc {
u8 vc;
u8 dt;
u8 feature;
u8 out_pad;
u8 pixel_mode;
u8 group;
u8 dest_cnt;
struct seninf_vc_out_dest dest[MAX_DEST_NUM];
u8 enable;
u16 exp_hsize;
u16 exp_vsize;
u8 bit_depth;
u8 dt_remap_to_type;
u8 muxvr_offset;
};
/* camsys supported parameter */
struct mtk_seninf_aov_param {
struct seninf_vc vc;
unsigned int sensor_idx;
unsigned int is_cphy:1;
int num_data_lanes;
s64 mipi_pixel_rate;
s64 width;
s64 height;
s64 hblank;
s64 vblank;
int fps_n;
int fps_d;
s64 customized_pixel_rate;
int port;
int portA;
int portB;
unsigned int is_4d1c:1;
int seninfIdx;
u32 cphy_settle;
u32 dphy_clk_settle;
u32 dphy_data_settle;
u32 dphy_trail;
u8 legacy_phy;
u8 not_fixed_trail_settle;
int cnt;
int is_test_model;
int isp_freq;
int camtg;
int seninf_dphy_settle_delay_dt;
int cphy_settle_delay_dt;
int dphy_settle_delay_dt;
int settle_delay_ck;
int hs_trail_parameter;
u32 dphy_csi2_resync_dmy_cycle;
u8 not_fixed_dphy_settle;
};
enum AOV_DEINIT_TYPE {
DEINIT_NORMAL = 0,
DEINIT_ABNORMAL_USR_FD_KILL,
DEINIT_ABNORMAL_SCP_STOP,
};
enum AOV_INIT_TYPE {
INIT_NORMAL = 0,
INIT_ABNORMAL_SCP_READY,
};
extern int mtk_cam_seninf_s_aov_param(unsigned int sensor_id,
struct mtk_seninf_aov_param *aov_seninf_param,
enum AOV_INIT_TYPE aov_seninf_init_type);
extern int mtk_cam_seninf_aov_runtime_suspend(unsigned int sensor_id);
extern int mtk_cam_seninf_aov_runtime_resume(unsigned int sensor_id,
enum AOV_DEINIT_TYPE aov_seninf_deinit_type);
#endif /* __MTK_CAM_AOV_H */