msm: camera: isp: Add v780 configs for BW limit and packer alignment

Add configurations for BW limiter in IFE and packer alignment in
SFE headers for v780.

CRs-Fixed: 3090212
Change-Id: I24dbd540d97b721f93af82f94b43cce92fa8f0fa
Signed-off-by: Chandan Kumar Jha <quic_cjha@quicinc.com>
Signed-off-by: Gaurav Jindal <quic_gjindal@quicinc.com>
This commit is contained in:
Gaurav Jindal
2021-11-15 11:17:46 +05:30
parent c4b93c74bf
commit 39a7d96dec
2 changed files with 34 additions and 5 deletions

View File

@@ -1576,6 +1576,7 @@ static struct cam_sfe_bus_wr_hw_info sfe780_bus_wr_hw_info = {
.comp_done_shift = 17, .comp_done_shift = 17,
.line_done_cfg = 0x11, .line_done_cfg = 0x11,
.top_irq_shift = 0x0, .top_irq_shift = 0x0,
.pack_align_shift = 5,
.max_bw_counter_limit = 0xFF, .max_bw_counter_limit = 0xFF,
}; };

View File

@@ -964,6 +964,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00000E84, .debug_status_cfg = 0x00000E84,
.debug_status_0 = 0x00000E88, .debug_status_0 = 0x00000E88,
.debug_status_1 = 0x00000E8C, .debug_status_1 = 0x00000E8C,
.bw_limiter_addr = 0x00000E1C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0,
.ubwc_regs = &vfe780_ubwc_regs_client_0, .ubwc_regs = &vfe780_ubwc_regs_client_0,
}, },
@@ -994,6 +995,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00000F84, .debug_status_cfg = 0x00000F84,
.debug_status_0 = 0x00000F88, .debug_status_0 = 0x00000F88,
.debug_status_1 = 0x00000F8C, .debug_status_1 = 0x00000F8C,
.bw_limiter_addr = 0x00000F1C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0,
.ubwc_regs = &vfe780_ubwc_regs_client_1, .ubwc_regs = &vfe780_ubwc_regs_client_1,
}, },
@@ -1021,6 +1023,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001084, .debug_status_cfg = 0x00001084,
.debug_status_0 = 0x00001088, .debug_status_0 = 0x00001088,
.debug_status_1 = 0x0000108C, .debug_status_1 = 0x0000108C,
.bw_limiter_addr = 0x0000101C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1048,6 +1051,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001184, .debug_status_cfg = 0x00001184,
.debug_status_0 = 0x00001188, .debug_status_0 = 0x00001188,
.debug_status_1 = 0x0000118C, .debug_status_1 = 0x0000118C,
.bw_limiter_addr = 0x0000111C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_0,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1078,6 +1082,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001284, .debug_status_cfg = 0x00001284,
.debug_status_0 = 0x00001288, .debug_status_0 = 0x00001288,
.debug_status_1 = 0x0000128C, .debug_status_1 = 0x0000128C,
.bw_limiter_addr = 0x0000121C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_1, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_1,
.ubwc_regs = &vfe780_ubwc_regs_client_4, .ubwc_regs = &vfe780_ubwc_regs_client_4,
}, },
@@ -1108,6 +1113,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001384, .debug_status_cfg = 0x00001384,
.debug_status_0 = 0x00001388, .debug_status_0 = 0x00001388,
.debug_status_1 = 0x0000138C, .debug_status_1 = 0x0000138C,
.bw_limiter_addr = 0x0000131C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_1, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_1,
.ubwc_regs = &vfe780_ubwc_regs_client_5, .ubwc_regs = &vfe780_ubwc_regs_client_5,
}, },
@@ -1135,6 +1141,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001484, .debug_status_cfg = 0x00001484,
.debug_status_0 = 0x00001488, .debug_status_0 = 0x00001488,
.debug_status_1 = 0x0000148C, .debug_status_1 = 0x0000148C,
.bw_limiter_addr = 0x0000141C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_1, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_1,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1162,6 +1169,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001584, .debug_status_cfg = 0x00001584,
.debug_status_0 = 0x00001588, .debug_status_0 = 0x00001588,
.debug_status_1 = 0x0000158C, .debug_status_1 = 0x0000158C,
.bw_limiter_addr = 0x0000151C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_1, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_1,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1192,6 +1200,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001684, .debug_status_cfg = 0x00001684,
.debug_status_0 = 0x00001688, .debug_status_0 = 0x00001688,
.debug_status_1 = 0x0000168C, .debug_status_1 = 0x0000168C,
.bw_limiter_addr = 0x0000161C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_2, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_2,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1219,6 +1228,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001784, .debug_status_cfg = 0x00001784,
.debug_status_0 = 0x00001788, .debug_status_0 = 0x00001788,
.debug_status_1 = 0x0000178C, .debug_status_1 = 0x0000178C,
.bw_limiter_addr = 0x0000171C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_2, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_2,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1249,6 +1259,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001884, .debug_status_cfg = 0x00001884,
.debug_status_0 = 0x00001888, .debug_status_0 = 0x00001888,
.debug_status_1 = 0x0000188C, .debug_status_1 = 0x0000188C,
.bw_limiter_addr = 0x0000181C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_3, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_3,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1279,6 +1290,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001984, .debug_status_cfg = 0x00001984,
.debug_status_0 = 0x00001988, .debug_status_0 = 0x00001988,
.debug_status_1 = 0x0000198C, .debug_status_1 = 0x0000198C,
.bw_limiter_addr = 0x0000191C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_4, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_4,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1309,6 +1321,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001A84, .debug_status_cfg = 0x00001A84,
.debug_status_0 = 0x00001A88, .debug_status_0 = 0x00001A88,
.debug_status_1 = 0x00001A8C, .debug_status_1 = 0x00001A8C,
.bw_limiter_addr = 0x00001A1C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_4, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_4,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1339,6 +1352,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001B84, .debug_status_cfg = 0x00001B84,
.debug_status_0 = 0x00001B88, .debug_status_0 = 0x00001B88,
.debug_status_1 = 0x00001B8C, .debug_status_1 = 0x00001B8C,
.bw_limiter_addr = 0x00001B1C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_5, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_5,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1369,6 +1383,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001C84, .debug_status_cfg = 0x00001C84,
.debug_status_0 = 0x00001C88, .debug_status_0 = 0x00001C88,
.debug_status_1 = 0x00001C8C, .debug_status_1 = 0x00001C8C,
.bw_limiter_addr = 0x00001C1C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_6, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_6,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1399,6 +1414,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001D84, .debug_status_cfg = 0x00001D84,
.debug_status_0 = 0x00001D88, .debug_status_0 = 0x00001D88,
.debug_status_1 = 0x00001D8C, .debug_status_1 = 0x00001D8C,
.bw_limiter_addr = 0x00001D1C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_6, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_6,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1429,6 +1445,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001E84, .debug_status_cfg = 0x00001E84,
.debug_status_0 = 0x00001E88, .debug_status_0 = 0x00001E88,
.debug_status_1 = 0x00001E8C, .debug_status_1 = 0x00001E8C,
.bw_limiter_addr = 0x00001E1C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_7, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_7,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1459,6 +1476,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00001F84, .debug_status_cfg = 0x00001F84,
.debug_status_0 = 0x00001F88, .debug_status_0 = 0x00001F88,
.debug_status_1 = 0x00001F8C, .debug_status_1 = 0x00001F8C,
.bw_limiter_addr = 0x00001F1C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_8, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_8,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1489,6 +1507,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00002084, .debug_status_cfg = 0x00002084,
.debug_status_0 = 0x00002088, .debug_status_0 = 0x00002088,
.debug_status_1 = 0x0000208C, .debug_status_1 = 0x0000208C,
.bw_limiter_addr = 0x0000201C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_9, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_9,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1519,6 +1538,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00002184, .debug_status_cfg = 0x00002184,
.debug_status_0 = 0x00002188, .debug_status_0 = 0x00002188,
.debug_status_1 = 0x0000218C, .debug_status_1 = 0x0000218C,
.bw_limiter_addr = 0x0000211C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_10, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_10,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1549,6 +1569,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00002284, .debug_status_cfg = 0x00002284,
.debug_status_0 = 0x00002288, .debug_status_0 = 0x00002288,
.debug_status_1 = 0x0000228C, .debug_status_1 = 0x0000228C,
.bw_limiter_addr = 0x0000221C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_11, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_11,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1579,6 +1600,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00002384, .debug_status_cfg = 0x00002384,
.debug_status_0 = 0x00002388, .debug_status_0 = 0x00002388,
.debug_status_1 = 0x0000238C, .debug_status_1 = 0x0000238C,
.bw_limiter_addr = 0x0000231C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_11, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_11,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1609,6 +1631,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00002484, .debug_status_cfg = 0x00002484,
.debug_status_0 = 0x00002488, .debug_status_0 = 0x00002488,
.debug_status_1 = 0x0000248C, .debug_status_1 = 0x0000248C,
.bw_limiter_addr = 0x0000241C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_11, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_11,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1640,6 +1663,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00002584, .debug_status_cfg = 0x00002584,
.debug_status_0 = 0x00002588, .debug_status_0 = 0x00002588,
.debug_status_1 = 0x0000258C, .debug_status_1 = 0x0000258C,
.bw_limiter_addr = 0x0000251C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_12, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_12,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1671,6 +1695,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00002684, .debug_status_cfg = 0x00002684,
.debug_status_0 = 0x00002688, .debug_status_0 = 0x00002688,
.debug_status_1 = 0x0000268C, .debug_status_1 = 0x0000268C,
.bw_limiter_addr = 0x0000261C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_13, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_13,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1702,6 +1727,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00002784, .debug_status_cfg = 0x00002784,
.debug_status_0 = 0x00002788, .debug_status_0 = 0x00002788,
.debug_status_1 = 0x0000278C, .debug_status_1 = 0x0000278C,
.bw_limiter_addr = 0x0000271C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_14, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_14,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -1732,6 +1758,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.debug_status_cfg = 0x00002884, .debug_status_cfg = 0x00002884,
.debug_status_0 = 0x00002888, .debug_status_0 = 0x00002888,
.debug_status_1 = 0x0000288C, .debug_status_1 = 0x0000288C,
.bw_limiter_addr = 0x0000281C,
.comp_group = CAM_VFE_BUS_VER3_COMP_GRP_3, .comp_group = CAM_VFE_BUS_VER3_COMP_GRP_3,
.ubwc_regs = NULL, .ubwc_regs = NULL,
}, },
@@ -2222,12 +2249,13 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
.error_description = "Meta Stride unalign" .error_description = "Meta Stride unalign"
}, },
}, },
.num_comp_grp = 15, .num_comp_grp = 15,
.support_consumed_addr = true, .support_consumed_addr = true,
.comp_done_shift = 0, .comp_done_shift = 0,
.top_irq_shift = 0, .top_irq_shift = 0,
.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 36, .max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 36,
.pack_align_shift = 5, .pack_align_shift = 5,
.max_bw_counter_limit = 0xFF,
}; };
static struct cam_vfe_irq_hw_info vfe780_irq_hw_info = { static struct cam_vfe_irq_hw_info vfe780_irq_hw_info = {