Browse Source

msm: camera: csiphy: Add support for RF channel based csiphy settings

Add support for RF channel based the csiphy 3 phase datarate settings.

CRs-Fixed: 3201451
Change-Id: Ic06531a577c6513d40ccf6cae163a482f2e9c9ae
Signed-off-by: Jigar Agrawal <[email protected]>
Jigar Agrawal 3 năm trước cách đây
mục cha
commit
342ad3a403

+ 21 - 7
drivers/cam_sensor_module/cam_csiphy/cam_csiphy_core.c

@@ -1027,8 +1027,8 @@ static inline void __cam_csiphy_compute_cdr_value(
 		*cdr_val -= csiphy_device->cdr_params.cdr_tolerance;
 }
 
-static int cam_csiphy_cphy_data_rate_config(
-	struct csiphy_device *csiphy_device, int32_t idx)
+static int cam_csiphy_cphy_data_rate_config(struct csiphy_device *csiphy_device, int32_t idx,
+	uint8_t datarate_variant_idx)
 {
 	int i;
 	unsigned int data_rate_idx;
@@ -1080,7 +1080,20 @@ static int cam_csiphy_cphy_data_rate_config(
 
 		CAM_DBG(CAM_CSIPHY, "table[%d] BW : %llu Selected",
 			data_rate_idx, supported_phy_bw);
-		config_params = drate_settings[data_rate_idx].data_rate_reg_array;
+
+		if (datarate_variant_idx >= CAM_CSIPHY_MAX_DATARATE_VARIANTS) {
+			CAM_ERR(CAM_CSIPHY, "Datarate variant Idx: %u can not exceed %u",
+				datarate_variant_idx, CAM_CSIPHY_MAX_DATARATE_VARIANTS-1);
+			return -EINVAL;
+		}
+
+		config_params =
+			drate_settings[data_rate_idx].data_rate_reg_array[datarate_variant_idx];
+		if (!config_params) {
+			CAM_ERR(CAM_CSIPHY, "Datarate settings are null. datarate variant idx: %u",
+				datarate_variant_idx);
+			return -EINVAL;
+		}
 
 		for (i = 0; i < num_reg_entries; i++) {
 			reg_addr = config_params[i].reg_addr;
@@ -1200,7 +1213,7 @@ static int __cam_csiphy_prgm_bist_reg(struct csiphy_device *csiphy_dev, bool is_
 }
 
 int32_t cam_csiphy_config_dev(struct csiphy_device *csiphy_dev,
-	int32_t dev_handle)
+	int32_t dev_handle, uint8_t datarate_variant_idx)
 {
 	int32_t      rc = 0;
 	uint32_t     lane_enable = 0;
@@ -1302,7 +1315,7 @@ int32_t cam_csiphy_config_dev(struct csiphy_device *csiphy_dev,
 
 
 	if (csiphy_dev->csiphy_info[index].csiphy_3phase) {
-		rc = cam_csiphy_cphy_data_rate_config(csiphy_dev, index);
+		rc = cam_csiphy_cphy_data_rate_config(csiphy_dev, index, datarate_variant_idx);
 		if (rc) {
 			CAM_ERR(CAM_CSIPHY,
 				"Date rate specific configuration failed rc: %d",
@@ -2298,6 +2311,7 @@ int32_t cam_csiphy_core_cfg(void *phy_dev,
 		struct cam_start_stop_dev_cmd config;
 		int32_t offset;
 		int clk_vote_level = -1;
+		uint8_t data_rate_variant_idx = 0;
 
 		CAM_DBG(CAM_CSIPHY, "START_DEV Called");
 		rc = copy_from_user(&config, (void __user *)cmd->handle,
@@ -2363,7 +2377,7 @@ int32_t cam_csiphy_core_cfg(void *phy_dev,
 
 			if (csiphy_dev->csiphy_info[offset].csiphy_3phase) {
 				rc = cam_csiphy_cphy_data_rate_config(
-					csiphy_dev, offset);
+					csiphy_dev, offset, data_rate_variant_idx);
 				if (rc) {
 					CAM_ERR(CAM_CSIPHY,
 						"Data rate specific configuration failed rc: %d",
@@ -2446,7 +2460,7 @@ int32_t cam_csiphy_core_cfg(void *phy_dev,
 				CAM_CSIPHY_PRGM_INDVDL);
 		}
 
-		rc = cam_csiphy_config_dev(csiphy_dev, config.dev_handle);
+		rc = cam_csiphy_config_dev(csiphy_dev, config.dev_handle, data_rate_variant_idx);
 		if (rc < 0) {
 			CAM_ERR(CAM_CSIPHY, "cam_csiphy_config_dev failed");
 			cam_csiphy_disable_hw(csiphy_dev);

+ 7 - 6
drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.h

@@ -56,9 +56,10 @@
 
 #define CSIPHY_MAX_INSTANCES_PER_PHY     3
 
-#define CAM_CSIPHY_MAX_DPHY_LANES    4
-#define CAM_CSIPHY_MAX_CPHY_LANES    3
+#define CAM_CSIPHY_MAX_DPHY_LANES            4
+#define CAM_CSIPHY_MAX_CPHY_LANES            3
 #define CAM_CSIPHY_MAX_CPHY_DPHY_COMBO_LN    3
+#define CAM_CSIPHY_MAX_DATARATE_VARIANTS     3
 
 #define DPHY_LANE_0    BIT(0)
 #define CPHY_LANE_0    BIT(1)
@@ -187,14 +188,14 @@ struct csiphy_device;
 
 /*
  * struct data_rate_reg_info_t
- * @bandwidth               : max bandwidth supported by this reg settings
- * @data_rate_reg_array_size: number of reg value pairs in the array
- * @csiphy_data_rate_regs   : array of data rate specific reg value pairs
+ * @bandwidth                 : max bandwidth supported by this reg settings
+ * @data_rate_reg_array_size  : data rate settings size
+ * @data_rate_reg_array       : array of data rate specific reg value pairs
  */
 struct data_rate_reg_info_t {
 	uint64_t bandwidth;
 	ssize_t  data_rate_reg_array_size;
-	struct csiphy_reg_t *data_rate_reg_array;
+	struct csiphy_reg_t *data_rate_reg_array[CAM_CSIPHY_MAX_DATARATE_VARIANTS];
 };
 
 /**

+ 13 - 13
drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_1_0_hwreg.h

@@ -735,78 +735,78 @@ struct csiphy_reg_t datarate_210_5Gsps[] = {
 	{0x108C, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
 };
 
-struct data_rate_reg_info_t data_rate_settings_2_1_0[] = {
+static struct data_rate_reg_info_t data_rate_settings_2_1_0[] = {
 	{
 		/* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2736000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_1p2Gsps),
-		.data_rate_reg_array = datarate_210_1p2Gsps
+		.data_rate_reg_array[0] = datarate_210_1p2Gsps
 	},
 	{
 		/* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 3420000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_1p5Gsps),
-		.data_rate_reg_array = datarate_210_1p5Gsps,
+		.data_rate_reg_array[0] = datarate_210_1p5Gsps,
 	},
 	{
 		/* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 3876000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_1p7Gsps),
-		.data_rate_reg_array = datarate_210_1p7Gsps,
+		.data_rate_reg_array[0] = datarate_210_1p7Gsps,
 	},
 	{
 		/* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 4788000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_2p1Gsps),
-		.data_rate_reg_array = datarate_210_2p1Gsps,
+		.data_rate_reg_array[0] = datarate_210_2p1Gsps,
 	},
 	{
 		/* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5358000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_2p35Gsps),
-		.data_rate_reg_array = datarate_210_2p35Gsps,
+		.data_rate_reg_array[0] = datarate_210_2p35Gsps,
 	},
 	{
 		/* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5928000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_2p6Gsps),
-		.data_rate_reg_array = datarate_210_2p6Gsps,
+		.data_rate_reg_array[0] = datarate_210_2p6Gsps,
 	},
 	{
 		/* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 6384000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_2p8Gsps),
-		.data_rate_reg_array = datarate_210_2p8Gsps,
+		.data_rate_reg_array[0] = datarate_210_2p8Gsps,
 	},
 	{
 		/* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 7524000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_3p3Gsps),
-		.data_rate_reg_array = datarate_210_3p3Gsps,
+		.data_rate_reg_array[0] = datarate_210_3p3Gsps,
 	},
 	{
 		/* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 7980000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_3p5Gsps),
-		.data_rate_reg_array = datarate_210_3p5Gsps,
+		.data_rate_reg_array[0] = datarate_210_3p5Gsps,
 	},
 	{
 		/* ((4 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 9120000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_4Gsps),
-		.data_rate_reg_array = datarate_210_4Gsps,
+		.data_rate_reg_array[0] = datarate_210_4Gsps,
 	},
 	{
 		/* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 10260000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_4p5Gsps),
-		.data_rate_reg_array = datarate_210_4p5Gsps,
+		.data_rate_reg_array[0] = datarate_210_4p5Gsps,
 	},
 	{
 		/* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 11400000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_210_5Gsps),
-		.data_rate_reg_array = datarate_210_5Gsps,
+		.data_rate_reg_array[0] = datarate_210_5Gsps,
 	},
 };
 

+ 13 - 13
drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_1_1_hwreg.h

@@ -724,78 +724,78 @@ struct csiphy_reg_t datarate_211_5Gsps[] = {
 	{0x108C, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
 };
 
-struct data_rate_reg_info_t data_rate_settings_2_1_1[] = {
+static struct data_rate_reg_info_t data_rate_settings_2_1_1[] = {
 	{
 		/* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2736000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_1p2Gsps),
-		.data_rate_reg_array = datarate_211_1p2Gsps,
+		.data_rate_reg_array[0] = datarate_211_1p2Gsps,
 	},
 	{
 		/* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 3420000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_1p5Gsps),
-		.data_rate_reg_array = datarate_211_1p5Gsps,
+		.data_rate_reg_array[0] = datarate_211_1p5Gsps,
 	},
 	{
 		/* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 3876000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_1p7Gsps),
-		.data_rate_reg_array = datarate_211_1p7Gsps,
+		.data_rate_reg_array[0] = datarate_211_1p7Gsps,
 	},
 	{
 		/* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 4788000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_2p1Gsps),
-		.data_rate_reg_array = datarate_211_2p1Gsps,
+		.data_rate_reg_array[0] = datarate_211_2p1Gsps,
 	},
 	{
 		/* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5358000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_2p35Gsps),
-		.data_rate_reg_array = datarate_211_2p35Gsps,
+		.data_rate_reg_array[0] = datarate_211_2p35Gsps,
 	},
 	{
 		/* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5928000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_2p6Gsps),
-		.data_rate_reg_array = datarate_211_2p6Gsps,
+		.data_rate_reg_array[0] = datarate_211_2p6Gsps,
 	},
 	{
 		/* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 6384000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_2p8Gsps),
-		.data_rate_reg_array = datarate_211_2p8Gsps,
+		.data_rate_reg_array[0] = datarate_211_2p8Gsps,
 	},
 	{
 		/* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 7524000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_3p3Gsps),
-		.data_rate_reg_array = datarate_211_3p3Gsps,
+		.data_rate_reg_array[0] = datarate_211_3p3Gsps,
 	},
 	{
 		/* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 7980000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_3p5Gsps),
-		.data_rate_reg_array = datarate_211_3p5Gsps,
+		.data_rate_reg_array[0] = datarate_211_3p5Gsps,
 	},
 	{
 		/* ((4 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 9120000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_4Gsps),
-		.data_rate_reg_array = datarate_211_4Gsps,
+		.data_rate_reg_array[0] = datarate_211_4Gsps,
 	},
 	{
 		/* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 10260000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_4p5Gsps),
-		.data_rate_reg_array = datarate_211_4p5Gsps,
+		.data_rate_reg_array[0] = datarate_211_4p5Gsps,
 	},
 	{
 		/* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 11400000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_211_5Gsps),
-		.data_rate_reg_array = datarate_211_5Gsps,
+		.data_rate_reg_array[0] = datarate_211_5Gsps,
 	},
 };
 

+ 29 - 29
drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_1_2_hwreg.h

@@ -1330,174 +1330,174 @@ struct csiphy_reg_t datarate_212_6p0Gsps[] = {
 	{0x0A14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 };
 
-struct data_rate_reg_info_t data_rate_settings_2_1_2[] = {
+static struct data_rate_reg_info_t data_rate_settings_2_1_2[] = {
 	{
 		/* ((100 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 228000000,
+		.data_rate_reg_array[0] = datarate_212_100Msps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_100Msps),
-		.data_rate_reg_array = datarate_212_100Msps
 	},
 	{
 		/* ((200 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 456000000,
+		.data_rate_reg_array[0] = datarate_212_200Msps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_200Msps),
-		.data_rate_reg_array = datarate_212_200Msps
 	},
 	{
 		/* ((300 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 684000000,
+		.data_rate_reg_array[0] = datarate_212_300Msps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_300Msps),
-		.data_rate_reg_array = datarate_212_300Msps
 	},
 	{
 		/* ((350 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 798000000,
+		.data_rate_reg_array[0] = datarate_212_350Msps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_350Msps),
-		.data_rate_reg_array = datarate_212_350Msps
 	},
 	{
 		/* ((400 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 912000000,
+		.data_rate_reg_array[0] = datarate_212_400Msps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_400Msps),
-		.data_rate_reg_array = datarate_212_400Msps
 	},
 	{
 		/* ((500 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1140000000,
+		.data_rate_reg_array[0] = datarate_212_500Msps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_500Msps),
-		.data_rate_reg_array = datarate_212_500Msps
 	},
 	{
 		/* ((600 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1368000000,
+		.data_rate_reg_array[0] = datarate_212_600Msps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_600Msps),
-		.data_rate_reg_array = datarate_212_600Msps
 	},
 	{
 		/* ((700 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1596000000,
+		.data_rate_reg_array[0] = datarate_212_700Msps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_700Msps),
-		.data_rate_reg_array = datarate_212_700Msps
 	},
 	{
 		/* ((800 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1824000000,
+		.data_rate_reg_array[0] = datarate_212_800Msps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_800Msps),
-		.data_rate_reg_array = datarate_212_800Msps
 	},
 	{
 		/* ((900 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2052000000,
+		.data_rate_reg_array[0] = datarate_212_900Msps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_900Msps),
-		.data_rate_reg_array = datarate_212_900Msps
 	},
 	{
 		/* ((1000 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2280000000,
+		.data_rate_reg_array[0] = datarate_212_1p0Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_1p0Gsps),
-		.data_rate_reg_array = datarate_212_1p0Gsps
 	},
 	{
 		/* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2736000000,
+		.data_rate_reg_array[0] = datarate_212_1p2Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_1p2Gsps),
-		.data_rate_reg_array = datarate_212_1p2Gsps
 	},
 	{
 		/* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 3420000000,
+		.data_rate_reg_array[0] = datarate_212_1p5Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_1p5Gsps),
-		.data_rate_reg_array = datarate_212_1p5Gsps,
 	},
 	{
 		/* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 3876000000,
+		.data_rate_reg_array[0] = datarate_212_1p7Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_1p7Gsps),
-		.data_rate_reg_array = datarate_212_1p7Gsps,
 	},
 	{
 		/* ((2.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 4560000000,
+		.data_rate_reg_array[0] = datarate_212_2p0Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_2p0Gsps),
-		.data_rate_reg_array = datarate_212_2p0Gsps
 	},
 	{
 		/* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 4788000000,
+		.data_rate_reg_array[0] = datarate_212_2p1Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_2p1Gsps),
-		.data_rate_reg_array = datarate_212_2p1Gsps,
 	},
 	{
 		/* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5358000000,
+		.data_rate_reg_array[0] = datarate_212_2p35Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_2p35Gsps),
-		.data_rate_reg_array = datarate_212_2p35Gsps,
 	},
 	{
 		/* ((2.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5700000000,
+		.data_rate_reg_array[0] = datarate_212_2p5Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_2p5Gsps),
-		.data_rate_reg_array = datarate_212_2p5Gsps
 	},
 	{
 		/* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5928000000,
+		.data_rate_reg_array[0] = datarate_212_2p6Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_2p6Gsps),
-		.data_rate_reg_array = datarate_212_2p6Gsps,
 	},
 	{
 		/* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 6384000000,
+		.data_rate_reg_array[0] = datarate_212_2p8Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_2p8Gsps),
-		.data_rate_reg_array = datarate_212_2p8Gsps,
 	},
 	{
 		/* ((3.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 6840000000,
+		.data_rate_reg_array[0] = datarate_212_3p0Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_3p0Gsps),
-		.data_rate_reg_array = datarate_212_3p0Gsps
 	},
 	{
 		/* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 7524000000,
+		.data_rate_reg_array[0] = datarate_212_3p3Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_3p3Gsps),
-		.data_rate_reg_array = datarate_212_3p3Gsps,
 	},
 	{
 		/* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 7980000000,
+		.data_rate_reg_array[0] = datarate_212_3p5Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_3p5Gsps),
-		.data_rate_reg_array = datarate_212_3p5Gsps,
 	},
 	{
 		/* ((4 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 9120000000,
+		.data_rate_reg_array[0] = datarate_212_4p0Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_4p0Gsps),
-		.data_rate_reg_array = datarate_212_4p0Gsps,
 	},
 	{
 		/* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 10260000000,
+		.data_rate_reg_array[0] = datarate_212_4p5Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_4p5Gsps),
-		.data_rate_reg_array = datarate_212_4p5Gsps,
 	},
 	{
 		/* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 11400000000,
+		.data_rate_reg_array[0] = datarate_212_5p0Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_5p0Gsps),
-		.data_rate_reg_array = datarate_212_5p0Gsps,
 	},
 	{
 		/* ((5.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 12540000000,
+		.data_rate_reg_array[0] = datarate_212_5p5Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_5p5Gsps),
-		.data_rate_reg_array = datarate_212_5p5Gsps,
 	},
 	{
 		/* ((6.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 13680000000,
+		.data_rate_reg_array[0] = datarate_212_6p0Gsps,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_212_6p0Gsps),
-		.data_rate_reg_array = datarate_212_6p0Gsps,
 	},
 };
 

+ 26 - 26
drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_1_3_hwreg.h

@@ -1106,156 +1106,156 @@ struct csiphy_reg_t datarate_213_5Gsps[] = {
 	{0x108C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 };
 
-struct data_rate_reg_info_t data_rate_settings_2_1_3[] = {
+static struct data_rate_reg_info_t data_rate_settings_2_1_3[] = {
 	{
 		/* ((100 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 228000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_100Msps),
-		.data_rate_reg_array = datarate_213_100Msps
+		.data_rate_reg_array[0] = datarate_213_100Msps
 	},
 	{
 		/* ((200 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 456000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_200Msps),
-		.data_rate_reg_array = datarate_213_200Msps
+		.data_rate_reg_array[0] = datarate_213_200Msps
 	},
 	{
 		/* ((300 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 684000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_300Msps),
-		.data_rate_reg_array = datarate_213_300Msps
+		.data_rate_reg_array[0] = datarate_213_300Msps
 	},
 	{
 		/* ((400 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 912000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_400Msps),
-		.data_rate_reg_array = datarate_213_400Msps
+		.data_rate_reg_array[0] = datarate_213_400Msps
 	},
 	{
 		/* ((500 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1140000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_500Msps),
-		.data_rate_reg_array = datarate_213_500Msps
+		.data_rate_reg_array[0] = datarate_213_500Msps
 	},
 	{
 		/* ((600 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1368000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_600Msps),
-		.data_rate_reg_array = datarate_213_600Msps
+		.data_rate_reg_array[0] = datarate_213_600Msps
 	},
 	{
 		/* ((700 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1596000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_700Msps),
-		.data_rate_reg_array = datarate_213_700Msps
+		.data_rate_reg_array[0] = datarate_213_700Msps
 	},
 	{
 		/* ((800 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1824000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_800Msps),
-		.data_rate_reg_array = datarate_213_800Msps
+		.data_rate_reg_array[0] = datarate_213_800Msps
 	},
 	{
 		/* ((900 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2052000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_900Msps),
-		.data_rate_reg_array = datarate_213_900Msps
+		.data_rate_reg_array[0] = datarate_213_900Msps
 	},
 	{
 		/* ((1000 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2280000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_1p0Gsps),
-		.data_rate_reg_array = datarate_213_1p0Gsps
+		.data_rate_reg_array[0] = datarate_213_1p0Gsps
 	},
 	{
 		/* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2736000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_1p2Gsps),
-		.data_rate_reg_array = datarate_213_1p2Gsps
+		.data_rate_reg_array[0] = datarate_213_1p2Gsps
 	},
 	{
 		/* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 3420000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_1p5Gsps),
-		.data_rate_reg_array = datarate_213_1p5Gsps,
+		.data_rate_reg_array[0] = datarate_213_1p5Gsps,
 	},
 	{
 		/* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 3876000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_1p7Gsps),
-		.data_rate_reg_array = datarate_213_1p7Gsps,
+		.data_rate_reg_array[0] = datarate_213_1p7Gsps,
 	},
 	{
 		/* ((2.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 4560000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_2p0Gsps),
-		.data_rate_reg_array = datarate_213_2p0Gsps
+		.data_rate_reg_array[0] = datarate_213_2p0Gsps
 	},
 	{
 		/* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 4788000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_2p1Gsps),
-		.data_rate_reg_array = datarate_213_2p1Gsps,
+		.data_rate_reg_array[0] = datarate_213_2p1Gsps,
 	},
 	{
 		/* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5358000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_2p35Gsps),
-		.data_rate_reg_array = datarate_213_2p35Gsps,
+		.data_rate_reg_array[0] = datarate_213_2p35Gsps,
 	},
 	{
 		/* ((2.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5700000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_2p5Gsps),
-		.data_rate_reg_array = datarate_213_2p5Gsps
+		.data_rate_reg_array[0] = datarate_213_2p5Gsps
 	},
 	{
 		/* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5928000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_2p6Gsps),
-		.data_rate_reg_array = datarate_213_2p6Gsps,
+		.data_rate_reg_array[0] = datarate_213_2p6Gsps,
 	},
 	{
 		/* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 6384000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_2p8Gsps),
-		.data_rate_reg_array = datarate_213_2p8Gsps,
+		.data_rate_reg_array[0] = datarate_213_2p8Gsps,
 	},
 	{
 		/* ((3.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 6840000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_3p0Gsps),
-		.data_rate_reg_array = datarate_213_3p0Gsps
+		.data_rate_reg_array[0] = datarate_213_3p0Gsps
 	},
 	{
 		/* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 7524000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_3p3Gsps),
-		.data_rate_reg_array = datarate_213_3p3Gsps,
+		.data_rate_reg_array[0] = datarate_213_3p3Gsps,
 	},
 	{
 		/* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 7980000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_3p5Gsps),
-		.data_rate_reg_array = datarate_213_3p5Gsps,
+		.data_rate_reg_array[0] = datarate_213_3p5Gsps,
 	},
 	{
 		/* ((4 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 9120000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_4Gsps),
-		.data_rate_reg_array = datarate_213_4Gsps,
+		.data_rate_reg_array[0] = datarate_213_4Gsps,
 	},
 	{
 		/* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 10260000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_4p5Gsps),
-		.data_rate_reg_array = datarate_213_4p5Gsps,
+		.data_rate_reg_array[0] = datarate_213_4p5Gsps,
 	},
 	{
 		/* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 11400000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_213_5Gsps),
-		.data_rate_reg_array = datarate_213_5Gsps,
+		.data_rate_reg_array[0] = datarate_213_5Gsps,
 	},
 };
 

+ 31 - 31
drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg.h

@@ -1574,186 +1574,186 @@ struct csiphy_reg_t datarate_220_8p0Gsps[] = {
 	{0x0A14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
 };
 
-struct data_rate_reg_info_t data_rate_settings_2_2_0[] = {
+static struct data_rate_reg_info_t data_rate_settings_2_2_0[] = {
 	{
 		/* ((100 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 228000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_100Msps),
-		.data_rate_reg_array = datarate_220_100Msps
+		.data_rate_reg_array[0] = datarate_220_100Msps
 	},
 	{
 		/* ((200 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 456000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_200Msps),
-		.data_rate_reg_array = datarate_220_200Msps
+		.data_rate_reg_array[0] = datarate_220_200Msps
 	},
 	{
 		/* ((300 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 684000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_300Msps),
-		.data_rate_reg_array = datarate_220_300Msps
+		.data_rate_reg_array[0] = datarate_220_300Msps
 	},
 	{
 		/* ((350 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 798000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_350Msps),
-		.data_rate_reg_array = datarate_220_350Msps
+		.data_rate_reg_array[0] = datarate_220_350Msps
 	},
 	{
 		/* ((400 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 912000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_400Msps),
-		.data_rate_reg_array = datarate_220_400Msps
+		.data_rate_reg_array[0] = datarate_220_400Msps
 	},
 	{
 		/* ((500 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1140000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_500Msps),
-		.data_rate_reg_array = datarate_220_500Msps
+		.data_rate_reg_array[0] = datarate_220_500Msps
 	},
 	{
 		/* ((600 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1368000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_600Msps),
-		.data_rate_reg_array = datarate_220_600Msps
+		.data_rate_reg_array[0] = datarate_220_600Msps
 	},
 	{
 		/* ((700 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1596000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_700Msps),
-		.data_rate_reg_array = datarate_220_700Msps
+		.data_rate_reg_array[0] = datarate_220_700Msps
 	},
 	{
 		/* ((800 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 1824000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_800Msps),
-		.data_rate_reg_array = datarate_220_800Msps
+		.data_rate_reg_array[0] = datarate_220_800Msps
 	},
 	{
 		/* ((900 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2052000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_900Msps),
-		.data_rate_reg_array = datarate_220_900Msps
+		.data_rate_reg_array[0] = datarate_220_900Msps
 	},
 	{
 		/* ((1000 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2280000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p0Gsps),
-		.data_rate_reg_array = datarate_220_1p0Gsps
+		.data_rate_reg_array[0] = datarate_220_1p0Gsps
 	},
 	{
 		/* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 2736000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p2Gsps),
-		.data_rate_reg_array = datarate_220_1p2Gsps
+		.data_rate_reg_array[0] = datarate_220_1p2Gsps
 	},
 	{
 		/* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 3420000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p5Gsps),
-		.data_rate_reg_array = datarate_220_1p5Gsps,
+		.data_rate_reg_array[0] = datarate_220_1p5Gsps,
 	},
 	{
 		/* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 3876000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p7Gsps),
-		.data_rate_reg_array = datarate_220_1p7Gsps,
+		.data_rate_reg_array[0] = datarate_220_1p7Gsps,
 	},
 	{
 		/* ((2.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 4560000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p0Gsps),
-		.data_rate_reg_array = datarate_220_2p0Gsps
+		.data_rate_reg_array[0] = datarate_220_2p0Gsps
 	},
 	{
 		/* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 4788000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p1Gsps),
-		.data_rate_reg_array = datarate_220_2p1Gsps,
+		.data_rate_reg_array[0] = datarate_220_2p1Gsps,
 	},
 	{
 		/* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5358000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p35Gsps),
-		.data_rate_reg_array = datarate_220_2p35Gsps,
+		.data_rate_reg_array[0] = datarate_220_2p35Gsps,
 	},
 	{
 		/* ((2.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5700000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p5Gsps),
-		.data_rate_reg_array = datarate_220_2p5Gsps
+		.data_rate_reg_array[0] = datarate_220_2p5Gsps
 	},
 	{
 		/* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value*/
 		.bandwidth = 5928000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p6Gsps),
-		.data_rate_reg_array = datarate_220_2p6Gsps,
+		.data_rate_reg_array[0] = datarate_220_2p6Gsps,
 	},
 	{
 		/* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 6384000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p8Gsps),
-		.data_rate_reg_array = datarate_220_2p8Gsps,
+		.data_rate_reg_array[0] = datarate_220_2p8Gsps,
 	},
 	{
 		/* ((3.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 6840000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p0Gsps),
-		.data_rate_reg_array = datarate_220_3p0Gsps
+		.data_rate_reg_array[0] = datarate_220_3p0Gsps
 	},
 	{
 		/* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 7524000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p3Gsps),
-		.data_rate_reg_array = datarate_220_3p3Gsps,
+		.data_rate_reg_array[0] = datarate_220_3p3Gsps,
 	},
 	{
 		/* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 7980000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p5Gsps),
-		.data_rate_reg_array = datarate_220_3p5Gsps,
+		.data_rate_reg_array[0] = datarate_220_3p5Gsps,
 	},
 	{
 		/* ((4 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 9120000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p0Gsps),
-		.data_rate_reg_array = datarate_220_4p0Gsps,
+		.data_rate_reg_array[0] = datarate_220_4p0Gsps,
 	},
 	{
 		/* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 10260000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p5Gsps),
-		.data_rate_reg_array = datarate_220_4p5Gsps,
+		.data_rate_reg_array[0] = datarate_220_4p5Gsps,
 	},
 	{
 		/* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 11400000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p0Gsps),
-		.data_rate_reg_array = datarate_220_5p0Gsps,
+		.data_rate_reg_array[0] = datarate_220_5p0Gsps,
 	},
 	{
 		/* ((5.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 12540000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p5Gsps),
-		.data_rate_reg_array = datarate_220_5p5Gsps,
+		.data_rate_reg_array[0] = datarate_220_5p5Gsps,
 	},
 	{
 		/* ((6.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 13680000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_6p0Gsps),
-		.data_rate_reg_array = datarate_220_6p0Gsps,
+		.data_rate_reg_array[0] = datarate_220_6p0Gsps,
 	},
 	{
 		/* ((7.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 15960000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_7p0Gsps),
-		.data_rate_reg_array = datarate_220_7p0Gsps,
+		.data_rate_reg_array[0] = datarate_220_7p0Gsps,
 	},
 	{
 		/* ((8.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */
 		.bandwidth = 18240000000,
 		.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_8p0Gsps),
-		.data_rate_reg_array = datarate_220_8p0Gsps,
+		.data_rate_reg_array[0] = datarate_220_8p0Gsps,
 	},
 
 };