Quellcode durchsuchen

msm: camera: csiphy: Update the csiphy programming sequence

Update the csiphy1.2.3 programming sequence for the update
on 01/08/2021.

CRs-Fixed: 2856350
Change-Id: I06b164fbb0a589f22f973476709008d0c7ac32ca
Signed-off-by: Jigar Agrawal <[email protected]>
Jigar Agrawal vor 4 Jahren
Ursprung
Commit
ef4c673686
1 geänderte Dateien mit 29 neuen und 92 gelöschten Zeilen
  1. 29 92
      drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_1_2_3_hwreg.h

+ 29 - 92
drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_1_2_3_hwreg.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _CAM_CSIPHY_1_2_3_HWREG_H_
@@ -16,7 +16,7 @@ struct csiphy_reg_parms_t csiphy_v1_2_3 = {
 	.csiphy_common_array_size = 5,
 	.csiphy_reset_array_size = 2,
 	.csiphy_2ph_config_array_size = 16,
-	.csiphy_3ph_config_array_size = 26,
+	.csiphy_3ph_config_array_size = 31,
 	.csiphy_2ph_3ph_config_array_size = 0,
 	.csiphy_2ph_clock_lane = 0x1,
 	.csiphy_2ph_combo_ck_ln = 0x10,
@@ -248,6 +248,8 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x016C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x015C, 0x46, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0104, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x010C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+		{0x0108, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
 		{0x0114, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0150, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0188, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -259,11 +261,14 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0124, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0128, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x012C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0144, 0xA2, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0160, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x01CC, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{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, 0x61, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x09B0, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0800, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
 	},
@@ -276,6 +281,8 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x036C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x035C, 0x46, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0304, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x030C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+		{0x0308, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
 		{0x0314, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0350, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0388, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -287,11 +294,14 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0324, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0328, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x032C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0344, 0xA2, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0360, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x03CC, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{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, 0x61, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0AB0, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0800, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
 	},
@@ -304,6 +314,8 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x056C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x055C, 0x46, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0504, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x050C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+		{0x0508, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
 		{0x0514, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0550, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0588, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
@@ -315,11 +327,14 @@ csiphy_reg_t csiphy_3ph_v1_2_3_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
 		{0x0524, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0528, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x052C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+		{0x0544, 0xA2, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0560, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x05CC, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{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, 0x61, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0BB0, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
 		{0x0800, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
 	},
@@ -331,44 +346,26 @@ struct data_rate_settings_t data_rate_delta_table_1_2_3 = {
 		{
 			/* (2.5 * 10**3 * 2.28) rounded value*/
 			.bandwidth = 5700000000,
-			.data_rate_reg_array_size = 4,
+			.data_rate_reg_array_size = 1,
 			.per_lane_info = {
 				{
 					.lane_identifier = CPHY_LANE_0,
 					.csiphy_data_rate_regs = {
-						{0x010C, 0x12, 0x00,
-						CSIPHY_SETTLE_CNT_LOWER_BYTE},
-						{0x0108, 0x00, 0x00,
-						CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-						{0x144, 0x22, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0x9B4, 0x03, 0x0A,
+						{0x9B4, 0x08, 0x0A,
 							CSIPHY_DEFAULT_PARAMS},
 					},
 				},
 				{
 					.lane_identifier = CPHY_LANE_1,
 					.csiphy_data_rate_regs = {
-						{0x030C, 0x12, 0x00,
-						CSIPHY_SETTLE_CNT_LOWER_BYTE},
-						{0x0308, 0x00, 0x00,
-						CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-						{0x344, 0x22, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xAB4, 0x03, 0x0A,
+						{0xAB4, 0x08, 0x0A,
 							CSIPHY_DEFAULT_PARAMS},
 					},
 				},
 				{
 					.lane_identifier = CPHY_LANE_2,
 					.csiphy_data_rate_regs = {
-						{0x050C, 0x12, 0x00,
-						CSIPHY_SETTLE_CNT_LOWER_BYTE},
-						{0x0508, 0x00, 0x00,
-						CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-						{0x544, 0x22, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xBB4, 0x03, 0x0A,
+						{0xBB4, 0x08, 0x0A,
 							CSIPHY_DEFAULT_PARAMS},
 					},
 				},
@@ -377,56 +374,26 @@ struct data_rate_settings_t data_rate_delta_table_1_2_3 = {
 		{
 			/* (3.5 * 10**3 * 2.28) rounded value */
 			.bandwidth = 7980000000,
-			.data_rate_reg_array_size = 6,
+			.data_rate_reg_array_size = 1,
 			.per_lane_info = {
 				{
 					.lane_identifier = CPHY_LANE_0,
 					.csiphy_data_rate_regs = {
-						{0x010C, 0x08, 0x00,
-						CSIPHY_SETTLE_CNT_LOWER_BYTE},
-						{0x0108, 0x00, 0x00,
-						CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-						{0x144, 0xB2, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0x988, 0x05, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0x980, 0x60, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0x9B4, 0x02, 0x0A,
+						{0x9B4, 0x04, 0x0A,
 							CSIPHY_DEFAULT_PARAMS},
 					},
 				},
 				{
 					.lane_identifier = CPHY_LANE_1,
 					.csiphy_data_rate_regs = {
-						{0x030C, 0x08, 0x00,
-						CSIPHY_SETTLE_CNT_LOWER_BYTE},
-						{0x0308, 0x00, 0x00,
-						CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-						{0x344, 0xB2, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xA88, 0x05, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xA80, 0x60, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xAB4, 0x02, 0x0A,
+						{0xAB4, 0x04, 0x0A,
 							CSIPHY_DEFAULT_PARAMS},
 					},
 				},
 				{
 					.lane_identifier = CPHY_LANE_2,
 					.csiphy_data_rate_regs = {
-						{0x050C, 0x08, 0x00,
-						CSIPHY_SETTLE_CNT_LOWER_BYTE},
-						{0x0508, 0x00, 0x00,
-						CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-						{0x544, 0xB2, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xB88, 0x05, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xB80, 0x60, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xBB4, 0x02, 0x0A,
+						{0xBB4, 0x04, 0x0A,
 							CSIPHY_DEFAULT_PARAMS},
 					},
 				},
@@ -435,56 +402,26 @@ struct data_rate_settings_t data_rate_delta_table_1_2_3 = {
 		{
 			/* (4.5 * 10**3 * 2.28) rounded value */
 			.bandwidth = 10260000000,
-			.data_rate_reg_array_size = 6,
+			.data_rate_reg_array_size = 1,
 			.per_lane_info = {
 				{
 					.lane_identifier = CPHY_LANE_0,
 					.csiphy_data_rate_regs = {
-						{0x010C, 0x08, 0x00,
-						CSIPHY_SETTLE_CNT_LOWER_BYTE},
-						{0x0108, 0x00, 0x00,
-						CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-						{0x144, 0xB2, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0x988, 0x05, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0x980, 0x60, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0x9B4, 0x01, 0x0A,
+						{0x9B4, 0x04, 0x0A,
 							CSIPHY_DEFAULT_PARAMS},
 					},
 				},
 				{
 					.lane_identifier = CPHY_LANE_1,
 					.csiphy_data_rate_regs = {
-						{0x030C, 0x08, 0x00,
-						CSIPHY_SETTLE_CNT_LOWER_BYTE},
-						{0x0308, 0x00, 0x00,
-						CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-						{0x344, 0xB2, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xA88, 0x05, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xA80, 0x60, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xAB4, 0x01, 0x0A,
+						{0xAB4, 0x04, 0x0A,
 							CSIPHY_DEFAULT_PARAMS},
 					},
 				},
 				{
 					.lane_identifier = CPHY_LANE_2,
 					.csiphy_data_rate_regs = {
-						{0x050C, 0x08, 0x00,
-						CSIPHY_SETTLE_CNT_LOWER_BYTE},
-						{0x0508, 0x00, 0x00,
-						CSIPHY_SETTLE_CNT_HIGHER_BYTE},
-						{0x544, 0xB2, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xB88, 0x05, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xB80, 0x60, 0x00,
-							CSIPHY_DEFAULT_PARAMS},
-						{0xBB4, 0x01, 0x0A,
+						{0xBB4, 0x04, 0x0A,
 							CSIPHY_DEFAULT_PARAMS},
 					},
 				},