Эх сурвалжийг харах

Merge "msm: camera: csiphy: Update bringUp sequence" into camera-kernel.lnx.4.0

Camera Software Integration 5 жил өмнө
parent
commit
9e312575d7

+ 52 - 50
drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_1_2_3_hwreg.h

@@ -12,10 +12,10 @@ struct csiphy_reg_parms_t csiphy_v1_2_3 = {
 	.mipi_csiphy_interrupt_status0_addr = 0x8B0,
 	.mipi_csiphy_interrupt_clear0_addr = 0x858,
 	.mipi_csiphy_glbl_irq_cmd_addr = 0x828,
-	.csiphy_common_array_size = 7,
+	.csiphy_common_array_size = 8,
 	.csiphy_reset_array_size = 5,
 	.csiphy_2ph_config_array_size = 16,
-	.csiphy_3ph_config_array_size = 30,
+	.csiphy_3ph_config_array_size = 28,
 	.csiphy_2ph_clock_lane = 0x1,
 	.csiphy_2ph_combo_ck_ln = 0x10,
 };
@@ -23,7 +23,8 @@ struct csiphy_reg_parms_t csiphy_v1_2_3 = {
 struct csiphy_reg_t csiphy_common_reg_1_2_3[] = {
 	{0x0814, 0xd5, 0x00, CSIPHY_LANE_ENABLE},
 	{0x0818, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
-	{0x081C, 0x02, 0x00, CSIPHY_2PH_REGS},
+	{0x081C, 0x5A, 0x00, CSIPHY_2PH_REGS},
+	{0x0824, 0x72, 0x00, CSIPHY_2PH_REGS},
 	{0x081C, 0x5A, 0x00, CSIPHY_3PH_REGS},
 	{0x0800, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 	{0x0800, 0x02, 0x00, CSIPHY_2PH_REGS},
@@ -57,9 +58,9 @@ csiphy_reg_t csiphy_2ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 	{
 		{0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0024, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0028, 0x04, 0x00, CSIPHY_DNP_PARAMS},
+		{0x0028, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0000, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x000c, 0xFF, 0x00, CSIPHY_DNP_PARAMS},
+		{0x000c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -93,9 +94,9 @@ csiphy_reg_t csiphy_2ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 	{
 		{0x0230, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0224, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0228, 0x04, 0x00, CSIPHY_DNP_PARAMS},
+		{0x0228, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0200, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x020c, 0xFF, 0x00, CSIPHY_DNP_PARAMS},
+		{0x020c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0238, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x022C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0234, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -111,9 +112,9 @@ csiphy_reg_t csiphy_2ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 	{
 		{0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0424, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0428, 0x04, 0x00, CSIPHY_DNP_PARAMS},
+		{0x0428, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0400, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x040c, 0xFF, 0x00, CSIPHY_DNP_PARAMS},
+		{0x040c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -129,9 +130,9 @@ csiphy_reg_t csiphy_2ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 	{
 		{0x0630, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0624, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0628, 0x04, 0x00, CSIPHY_DNP_PARAMS},
+		{0x0628, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0600, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x060c, 0xFF, 0x00, CSIPHY_DNP_PARAMS},
+		{0x060c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0638, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x062C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0634, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -151,9 +152,9 @@ struct csiphy_reg_t
 	{
 		{0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0024, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0028, 0x04, 0x00, CSIPHY_DNP_PARAMS},
+		{0x0028, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0000, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x000c, 0xFF, 0x00, CSIPHY_DNP_PARAMS},
+		{0x000c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -171,7 +172,7 @@ struct csiphy_reg_t
 		{0x0724, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0728, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0700, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x070c, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x070C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0738, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x072C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0734, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -187,7 +188,7 @@ struct csiphy_reg_t
 	{
 		{0x0230, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0224, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0228, 0x04, 0x00, CSIPHY_DNP_PARAMS},
+		{0x0228, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0200, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x020c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
 		{0x0238, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -222,7 +223,7 @@ struct csiphy_reg_t
 	},
 	{
 		{0x0630, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0624, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0624, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0628, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0600, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x060c, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -246,8 +247,8 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0990, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0994, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0998, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x098C, 0xAF, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0168, 0xA0, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x098C, 0xAF, 0x01, CSIPHY_DEFAULT_PARAMS},
+		{0x0168, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x016C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x015C, 0x46, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0104, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -269,17 +270,15 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0164, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x01DC, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0984, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0988, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0980, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x09B0, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0800, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
 	},
 	{
 		{0x0A90, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A98, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A8C, 0xBF, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0368, 0xA0, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A94, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A98, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0A8C, 0xAF, 0x01, CSIPHY_DEFAULT_PARAMS},
+		{0x0368, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x036C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x035C, 0x46, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0304, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -301,8 +300,6 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0364, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x03DC, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0A84, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0A80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0AB0, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0800, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
 	},
@@ -310,8 +307,8 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0B90, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0B94, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0B98, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0B8C, 0xAF, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0568, 0xA0, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0B8C, 0xAF, 0x01, CSIPHY_DEFAULT_PARAMS},
+		{0x0568, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x056C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x055C, 0x46, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0504, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -333,8 +330,6 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0564, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x05DC, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0B84, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0B88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
-		{0x0B80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0BB0, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0800, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
 	},
@@ -348,44 +343,51 @@ struct data_rate_settings_t data_rate_delta_table_1_2_3 = {
 			.bandwidth = 5700000000,
 			.data_rate_reg_array_size = 6,
 			.csiphy_data_rate_regs = {
+				{0x144, 0x22, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x344, 0x22, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x544, 0x22, 0x00, CSIPHY_DEFAULT_PARAMS},
 				{0x9B4, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
 				{0xAB4, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0xBB4, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x144, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x344, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x544, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xBB4, 0x03, 0x01, CSIPHY_DEFAULT_PARAMS},
+
 			}
 		},
 		{
 			/* (3.5 * 10**3 * 2.28) rounded value */
 			.bandwidth = 7980000000,
-			.data_rate_reg_array_size = 9,
+			.data_rate_reg_array_size = 12,
 			.csiphy_data_rate_regs = {
-				{0x10C, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x30C, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x50C, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x144, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x344, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x544, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x988, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xA88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xB88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x980, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xA80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xB80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
 				{0x9B4, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
 				{0xAB4, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0xBB4, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x144, 0xB0, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x344, 0xB0, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x544, 0xB0, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xBB4, 0x02, 0x01, CSIPHY_DEFAULT_PARAMS},
 			},
 		},
 		{
 			/* (4.5 * 10**3 * 2.28) rounded value */
 			.bandwidth = 10260000000,
-			.data_rate_reg_array_size = 9,
+			.data_rate_reg_array_size = 12,
 			.csiphy_data_rate_regs = {
-				{0x10C, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x30C, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x50C, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x144, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x344, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x544, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x988, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xA88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xB88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0x980, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xA80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xB80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
 				{0x9B4, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 				{0xAB4, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0xBB4, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x144, 0xB0, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x344, 0xB0, 0x00, CSIPHY_DEFAULT_PARAMS},
-				{0x544, 0xB0, 0x00, CSIPHY_DEFAULT_PARAMS},
+				{0xBB4, 0x01, 0x01, CSIPHY_DEFAULT_PARAMS},
 			},
 		}
 	}