Merge "msm: camera: ife: Add support for camera v680 bus" into camera-kernel.lnx.4.0

Esse commit está contido em:
Camera Software Integration
2020-10-29 15:36:57 -07:00
commit de Gerrit - the friendly Code Review server
9 arquivos alterados com 639 adições e 616 exclusões

Ver arquivo

@@ -569,6 +569,20 @@ static const char *__cam_isp_resource_handle_id_to_type(
return "RDI_RD";
case CAM_ISP_IFE_OUT_RES_LCR:
return "LCR";
case CAM_ISP_IFE_OUT_RES_AWB_BFW:
return "AWB_BFW";
case CAM_ISP_IFE_OUT_RES_2PD_STATS:
return "2PD_STATS";
case CAM_ISP_IFE_OUT_RES_STATS_AEC_BE:
return "STATS_AEC_BE";
case CAM_ISP_IFE_OUT_RES_LTM_STATS:
return "LTM_STATS";
case CAM_ISP_IFE_OUT_RES_STATS_GTM_BHIST:
return "STATS_GTM_BHIST";
case CAM_ISP_IFE_LITE_OUT_RES_STATS_BE:
return "STATS_BE";
case CAM_ISP_IFE_LITE_OUT_RES_GAMMA:
return "GAMMA";
default:
return "CAM_ISP_Invalid_Resource_Type";
}

Ver arquivo

@@ -190,6 +190,7 @@ struct cam_vfe_hw_vfe_in_acquire_args {
* with this resource.
* @priv: Context data
* @event_cb: Callback function to hw mgr in case of hw events
* @buf_done_controller: Buf done controller for isp
* @vfe_out: Acquire args for VFE_OUT
* @vfe_bus_rd Acquire args for VFE_BUS_READ
* @vfe_in: Acquire args for VFE_IN
@@ -199,6 +200,7 @@ struct cam_vfe_acquire_args {
void *tasklet;
void *priv;
cam_hw_mgr_event_cb_func event_cb;
void *buf_done_controller;
union {
struct cam_vfe_hw_vfe_out_acquire_args vfe_out;
struct cam_vfe_hw_vfe_bus_rd_acquire_args vfe_bus_rd;

Ver arquivo

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
*/
#ifndef _CAM_VFE_CORE_H_
@@ -12,6 +12,13 @@
#include "cam_vfe_bus.h"
#include "cam_vfe_hw_intf.h"
#define CAM_VFE_HW_IRQ_CAP_SOF 0x1
#define CAM_VFE_HW_IRQ_CAP_EPOCH_0 0x2
#define CAM_VFE_HW_IRQ_CAP_EPOCH_1 0x4
#define CAM_VFE_HW_IRQ_CAP_RUP 0x8
#define CAM_VFE_HW_IRQ_CAP_BUF_DONE 0x10
#define CAM_VFE_HW_IRQ_CAP_EOF 0x20
struct cam_vfe_hw_info {
struct cam_irq_controller_reg_info *irq_reg_info;

Ver arquivo

@@ -412,7 +412,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.global_clear_bitmask = 0x00000001,
},
},
.num_client = CAM_VFE_BUS_VER3_MAX_CLIENTS,
.num_client = CAM_VFE_BUS_VER3_480_MAX_CLIENTS,
.bus_client_reg = {
/* BUS Client 0 FULL Y */
{
@@ -1177,6 +1177,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_3,
.mid[0] = 8,
.num_wm = 1,
.wm_idx = {
23,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RDI1,
@@ -1184,6 +1188,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_4,
.mid[0] = 9,
.num_wm = 1,
.wm_idx = {
24,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RDI2,
@@ -1191,6 +1199,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_5,
.mid[0] = 10,
.num_wm = 1,
.wm_idx = {
25,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_FULL,
@@ -1201,6 +1213,11 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.mid[1] = 33,
.mid[2] = 34,
.mid[3] = 35,
.num_wm = 2,
.wm_idx = {
0,
1,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_DS4,
@@ -1208,6 +1225,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = 1080,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 16,
.num_wm = 1,
.wm_idx = {
2,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_DS16,
@@ -1215,6 +1236,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = 1080,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 17,
.num_wm = 1,
.wm_idx = {
3,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RAW_DUMP,
@@ -1223,6 +1248,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 11,
.mid[1] = 12,
.num_wm = 1,
.wm_idx = {
10,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_FD,
@@ -1232,6 +1261,11 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.mid[0] = 20,
.mid[1] = 21,
.mid[2] = 22,
.num_wm = 2,
.wm_idx = {
8,
9,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_PDAF,
@@ -1240,6 +1274,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 25,
.mid[1] = 26,
.num_wm = 1,
.wm_idx = {
11,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_STATS_HDR_BE,
@@ -1247,6 +1285,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 40,
.num_wm = 1,
.wm_idx = {
12,
}
},
{
.vfe_out_type =
@@ -1255,6 +1297,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = 1080,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 41,
.num_wm = 1,
.wm_idx = {
13,
}
},
{
.vfe_out_type =
@@ -1263,6 +1309,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 42,
.num_wm = 1,
.wm_idx = {
14,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_STATS_BF,
@@ -1270,6 +1320,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 43,
.num_wm = 1,
.wm_idx = {
20,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_STATS_AWB_BG,
@@ -1277,6 +1331,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 44,
.num_wm = 1,
.wm_idx = {
15,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_STATS_BHIST,
@@ -1284,6 +1342,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 45,
.num_wm = 1,
.wm_idx = {
16,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_STATS_RS,
@@ -1291,6 +1353,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 46,
.num_wm = 1,
.wm_idx = {
17,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_STATS_CS,
@@ -1298,6 +1364,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 47,
.num_wm = 1,
.wm_idx = {
18,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_STATS_IHIST,
@@ -1305,6 +1375,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 48,
.num_wm = 1,
.wm_idx = {
19,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_FULL_DISP,
@@ -1315,6 +1389,11 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.mid[1] = 37,
.mid[2] = 38,
.mid[3] = 39,
.num_wm = 2,
.wm_idx = {
4,
5,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_DS4_DISP,
@@ -1322,6 +1401,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = 1080,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 18,
.num_wm = 1,
.wm_idx = {
6,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_DS16_DISP,
@@ -1329,6 +1412,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = 1080,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 19,
.num_wm = 1,
.wm_idx = {
7,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_2PD,
@@ -1337,6 +1424,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_1,
.mid[0] = 23,
.mid[1] = 24,
.num_wm = 1,
.wm_idx = {
21,
}
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_LCR,
@@ -1344,12 +1435,19 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_2,
.mid[0] = 27,
.num_wm = 1,
.wm_idx = {
22,
}
},
},
.num_comp_grp = 14,
.comp_done_shift = 6,
.top_irq_shift = 7,
.support_consumed_addr = true,
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 25,
.supported_irq = CAM_VFE_HW_IRQ_CAP_BUF_DONE | CAM_VFE_HW_IRQ_CAP_RUP,
.comp_cfg_needed = true,
};
static struct cam_irq_register_set vfe480_bus_rd_irq_reg[1] = {

Ver arquivo

@@ -1026,7 +1026,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe680_bus_hw_info = {
.ubwc_regs = NULL,
},
},
.num_out = 25,
.num_out = 27,
.vfe_out_hw_info = {
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RDI0,
@@ -1179,7 +1179,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe680_bus_hw_info = {
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.num_wm = 1,
.wm_idx = {
17,
12,
},
},
{
@@ -1273,6 +1273,16 @@ static struct cam_vfe_bus_ver3_hw_info vfe680_bus_hw_info = {
22,
},
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_STATS_AEC_BE,
.max_width = -1,
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.num_wm = 1,
.wm_idx = {
11,
},
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_LTM_STATS,
.max_width = -1,
@@ -1283,9 +1293,21 @@ static struct cam_vfe_bus_ver3_hw_info vfe680_bus_hw_info = {
27,
},
},
{
.vfe_out_type =
CAM_VFE_BUS_VER3_VFE_OUT_STATS_GTM_BHIST,
.max_width = 1920,
.max_height = 1080,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.num_wm = 1,
.wm_idx = {
17,
},
},
},
.comp_done_shift = 6,
.top_irq_shift = 7,
.num_comp_grp = 17,
.comp_done_shift = 0,
.top_irq_shift = 1,
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 33,
};

Ver arquivo

@@ -374,6 +374,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe48x_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.mid[0] = 16,
.num_wm = 1,
.wm_idx = {
0,
},
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RDI1,
@@ -381,6 +385,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe48x_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_1,
.mid[0] = 17,
.num_wm = 1,
.wm_idx = {
1,
},
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RDI2,
@@ -388,6 +396,10 @@ static struct cam_vfe_bus_ver3_hw_info vfe48x_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_2,
.mid[0] = 18,
.num_wm = 1,
.wm_idx = {
2,
},
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RDI3,
@@ -395,12 +407,19 @@ static struct cam_vfe_bus_ver3_hw_info vfe48x_bus_hw_info = {
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_3,
.mid[0] = 19,
.num_wm = 1,
.wm_idx = {
3,
},
},
},
.num_comp_grp = 4,
.comp_done_shift = 4,
.top_irq_shift = 4,
.support_consumed_addr = true,
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 25,
.supported_irq = CAM_VFE_HW_IRQ_CAP_BUF_DONE | CAM_VFE_HW_IRQ_CAP_RUP,
.comp_cfg_needed = true,
};
static struct cam_vfe_hw_info cam_vfe_lite48x_hw_info = {

Ver arquivo

@@ -35,7 +35,6 @@ static struct cam_vfe_bus_ver3_hw_info vfe680x_bus_hw_info = {
0x0000023C,
0x00000240,
0x00000244,
0x00000248,
},
.pwr_iso_cfg = 0x0000025C,
.overflow_status_clear = 0x00000260,
@@ -52,7 +51,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe680x_bus_hw_info = {
.global_clear_bitmask = 0x00000001,
},
},
.num_client = 4,
.num_client = 6,
.bus_client_reg = {
/* BUS Client 0 RDI0 */
{
@@ -80,7 +79,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe680x_bus_hw_info = {
.debug_status_cfg = 0x00000480,
.debug_status_0 = 0x00000484,
.debug_status_1 = 0x00000488,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_1,
.ubwc_regs = NULL,
},
/* BUS Client 1 RDI1 */
@@ -109,7 +108,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe680x_bus_hw_info = {
.debug_status_cfg = 0x00000580,
.debug_status_0 = 0x00000584,
.debug_status_1 = 0x00000588,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_1,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_2,
.ubwc_regs = NULL,
},
/* BUS Client 2 RDI2 */
@@ -138,7 +137,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe680x_bus_hw_info = {
.debug_status_cfg = 0x00000680,
.debug_status_0 = 0x00000684,
.debug_status_1 = 0x00000688,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_2,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_3,
.ubwc_regs = NULL,
},
/* BUS Client 3 RDI3 */
@@ -167,17 +166,75 @@ static struct cam_vfe_bus_ver3_hw_info vfe680x_bus_hw_info = {
.debug_status_cfg = 0x00000780,
.debug_status_0 = 0x00000784,
.debug_status_1 = 0x00000788,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_3,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_4,
.ubwc_regs = NULL,
},
/* BUS Client 4 Gamma */
{
.cfg = 0x00000800,
.image_addr = 0x00000804,
.frame_incr = 0x00000808,
.image_cfg_0 = 0x0000080C,
.image_cfg_1 = 0x00000810,
.image_cfg_2 = 0x00000814,
.packer_cfg = 0x00000818,
.frame_header_addr = 0x00000820,
.frame_header_incr = 0x00000824,
.frame_header_cfg = 0x00000828,
.irq_subsample_period = 0x00000830,
.irq_subsample_pattern = 0x00000834,
.framedrop_period = 0x00000838,
.framedrop_pattern = 0x0000083C,
.mmu_prefetch_cfg = 0x00000860,
.mmu_prefetch_max_offset = 0x00000864,
.system_cache_cfg = 0x00000868,
.addr_status_0 = 0x00000870,
.addr_status_1 = 0x00000874,
.addr_status_2 = 0x00000878,
.addr_status_3 = 0x0000087C,
.debug_status_cfg = 0x00000880,
.debug_status_0 = 0x00000884,
.debug_status_1 = 0x00000888,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0,
.ubwc_regs = NULL,
},
/* BUS Client 5 Stats BE */
{
.cfg = 0x00000900,
.image_addr = 0x00000904,
.frame_incr = 0x00000908,
.image_cfg_0 = 0x0000090C,
.image_cfg_1 = 0x00000910,
.image_cfg_2 = 0x00000914,
.packer_cfg = 0x00000918,
.frame_header_addr = 0x00000920,
.frame_header_incr = 0x00000924,
.frame_header_cfg = 0x00000928,
.irq_subsample_period = 0x00000930,
.irq_subsample_pattern = 0x00000934,
.framedrop_period = 0x00000938,
.framedrop_pattern = 0x0000093C,
.mmu_prefetch_cfg = 0x00000960,
.mmu_prefetch_max_offset = 0x00000964,
.system_cache_cfg = 0x00000968,
.addr_status_0 = 0x00000970,
.addr_status_1 = 0x00000974,
.addr_status_2 = 0x00000978,
.addr_status_3 = 0x0000097C,
.debug_status_cfg = 0x00000980,
.debug_status_0 = 0x00000984,
.debug_status_1 = 0x00000988,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0,
.ubwc_regs = NULL,
},
},
.num_out = 4,
.num_out = 6,
.vfe_out_hw_info = {
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RDI0,
.max_width = -1,
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_1,
.num_wm = 1,
.wm_idx = {
0,
@@ -187,7 +244,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe680x_bus_hw_info = {
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RDI1,
.max_width = -1,
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_2,
.num_wm = 1,
.wm_idx = {
1,
@@ -197,7 +254,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe680x_bus_hw_info = {
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RDI2,
.max_width = -1,
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_2,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_3,
.num_wm = 1,
.wm_idx = {
2,
@@ -207,14 +264,36 @@ static struct cam_vfe_bus_ver3_hw_info vfe680x_bus_hw_info = {
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_RDI3,
.max_width = -1,
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_3,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_4,
.num_wm = 1,
.wm_idx = {
3,
},
},
{
.vfe_out_type =
CAM_VFE_BUS_VER3_VFE_OUT_GAMMA,
.max_width = 1920,
.max_height = 1080,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.num_wm = 1,
.wm_idx = {
4,
},
},
{
.vfe_out_type = CAM_VFE_BUS_VER3_VFE_OUT_STATS_BE,
.max_width = -1,
.max_height = -1,
.source_group = CAM_VFE_BUS_VER3_SRC_GRP_0,
.num_wm = 1,
.wm_idx = {
5,
},
},
},
.comp_done_shift = 6,
.num_comp_grp = 4,
.comp_done_shift = 0,
.top_irq_shift = 1,
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 33,
};

Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff

Ver arquivo

@@ -10,7 +10,6 @@
#include "cam_irq_controller.h"
#include "cam_vfe_bus.h"
#define CAM_VFE_BUS_VER3_MAX_CLIENTS 26
#define CAM_VFE_BUS_VER3_MAX_SUB_GRPS 6
#define CAM_VFE_BUS_VER3_MAX_MID_PER_PORT 4
#define CAM_VFE_BUS_VER3_480_MAX_CLIENTS 26
@@ -80,7 +79,11 @@ enum cam_vfe_bus_ver3_vfe_out_type {
CAM_VFE_BUS_VER3_VFE_OUT_LCR,
CAM_VFE_BUS_VER3_VFE_OUT_AWB_BFW,
CAM_VFE_BUS_VER3_VFE_OUT_2PD_STATS,
CAM_VFE_BUS_VER3_VFE_OUT_STATS_AEC_BE,
CAM_VFE_BUS_VER3_VFE_OUT_LTM_STATS,
CAM_VFE_BUS_VER3_VFE_OUT_STATS_GTM_BHIST,
CAM_VFE_BUS_VER3_VFE_OUT_STATS_BE,
CAM_VFE_BUS_VER3_VFE_OUT_GAMMA,
CAM_VFE_BUS_VER3_VFE_OUT_MAX,
};
@@ -185,10 +188,13 @@ struct cam_vfe_bus_ver3_vfe_out_hw_info {
* @num_client: Total number of write clients
* @bus_client_reg: Bus client register info
* @vfe_out_hw_info: VFE output capability
* @num_comp_grp: Number of composite groups
* @comp_done_shift: Mask shift for comp done mask
* @top_irq_shift: Mask shift for top level BUS WR irq
* @support_consumed_addr: Indicate if bus support consumed address
* @max_out_res: Max vfe out resource value supported for hw
* @supported_irq: Mask to indicate the IRQ supported
* @comp_cfg_needed: Composite group config is needed for hw
*/
struct cam_vfe_bus_ver3_hw_info {
struct cam_vfe_bus_ver3_reg_offset_common common_reg;
@@ -198,10 +204,13 @@ struct cam_vfe_bus_ver3_hw_info {
uint32_t num_out;
struct cam_vfe_bus_ver3_vfe_out_hw_info
vfe_out_hw_info[CAM_VFE_BUS_VER3_VFE_OUT_MAX];
uint32_t num_comp_grp;
uint32_t comp_done_shift;
uint32_t top_irq_shift;
bool support_consumed_addr;
uint32_t max_out_res;
uint32_t supported_irq;
bool comp_cfg_needed;
};
/*