Ver Fonte

msm: camera: tfe: Add PDAF support in tfe 770 header

Add pdaf support in tfe header file for 770 target.

CRs-Fixed: 3387396
Change-Id: Ieb6f1245bd9ec7037fc6399bd3a8c081c96375a9
Signed-off-by: Alok Chauhan <[email protected]>
Alok Chauhan há 2 anos atrás
pai
commit
37ff9bad4d
1 ficheiros alterados com 72 adições e 5 exclusões
  1. 72 5
      drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_hw/cam_tfe770.h

+ 72 - 5
drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_hw/cam_tfe770.h

@@ -6,6 +6,7 @@
 
 #ifndef _CAM_TFE770_H_
 #define _CAM_TFE770_H_
+#include <media/cam_isp_tfe.h>
 #include "cam_tfe_core.h"
 #include "cam_tfe_bus.h"
 
@@ -241,6 +242,37 @@ static struct cam_tfe_rdi_reg_data tfe770_rdi2_reg_data = {
 
 };
 
+static struct cam_tfe_ppp_reg  tfe770_ppp_reg = {
+	.ppp_hw_version              = 0x00002400,
+	.ppp_hw_status               = 0x00002404,
+	.ppp_module_config           = 0x00002460,
+	.ppp_skip_period             = 0x00002468,
+	.ppp_irq_subsample_pattern   = 0x0000246C,
+	.ppp_epoch_irq               = 0x00002470,
+	.ppp_debug_1                 = 0x000025F0,
+	.ppp_debug_0                 = 0x000025F4,
+	.ppp_test_bus_ctrl           = 0x000025F8,
+	.ppp_spare                   = 0x000025FC,
+	.reg_update_cmd              = 0x0000182C,
+};
+
+static struct cam_tfe_ppp_reg_data tfe770_ppp_reg_data = {
+	.sof_irq_mask                = 0x00000000,
+	.epoch0_irq_mask             = 0x00000000,
+	.epoch1_irq_mask             = 0x00000000,
+	.eof_irq_mask                = 0x00000000,
+	.subscribe_irq_mask          = {
+		0x00000000,
+		0x00000000,
+		0x00000000,
+	},
+	.enable_diagnostic_hw        = 0x1,
+	.diag_sensor_sel             = 0x4,
+	.diag_sensor_shift           = 0x1,
+	.pdaf_path_en_shift          = 24,
+	.lcr_dis_en_shift            = 23,
+};
+
 static struct cam_tfe_clc_hw_status  tfe770_clc_hw_info[CAM_TFE_MAX_CLC] = {
 	{
 		.name = "CLC_CAMIF",
@@ -428,11 +460,16 @@ static struct  cam_tfe_top_hw_info tfe770_top_hw_info = {
 			.reg_data = &tfe770_rdi2_reg_data,
 		},
 	},
+	.ppp_hw_info = {
+		.ppp_reg = &tfe770_ppp_reg,
+		.reg_data  = &tfe770_ppp_reg_data,
+	},
 	.in_port = {
 		CAM_TFE_CAMIF_VER_1_0,
 		CAM_TFE_RDI_VER_1_0,
 		CAM_TFE_RDI_VER_1_0,
-		CAM_TFE_RDI_VER_1_0
+		CAM_TFE_RDI_VER_1_0,
+		CAM_TFE_PDLIB_VER_1_0
 	},
 	.reg_dump_data  = {
 		.num_reg_dump_entries    = 19,
@@ -535,6 +572,12 @@ static struct  cam_tfe_top_hw_info tfe770_top_hw_info = {
 			},
 		},
 	},
+	.num_path_port_map = 3,
+	.path_port_map = {
+		{CAM_ISP_HW_TFE_IN_PDLIB, CAM_ISP_TFE_OUT_RES_PD_LCR_STATS},
+		{CAM_ISP_HW_TFE_IN_PDLIB, CAM_ISP_TFE_OUT_RES_PD_PREPROCESSED},
+		{CAM_ISP_HW_TFE_IN_PDLIB, CAM_ISP_TFE_OUT_RES_PD_PARSED},
+	},
 };
 
 static struct cam_tfe_bus_hw_info  tfe770_bus_hw_info = {
@@ -1149,7 +1192,7 @@ static struct cam_tfe_bus_hw_info  tfe770_bus_hw_info = {
 			.client_name           = "PD PARSED",
 		},
 	},
-	.num_out  = 15,
+	.num_out  = 18,
 	.tfe_out_hw_info = {
 		{
 			.tfe_out_id       = CAM_TFE_BUS_TFE_OUT_RDI0,
@@ -1272,8 +1315,32 @@ static struct cam_tfe_bus_hw_info  tfe770_bus_hw_info = {
 			.mid[0]              = 24,
 			.mid[1]              = 25,
 		},
+		{
+			.tfe_out_id       = CAM_TFE_BUS_TFE_OUT_PD_LCR_STATS,
+			.max_width        = -1,
+			.max_height       = -1,
+			.composite_group  = CAM_TFE_BUS_COMP_GRP_11,
+			.rup_group_id     = CAM_TFE_BUS_RUP_GRP_4,
+			.mid[0]           = 21,
+		},
+		{
+			.tfe_out_id       = CAM_TFE_BUS_TFE_OUT_PD_PREPROCESSED,
+			.max_width        = -1,
+			.max_height       = -1,
+			.composite_group  = CAM_TFE_BUS_COMP_GRP_11,
+			.rup_group_id     = CAM_TFE_BUS_RUP_GRP_4,
+			.mid[0]           = 20,
+		},
+		{
+			.tfe_out_id       = CAM_TFE_BUS_TFE_OUT_PD_PARSED,
+			.max_width        = -1,
+			.max_height       = -1,
+			.composite_group  = CAM_TFE_BUS_COMP_GRP_11,
+			.rup_group_id     = CAM_TFE_BUS_RUP_GRP_4,
+			.mid[0]           = 22,
+		},
 	},
-	.num_comp_grp             = 11,
+	.num_comp_grp             = 12,
 	.max_wm_per_comp_grp      = 3,
 	.comp_done_shift          = 8,
 	.top_bus_wr_irq_shift     = 1,
@@ -1331,9 +1398,9 @@ struct cam_tfe_hw_info cam_tfe770 = {
 		0x00000000,
 	},
 	.error_irq_mask = {
-		0x000F0F00,
+		0x001F1F00,
 		0x00000000,
-		0x0000003F,
+		0x000000FF,
 	},
 	.bus_reg_irq_mask = {
 		0x00000002,