Merge "msm: camera: isp: Add header file VFE and CSID for Cape" into camera-kernel.lnx.5.0
Bu işleme şunda yer alıyor:

işlemeyi yapan:
Gerrit - the friendly Code Review server

işleme
c43ac5bd74
@@ -0,0 +1,64 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_IFE_CSID_680_110_H_
|
||||
#define _CAM_IFE_CSID_680_110_H_
|
||||
|
||||
#include <linux/module.h>
|
||||
#include "cam_ife_csid_dev.h"
|
||||
#include "camera_main.h"
|
||||
#include "cam_ife_csid_common.h"
|
||||
#include "cam_ife_csid_hw_ver2.h"
|
||||
#include "cam_irq_controller.h"
|
||||
|
||||
static struct cam_ife_csid_ver2_reg_info cam_ife_csid_680_110_reg_info = {
|
||||
.irq_reg_info = &cam_ife_csid_680_irq_reg_info,
|
||||
.cmn_reg = &cam_ife_csid_680_cmn_reg_info,
|
||||
.csi2_reg = &cam_ife_csid_680_csi2_reg_info,
|
||||
.buf_done_irq_reg_info =
|
||||
&cam_ife_csid_680_buf_done_irq_reg_info,
|
||||
.path_reg[CAM_IFE_PIX_PATH_RES_IPP] = &cam_ife_csid_680_ipp_reg_info,
|
||||
.path_reg[CAM_IFE_PIX_PATH_RES_PPP] = &cam_ife_csid_680_ppp_reg_info,
|
||||
.path_reg[CAM_IFE_PIX_PATH_RES_RDI_0] = &cam_ife_csid_680_rdi_0_reg_info,
|
||||
.path_reg[CAM_IFE_PIX_PATH_RES_RDI_1] = &cam_ife_csid_680_rdi_1_reg_info,
|
||||
.path_reg[CAM_IFE_PIX_PATH_RES_RDI_2] = &cam_ife_csid_680_rdi_2_reg_info,
|
||||
.path_reg[CAM_IFE_PIX_PATH_RES_RDI_3] = &cam_ife_csid_680_rdi_3_reg_info,
|
||||
.path_reg[CAM_IFE_PIX_PATH_RES_RDI_4] = &cam_ife_csid_680_rdi_4_reg_info,
|
||||
.top_reg = &cam_ife_csid_680_top_reg_info,
|
||||
.input_core_sel = {
|
||||
{
|
||||
0x0,
|
||||
0x1,
|
||||
0x2,
|
||||
0x3,
|
||||
0x8,
|
||||
-1,
|
||||
-1,
|
||||
},
|
||||
{
|
||||
0x0,
|
||||
0x1,
|
||||
0x2,
|
||||
0x3,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
},
|
||||
{
|
||||
0x0,
|
||||
0x1,
|
||||
0x2,
|
||||
0x3,
|
||||
-1,
|
||||
0x9,
|
||||
-1,
|
||||
},
|
||||
},
|
||||
.need_top_cfg = 0x1,
|
||||
.csid_cust_node_map = {0x1, 0x0, 0x2},
|
||||
.rx_irq_desc = cam_ife_csid_680_rx_irq_desc,
|
||||
.path_irq_desc = cam_ife_csid_680_path_irq_desc,
|
||||
};
|
||||
#endif /*_CAM_IFE_CSID_680_110_H_ */
|
@@ -64,6 +64,10 @@ static const struct of_device_id cam_ife_csid_lite_dt_match[] = {
|
||||
.compatible = "qcom,csid-lite680",
|
||||
.data = &cam_ife_csid_lite_680_hw_info,
|
||||
},
|
||||
{
|
||||
.compatible = "qcom,csid-lite680_110",
|
||||
.data = &cam_ife_csid_lite_680_hw_info,
|
||||
},
|
||||
{
|
||||
.compatible = "qcom,csid-lite780",
|
||||
.data = &cam_ife_csid_lite_780_hw_info,
|
||||
|
@@ -17,6 +17,7 @@
|
||||
#include "cam_ife_csid570.h"
|
||||
#include "cam_ife_csid580.h"
|
||||
#include "cam_ife_csid680.h"
|
||||
#include "cam_ife_csid680_110.h"
|
||||
#include "cam_ife_csid780.h"
|
||||
|
||||
#define CAM_CSID_DRV_NAME "csid"
|
||||
@@ -66,6 +67,11 @@ static struct cam_ife_csid_core_info cam_ife_csid680_hw_info = {
|
||||
.sw_version = CAM_IFE_CSID_VER_2_0,
|
||||
};
|
||||
|
||||
static struct cam_ife_csid_core_info cam_ife_csid680_110_hw_info = {
|
||||
.csid_reg = &cam_ife_csid_680_reg_info,
|
||||
.sw_version = CAM_IFE_CSID_VER_2_0,
|
||||
};
|
||||
|
||||
static struct cam_ife_csid_core_info cam_ife_csid780_hw_info = {
|
||||
.csid_reg = &cam_ife_csid_780_reg_info,
|
||||
.sw_version = CAM_IFE_CSID_VER_2_0,
|
||||
@@ -109,6 +115,10 @@ static const struct of_device_id cam_ife_csid_dt_match[] = {
|
||||
.compatible = "qcom,csid680",
|
||||
.data = &cam_ife_csid680_hw_info,
|
||||
},
|
||||
{
|
||||
.compatible = "qcom,csid680_110",
|
||||
.data = &cam_ife_csid680_110_hw_info,
|
||||
},
|
||||
{
|
||||
.compatible = "qcom,csid780",
|
||||
.data = &cam_ife_csid780_hw_info,
|
||||
|
@@ -12,6 +12,7 @@
|
||||
#include "cam_vfe570.h"
|
||||
#include "cam_vfe580.h"
|
||||
#include "cam_vfe680.h"
|
||||
#include "cam_vfe680_110.h"
|
||||
#include "cam_vfe780.h"
|
||||
#include "cam_vfe_lite17x.h"
|
||||
#include "cam_vfe_lite48x.h"
|
||||
@@ -55,6 +56,10 @@ static const struct of_device_id cam_vfe_dt_match[] = {
|
||||
.compatible = "qcom,vfe680",
|
||||
.data = &cam_vfe680_hw_info,
|
||||
},
|
||||
{
|
||||
.compatible = "qcom,vfe680_110",
|
||||
.data = &cam_vfe680_110_hw_info,
|
||||
},
|
||||
{
|
||||
.compatible = "qcom,vfe780",
|
||||
.data = &cam_vfe780_hw_info,
|
||||
@@ -83,6 +88,10 @@ static const struct of_device_id cam_vfe_dt_match[] = {
|
||||
.compatible = "qcom,vfe-lite680",
|
||||
.data = &cam_vfe_lite68x_hw_info,
|
||||
},
|
||||
{
|
||||
.compatible = "qcom,vfe-lite680_110",
|
||||
.data = &cam_vfe_lite68x_hw_info,
|
||||
},
|
||||
{
|
||||
.compatible = "qcom,vfe-lite780",
|
||||
.data = &cam_vfe_lite78x_hw_info,
|
||||
|
135
drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe680_110.h
Normal dosya
135
drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe680_110.h
Normal dosya
@@ -0,0 +1,135 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_VFE680_110_H_
|
||||
#define _CAM_VFE680_110_H_
|
||||
#include "cam_vfe_top_ver4.h"
|
||||
#include "cam_vfe_core.h"
|
||||
#include "cam_vfe_bus_ver3.h"
|
||||
#include "cam_irq_controller.h"
|
||||
|
||||
#define CAM_VFE_680_110_NUM_DBG_REG 17
|
||||
|
||||
static struct cam_vfe_top_ver4_reg_offset_common vfe680_110_top_common_reg = {
|
||||
.hw_version = 0x00000000,
|
||||
.hw_capability = 0x00000004,
|
||||
.lens_feature = 0x00000008,
|
||||
.stats_feature = 0x0000000C,
|
||||
.color_feature = 0x00000010,
|
||||
.zoom_feature = 0x00000014,
|
||||
.core_cfg_0 = 0x00000024,
|
||||
.core_cfg_1 = 0x00000028,
|
||||
.core_cfg_2 = 0x0000002C,
|
||||
.global_reset_cmd = 0x00000030,
|
||||
.diag_config = 0x00000050,
|
||||
.diag_sensor_status_0 = 0x00000054,
|
||||
.diag_sensor_status_1 = 0x00000058,
|
||||
.diag_frm_cnt_status_0 = 0x0000005C,
|
||||
.diag_frm_cnt_status_1 = 0x00000060,
|
||||
.ipp_violation_status = 0x00000064,
|
||||
.pdaf_violation_status = 0x00000404,
|
||||
.core_cfg_3 = 0x00000068,
|
||||
.core_cgc_ovd_0 = 0x00000018,
|
||||
.core_cgc_ovd_1 = 0x0000001C,
|
||||
.ahb_cgc_ovd = 0x00000020,
|
||||
.dsp_status = 0x0000006C,
|
||||
.stats_throttle_cfg_0 = 0x00000070,
|
||||
.stats_throttle_cfg_1 = 0x00000074,
|
||||
.stats_throttle_cfg_2 = 0x00000078,
|
||||
.core_cfg_4 = 0x00000080,
|
||||
.core_cfg_5 = 0x00000084,
|
||||
.core_cfg_6 = 0x00000088,
|
||||
.period_cfg = 0x0000008C,
|
||||
.irq_sub_pattern_cfg = 0x00000090,
|
||||
.epoch0_pattern_cfg = 0x00000094,
|
||||
.epoch1_pattern_cfg = 0x00000098,
|
||||
.epoch_height_cfg = 0x0000009C,
|
||||
.bus_violation_status = 0x00000C64,
|
||||
.bus_overflow_status = 0x00000C68,
|
||||
.top_debug_cfg = 0x000000FC,
|
||||
.num_top_debug_reg = CAM_VFE_680_110_NUM_DBG_REG,
|
||||
.top_debug = {
|
||||
0x000000A0,
|
||||
0x000000A4,
|
||||
0x000000A8,
|
||||
0x000000AC,
|
||||
0x000000B0,
|
||||
0x000000B4,
|
||||
0x000000B8,
|
||||
0x000000BC,
|
||||
0x000000C0,
|
||||
0x000000C4,
|
||||
0x000000C8,
|
||||
0x000000CC,
|
||||
0x000000D0,
|
||||
0x000000D4,
|
||||
0x000000D8,
|
||||
0x000000DC,
|
||||
0x000000E0,
|
||||
},
|
||||
};
|
||||
|
||||
struct cam_vfe_ver4_path_hw_info
|
||||
vfe680_110_rdi_hw_info_arr[CAM_VFE_RDI_VER2_MAX] = {
|
||||
{
|
||||
.common_reg = &vfe680_110_top_common_reg,
|
||||
.reg_data = &vfe680_vfe_full_rdi_reg_data[0],
|
||||
},
|
||||
{
|
||||
.common_reg = &vfe680_110_top_common_reg,
|
||||
.reg_data = &vfe680_vfe_full_rdi_reg_data[1],
|
||||
},
|
||||
{
|
||||
.common_reg = &vfe680_110_top_common_reg,
|
||||
.reg_data = &vfe680_vfe_full_rdi_reg_data[2],
|
||||
},
|
||||
};
|
||||
|
||||
static struct cam_vfe_top_ver4_hw_info vfe680_110_top_hw_info = {
|
||||
.common_reg = &vfe680_110_top_common_reg,
|
||||
.vfe_full_hw_info = {
|
||||
.common_reg = &vfe680_110_top_common_reg,
|
||||
.reg_data = &vfe_pp_common_reg_data,
|
||||
},
|
||||
.pdlib_hw_info = {
|
||||
.common_reg = &vfe680_110_top_common_reg,
|
||||
.reg_data = &vfe680_pdlib_reg_data,
|
||||
},
|
||||
.rdi_hw_info[0] = &vfe680_110_rdi_hw_info_arr[0],
|
||||
.rdi_hw_info[1] = &vfe680_110_rdi_hw_info_arr[1],
|
||||
.rdi_hw_info[2] = &vfe680_110_rdi_hw_info_arr[2],
|
||||
.wr_client_desc = vfe680_wr_client_desc,
|
||||
.ipp_module_desc = vfe680_ipp_mod_desc,
|
||||
.num_mux = 5,
|
||||
.mux_type = {
|
||||
CAM_VFE_CAMIF_VER_4_0,
|
||||
CAM_VFE_RDI_VER_1_0,
|
||||
CAM_VFE_RDI_VER_1_0,
|
||||
CAM_VFE_RDI_VER_1_0,
|
||||
CAM_VFE_PDLIB_VER_1_0,
|
||||
},
|
||||
.num_path_port_map = 2,
|
||||
.path_port_map = {
|
||||
{CAM_ISP_HW_VFE_IN_PDLIB, CAM_ISP_IFE_OUT_RES_2PD},
|
||||
{CAM_ISP_HW_VFE_IN_PDLIB, CAM_ISP_IFE_OUT_RES_PREPROCESS_2PD}
|
||||
},
|
||||
.num_top_errors = ARRAY_SIZE(vfe680_top_irq_err_desc),
|
||||
.top_err_desc = vfe680_top_irq_err_desc,
|
||||
.num_pdaf_violation_errors = ARRAY_SIZE(vfe680_pdaf_violation_desc),
|
||||
.pdaf_violation_desc = vfe680_pdaf_violation_desc,
|
||||
.debug_reg_info = &vfe680_dbg_reg_info,
|
||||
};
|
||||
|
||||
static struct cam_vfe_hw_info cam_vfe680_110_hw_info = {
|
||||
.irq_hw_info = &vfe680_irq_hw_info,
|
||||
|
||||
.bus_version = CAM_VFE_BUS_VER_3_0,
|
||||
.bus_hw_info = &vfe680_bus_hw_info,
|
||||
|
||||
.top_version = CAM_VFE_TOP_VER_4_0,
|
||||
.top_hw_info = &vfe680_110_top_hw_info,
|
||||
};
|
||||
|
||||
#endif /* _CAM_VFE680_110_H_ */
|
Yeni konuda referans
Bir kullanıcı engelle