Bladeren bron

Merge "msm: camera: csiphy: Update the csiphy programming sequence" into camera-kernel.lnx.5.0

Haritha Chintalapati 4 jaren geleden
bovenliggende
commit
8159e65fec

+ 1 - 1
drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.h

@@ -33,7 +33,7 @@
 #define CSIPHY_NUM_CLK_MAX          16
 
 #define MAX_LANES                   5
-#define MAX_SETTINGS_PER_LANE       43
+#define MAX_SETTINGS_PER_LANE       50
 #define MAX_DATA_RATES              3
 #define MAX_DATA_RATE_REGS          30
 

+ 74 - 43
drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_1_0_hwreg.h

@@ -15,9 +15,10 @@ struct csiphy_reg_parms_t csiphy_v2_1_0 = {
 	.csiphy_common_array_size = 7,
 	.csiphy_reset_array_size = 5,
 	.csiphy_2ph_config_array_size = 23,
-	.csiphy_3ph_config_array_size = 34,
+	.csiphy_3ph_config_array_size = 44,
 	.csiphy_2ph_clock_lane = 0x1,
 	.csiphy_2ph_combo_ck_ln = 0x10,
+	.csiphy_interrupt_status_size = 11,
 };
 
 struct csiphy_reg_t csiphy_common_reg_2_1_0[] = {
@@ -311,21 +312,24 @@ struct csiphy_reg_t
 
 struct csiphy_reg_t csiphy_3ph_v2_1_0_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 	{
+		{0x0274, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0278, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0288, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x028C, 0xA5, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x026C, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0294, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x02F4, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x02F8, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x02FC, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x02F0, 0xEF, 0x03, CSIPHY_DEFAULT_PARAMS},
+		{0x02F4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x02F8, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x02FC, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x02F0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x02F0, 0xEF, 0x64, CSIPHY_DEFAULT_PARAMS},
 		{0x0294, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0278, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0290, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0268, 0xA1, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x026C, 0x12, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0204, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x020C, 0x06, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+		{0x020C, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
 		{0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-		{0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0260, 0xA0, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0214, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x02E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x02E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x02EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -338,30 +342,40 @@ struct csiphy_reg_t csiphy_3ph_v2_1_0_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0264, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0244, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0310, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x025C, 0xC2, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x02BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0288, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x028C, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0274, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0230, 0x94, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0234, 0x31, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0238, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x023C, 0xA6, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0258, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0254, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x025C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0248, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x024C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0240, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0260, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x1000, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
 	},
 	{
+		{0x0674, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0678, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0688, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x068C, 0xA5, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x066C, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0694, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x06F4, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x06F8, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x06FC, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x06F0, 0xEF, 0x03, CSIPHY_DEFAULT_PARAMS},
+		{0x06F4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x06F8, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x06FC, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x06F0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x06F0, 0xEF, 0x64, CSIPHY_DEFAULT_PARAMS},
 		{0x0694, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0678, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0690, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0668, 0xA1, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x066C, 0x12, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0604, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x060C, 0x06, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+		{0x060C, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
 		{0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-		{0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0660, 0xA0, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0614, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x06E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x06E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x06EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -374,30 +388,40 @@ struct csiphy_reg_t csiphy_3ph_v2_1_0_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0664, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0644, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0710, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x065C, 0xC2, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x06BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0688, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x068C, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0674, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0630, 0x94, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0634, 0x31, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0638, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x063C, 0xA6, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0658, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0654, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x065C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0648, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x064C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0640, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0660, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x1000, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
 	},
 	{
+		{0x0A74, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A78, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A88, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A8C, 0xA5, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A6C, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0A94, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0AF4, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0AF8, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0AFC, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0AF0, 0xEF, 0x03, CSIPHY_DEFAULT_PARAMS},
+		{0x0AF4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0AF8, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0AFC, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0AF0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0AF0, 0xEF, 0x64, CSIPHY_DEFAULT_PARAMS},
 		{0x0A94, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A78, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0A90, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A68, 0xA1, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A6C, 0x12, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0A04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A0C, 0x06, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+		{0x0A0C, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
 		{0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-		{0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A60, 0xA0, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0AE4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0AE8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0AEC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -410,12 +434,19 @@ struct csiphy_reg_t csiphy_3ph_v2_1_0_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0A64, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0A44, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0B10, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A5C, 0xC2, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0ABC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A88, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A8C, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A74, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A30, 0x94, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A34, 0x31, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A38, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A3C, 0xA6, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A58, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A54, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A5C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A48, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A4C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A40, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A60, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x1000, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
 	},
 };