Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

phy: cadence-torrent: Use key:value pair table for all settings

Instead of a 3D matrix use a key:value pair table for link_cmn_vals,
xcvr_diag_vals, pcs_cmn_vals, phy_pma_cmn_vals, cmn_vals,
tx_ln_vals and rx_ln_vals. This makes it scaleable for multiple
reference clocks.

Wherever both CDNS and TI use the same settings, reuse the same data.

Introduce CLK_ANY and ANY_SSC enums which are used if the setting
is independent of clock rate or SSC type.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Swapnil Jakhade <sjakhade@cadence.com>
Link: https://lore.kernel.org/r/20230530143853.26571-3-sjakhade@cadence.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Roger Quadros and committed by
Vinod Koul
ebd05f90 16e0f0ea

+485 -1176
+485 -1176
drivers/phy/cadence/phy-cadence-torrent.c
··· 32 32 #define MAX_NUM_LANES 4 33 33 #define DEFAULT_MAX_BIT_RATE 8100 /* in Mbps */ 34 34 35 - #define NUM_SSC_MODE 3 36 - #define NUM_REF_CLK 4 37 - #define NUM_PHY_TYPE 7 38 - 39 35 #define POLL_TIMEOUT_US 5000 40 36 #define PLL_LOCK_TIMEOUT 100000 41 37 ··· 303 307 CLK_19_2_MHZ, 304 308 CLK_25_MHZ, 305 309 CLK_100_MHZ, 306 - CLK_156_25_MHZ 310 + CLK_156_25_MHZ, 311 + CLK_ANY, 307 312 }; 308 313 309 314 enum cdns_torrent_ssc_mode { 310 315 NO_SSC, 311 316 EXTERNAL_SSC, 312 - INTERNAL_SSC 317 + INTERNAL_SSC, 318 + ANY_SSC, 313 319 }; 320 + 321 + /* Unique key id for vals table entry 322 + * REFCLK0_RATE | REFCLK1_RATE | LINK0_TYPE | LINK1_TYPE | SSC_TYPE 323 + */ 324 + #define REFCLK0_SHIFT 12 325 + #define REFCLK0_MASK GENMASK(14, 12) 326 + #define REFCLK1_SHIFT 9 327 + #define REFCLK1_MASK GENMASK(11, 9) 328 + #define LINK0_SHIFT 6 329 + #define LINK0_MASK GENMASK(8, 6) 330 + #define LINK1_SHIFT 3 331 + #define LINK1_MASK GENMASK(5, 3) 332 + #define SSC_SHIFT 0 333 + #define SSC_MASK GENMASK(2, 0) 334 + 335 + #define CDNS_TORRENT_KEY(refclk0, refclk1, link0, link1, ssc) \ 336 + ((((refclk0) << REFCLK0_SHIFT) & REFCLK0_MASK) | \ 337 + (((refclk1) << REFCLK1_SHIFT) & REFCLK1_MASK) | \ 338 + (((link0) << LINK0_SHIFT) & LINK0_MASK) | \ 339 + (((link1) << LINK1_SHIFT) & LINK1_MASK) | \ 340 + (((ssc) << SSC_SHIFT) & SSC_MASK)) 341 + 342 + #define CDNS_TORRENT_KEY_ANYCLK(link0, link1) \ 343 + CDNS_TORRENT_KEY(CLK_ANY, CLK_ANY, \ 344 + (link0), (link1), ANY_SSC) 314 345 315 346 struct cdns_torrent_inst { 316 347 struct phy *phy; ··· 425 402 u32 num_regs; 426 403 }; 427 404 405 + struct cdns_torrent_vals_entry { 406 + u32 key; 407 + struct cdns_torrent_vals *vals; 408 + }; 409 + 410 + struct cdns_torrent_vals_table { 411 + struct cdns_torrent_vals_entry *entries; 412 + u32 num_entries; 413 + }; 414 + 428 415 struct cdns_torrent_data { 429 416 u8 block_offset_shift; 430 417 u8 reg_offset_shift; 431 - struct cdns_torrent_vals *link_cmn_vals[NUM_PHY_TYPE][NUM_PHY_TYPE] 432 - [NUM_SSC_MODE]; 433 - struct cdns_torrent_vals *xcvr_diag_vals[NUM_PHY_TYPE][NUM_PHY_TYPE] 434 - [NUM_SSC_MODE]; 435 - struct cdns_torrent_vals *pcs_cmn_vals[NUM_PHY_TYPE][NUM_PHY_TYPE] 436 - [NUM_SSC_MODE]; 437 - struct cdns_torrent_vals *phy_pma_cmn_vals[NUM_PHY_TYPE][NUM_PHY_TYPE] 438 - [NUM_SSC_MODE]; 439 - struct cdns_torrent_vals *cmn_vals[NUM_REF_CLK][NUM_PHY_TYPE] 440 - [NUM_PHY_TYPE][NUM_SSC_MODE]; 441 - struct cdns_torrent_vals *tx_ln_vals[NUM_REF_CLK][NUM_PHY_TYPE] 442 - [NUM_PHY_TYPE][NUM_SSC_MODE]; 443 - struct cdns_torrent_vals *rx_ln_vals[NUM_REF_CLK][NUM_PHY_TYPE] 444 - [NUM_PHY_TYPE][NUM_SSC_MODE]; 418 + struct cdns_torrent_vals_table link_cmn_vals_tbl; 419 + struct cdns_torrent_vals_table xcvr_diag_vals_tbl; 420 + struct cdns_torrent_vals_table pcs_cmn_vals_tbl; 421 + struct cdns_torrent_vals_table phy_pma_cmn_vals_tbl; 422 + struct cdns_torrent_vals_table cmn_vals_tbl; 423 + struct cdns_torrent_vals_table tx_ln_vals_tbl; 424 + struct cdns_torrent_vals_table rx_ln_vals_tbl; 445 425 }; 446 426 447 427 struct cdns_regmap_cdb_context { ··· 452 426 void __iomem *base; 453 427 u8 reg_offset_shift; 454 428 }; 429 + 430 + static struct cdns_torrent_vals *cdns_torrent_get_tbl_vals(const struct cdns_torrent_vals_table *tbl, 431 + enum cdns_torrent_ref_clk refclk0, 432 + enum cdns_torrent_ref_clk refclk1, 433 + enum cdns_torrent_phy_type link0, 434 + enum cdns_torrent_phy_type link1, 435 + enum cdns_torrent_ssc_mode ssc) 436 + { 437 + int i; 438 + u32 key = CDNS_TORRENT_KEY(refclk0, refclk1, link0, link1, ssc); 439 + 440 + for (i = 0; i < tbl->num_entries; i++) { 441 + if (tbl->entries[i].key == key) 442 + return tbl->entries[i].vals; 443 + } 444 + 445 + return NULL; 446 + } 455 447 456 448 static int cdns_regmap_write(void *context, unsigned int reg, unsigned int val) 457 449 { ··· 2321 2277 ssc = NO_SSC; 2322 2278 2323 2279 /* PHY configuration specific registers for single link */ 2324 - link_cmn_vals = init_data->link_cmn_vals[phy_type][TYPE_NONE][ssc]; 2280 + link_cmn_vals = cdns_torrent_get_tbl_vals(&init_data->link_cmn_vals_tbl, 2281 + CLK_ANY, CLK_ANY, 2282 + phy_type, TYPE_NONE, 2283 + ANY_SSC); 2325 2284 if (link_cmn_vals) { 2326 2285 reg_pairs = link_cmn_vals->reg_pairs; 2327 2286 num_regs = link_cmn_vals->num_regs; ··· 2341 2294 reg_pairs[i].val); 2342 2295 } 2343 2296 2344 - xcvr_diag_vals = init_data->xcvr_diag_vals[phy_type][TYPE_NONE][ssc]; 2297 + xcvr_diag_vals = cdns_torrent_get_tbl_vals(&init_data->xcvr_diag_vals_tbl, 2298 + CLK_ANY, CLK_ANY, 2299 + phy_type, TYPE_NONE, 2300 + ANY_SSC); 2345 2301 if (xcvr_diag_vals) { 2346 2302 reg_pairs = xcvr_diag_vals->reg_pairs; 2347 2303 num_regs = xcvr_diag_vals->num_regs; ··· 2357 2307 } 2358 2308 2359 2309 /* PHY PCS common registers configurations */ 2360 - pcs_cmn_vals = init_data->pcs_cmn_vals[phy_type][TYPE_NONE][ssc]; 2310 + pcs_cmn_vals = cdns_torrent_get_tbl_vals(&init_data->pcs_cmn_vals_tbl, 2311 + CLK_ANY, CLK_ANY, 2312 + phy_type, TYPE_NONE, 2313 + ANY_SSC); 2361 2314 if (pcs_cmn_vals) { 2362 2315 reg_pairs = pcs_cmn_vals->reg_pairs; 2363 2316 num_regs = pcs_cmn_vals->num_regs; ··· 2371 2318 } 2372 2319 2373 2320 /* PHY PMA common registers configurations */ 2374 - phy_pma_cmn_vals = init_data->phy_pma_cmn_vals[phy_type][TYPE_NONE][ssc]; 2321 + phy_pma_cmn_vals = cdns_torrent_get_tbl_vals(&init_data->phy_pma_cmn_vals_tbl, 2322 + CLK_ANY, CLK_ANY, 2323 + phy_type, TYPE_NONE, 2324 + ANY_SSC); 2375 2325 if (phy_pma_cmn_vals) { 2376 2326 reg_pairs = phy_pma_cmn_vals->reg_pairs; 2377 2327 num_regs = phy_pma_cmn_vals->num_regs; ··· 2385 2329 } 2386 2330 2387 2331 /* PMA common registers configurations */ 2388 - cmn_vals = init_data->cmn_vals[ref_clk][phy_type][TYPE_NONE][ssc]; 2332 + cmn_vals = cdns_torrent_get_tbl_vals(&init_data->cmn_vals_tbl, 2333 + ref_clk, ref_clk, 2334 + phy_type, TYPE_NONE, 2335 + ssc); 2389 2336 if (cmn_vals) { 2390 2337 reg_pairs = cmn_vals->reg_pairs; 2391 2338 num_regs = cmn_vals->num_regs; ··· 2399 2340 } 2400 2341 2401 2342 /* PMA TX lane registers configurations */ 2402 - tx_ln_vals = init_data->tx_ln_vals[ref_clk][phy_type][TYPE_NONE][ssc]; 2343 + tx_ln_vals = cdns_torrent_get_tbl_vals(&init_data->tx_ln_vals_tbl, 2344 + ref_clk, ref_clk, 2345 + phy_type, TYPE_NONE, 2346 + ssc); 2403 2347 if (tx_ln_vals) { 2404 2348 reg_pairs = tx_ln_vals->reg_pairs; 2405 2349 num_regs = tx_ln_vals->num_regs; ··· 2415 2353 } 2416 2354 2417 2355 /* PMA RX lane registers configurations */ 2418 - rx_ln_vals = init_data->rx_ln_vals[ref_clk][phy_type][TYPE_NONE][ssc]; 2356 + rx_ln_vals = cdns_torrent_get_tbl_vals(&init_data->rx_ln_vals_tbl, 2357 + ref_clk, ref_clk, 2358 + phy_type, TYPE_NONE, 2359 + ssc); 2419 2360 if (rx_ln_vals) { 2420 2361 reg_pairs = rx_ln_vals->reg_pairs; 2421 2362 num_regs = rx_ln_vals->num_regs; ··· 2507 2442 * being configured, but these can be different for particular 2508 2443 * PHY type and are per lane. 2509 2444 */ 2510 - link_cmn_vals = init_data->link_cmn_vals[phy_t1][phy_t2][ssc]; 2445 + link_cmn_vals = cdns_torrent_get_tbl_vals(&init_data->link_cmn_vals_tbl, 2446 + CLK_ANY, CLK_ANY, 2447 + phy_t1, phy_t2, ANY_SSC); 2511 2448 if (link_cmn_vals) { 2512 2449 reg_pairs = link_cmn_vals->reg_pairs; 2513 2450 num_regs = link_cmn_vals->num_regs; ··· 2527 2460 reg_pairs[i].val); 2528 2461 } 2529 2462 2530 - xcvr_diag_vals = init_data->xcvr_diag_vals[phy_t1][phy_t2][ssc]; 2463 + xcvr_diag_vals = cdns_torrent_get_tbl_vals(&init_data->xcvr_diag_vals_tbl, 2464 + CLK_ANY, CLK_ANY, 2465 + phy_t1, phy_t2, ANY_SSC); 2531 2466 if (xcvr_diag_vals) { 2532 2467 reg_pairs = xcvr_diag_vals->reg_pairs; 2533 2468 num_regs = xcvr_diag_vals->num_regs; ··· 2542 2473 } 2543 2474 2544 2475 /* PHY PCS common registers configurations */ 2545 - pcs_cmn_vals = init_data->pcs_cmn_vals[phy_t1][phy_t2][ssc]; 2476 + pcs_cmn_vals = cdns_torrent_get_tbl_vals(&init_data->pcs_cmn_vals_tbl, 2477 + CLK_ANY, CLK_ANY, 2478 + phy_t1, phy_t2, ANY_SSC); 2546 2479 if (pcs_cmn_vals) { 2547 2480 reg_pairs = pcs_cmn_vals->reg_pairs; 2548 2481 num_regs = pcs_cmn_vals->num_regs; ··· 2555 2484 } 2556 2485 2557 2486 /* PMA common registers configurations */ 2558 - cmn_vals = init_data->cmn_vals[ref_clk][phy_t1][phy_t2][ssc]; 2487 + cmn_vals = cdns_torrent_get_tbl_vals(&init_data->cmn_vals_tbl, 2488 + ref_clk, ref_clk, 2489 + phy_t1, phy_t2, ssc); 2559 2490 if (cmn_vals) { 2560 2491 reg_pairs = cmn_vals->reg_pairs; 2561 2492 num_regs = cmn_vals->num_regs; ··· 2568 2495 } 2569 2496 2570 2497 /* PMA TX lane registers configurations */ 2571 - tx_ln_vals = init_data->tx_ln_vals[ref_clk][phy_t1][phy_t2][ssc]; 2498 + tx_ln_vals = cdns_torrent_get_tbl_vals(&init_data->tx_ln_vals_tbl, 2499 + ref_clk, ref_clk, 2500 + phy_t1, phy_t2, ssc); 2572 2501 if (tx_ln_vals) { 2573 2502 reg_pairs = tx_ln_vals->reg_pairs; 2574 2503 num_regs = tx_ln_vals->num_regs; ··· 2583 2508 } 2584 2509 2585 2510 /* PMA RX lane registers configurations */ 2586 - rx_ln_vals = init_data->rx_ln_vals[ref_clk][phy_t1][phy_t2][ssc]; 2511 + rx_ln_vals = cdns_torrent_get_tbl_vals(&init_data->rx_ln_vals_tbl, 2512 + ref_clk, ref_clk, 2513 + phy_t1, phy_t2, ssc); 2587 2514 if (rx_ln_vals) { 2588 2515 reg_pairs = rx_ln_vals->reg_pairs; 2589 2516 num_regs = rx_ln_vals->num_regs; ··· 4158 4081 .num_regs = ARRAY_SIZE(pcie_100_ext_no_ssc_rx_ln_regs), 4159 4082 }; 4160 4083 4084 + static struct cdns_torrent_vals_entry link_cmn_vals_entries[] = { 4085 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_DP, TYPE_NONE), &sl_dp_link_cmn_vals}, 4086 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_DP, TYPE_PCIE), &pcie_dp_link_cmn_vals}, 4087 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_DP, TYPE_USB), &usb_dp_link_cmn_vals}, 4088 + 4089 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_PCIE, TYPE_NONE), NULL}, 4090 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_PCIE, TYPE_SGMII), &pcie_sgmii_link_cmn_vals}, 4091 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_PCIE, TYPE_QSGMII), &pcie_sgmii_link_cmn_vals}, 4092 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_PCIE, TYPE_USB), &pcie_usb_link_cmn_vals}, 4093 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_PCIE, TYPE_DP), &pcie_dp_link_cmn_vals}, 4094 + 4095 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_SGMII, TYPE_NONE), &sl_sgmii_link_cmn_vals}, 4096 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_SGMII, TYPE_PCIE), &pcie_sgmii_link_cmn_vals}, 4097 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_SGMII, TYPE_USB), &usb_sgmii_link_cmn_vals}, 4098 + 4099 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_QSGMII, TYPE_NONE), &sl_sgmii_link_cmn_vals}, 4100 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_QSGMII, TYPE_PCIE), &pcie_sgmii_link_cmn_vals}, 4101 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_QSGMII, TYPE_USB), &usb_sgmii_link_cmn_vals}, 4102 + 4103 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_NONE), &sl_usb_link_cmn_vals}, 4104 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_PCIE), &pcie_usb_link_cmn_vals}, 4105 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_SGMII), &usb_sgmii_link_cmn_vals}, 4106 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_QSGMII), &usb_sgmii_link_cmn_vals}, 4107 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_DP), &usb_dp_link_cmn_vals}, 4108 + 4109 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USXGMII, TYPE_NONE), &sl_usxgmii_link_cmn_vals}, 4110 + }; 4111 + 4112 + static struct cdns_torrent_vals_entry xcvr_diag_vals_entries[] = { 4113 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_DP, TYPE_NONE), &sl_dp_xcvr_diag_ln_vals}, 4114 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_DP, TYPE_PCIE), &dp_pcie_xcvr_diag_ln_vals}, 4115 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_DP, TYPE_USB), &dp_usb_xcvr_diag_ln_vals}, 4116 + 4117 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_PCIE, TYPE_NONE), NULL}, 4118 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_PCIE, TYPE_SGMII), &pcie_sgmii_xcvr_diag_ln_vals}, 4119 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_PCIE, TYPE_QSGMII), &pcie_sgmii_xcvr_diag_ln_vals}, 4120 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_PCIE, TYPE_USB), &pcie_usb_xcvr_diag_ln_vals}, 4121 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_PCIE, TYPE_DP), &pcie_dp_xcvr_diag_ln_vals}, 4122 + 4123 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_SGMII, TYPE_NONE), &sl_sgmii_xcvr_diag_ln_vals}, 4124 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_SGMII, TYPE_PCIE), &sgmii_pcie_xcvr_diag_ln_vals}, 4125 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_SGMII, TYPE_USB), &sgmii_usb_xcvr_diag_ln_vals}, 4126 + 4127 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_QSGMII, TYPE_NONE), &sl_sgmii_xcvr_diag_ln_vals}, 4128 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_QSGMII, TYPE_PCIE), &sgmii_pcie_xcvr_diag_ln_vals}, 4129 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_QSGMII, TYPE_USB), &sgmii_usb_xcvr_diag_ln_vals}, 4130 + 4131 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_NONE), &sl_usb_xcvr_diag_ln_vals}, 4132 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_PCIE), &usb_pcie_xcvr_diag_ln_vals}, 4133 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_SGMII), &usb_sgmii_xcvr_diag_ln_vals}, 4134 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_QSGMII), &usb_sgmii_xcvr_diag_ln_vals}, 4135 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_DP), &usb_dp_xcvr_diag_ln_vals}, 4136 + 4137 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USXGMII, TYPE_NONE), &sl_usxgmii_xcvr_diag_ln_vals}, 4138 + }; 4139 + 4140 + static struct cdns_torrent_vals_entry pcs_cmn_vals_entries[] = { 4141 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_NONE), &usb_phy_pcs_cmn_vals}, 4142 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_PCIE), &usb_phy_pcs_cmn_vals}, 4143 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_SGMII), &usb_phy_pcs_cmn_vals}, 4144 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_QSGMII), &usb_phy_pcs_cmn_vals}, 4145 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USB, TYPE_DP), &usb_phy_pcs_cmn_vals}, 4146 + }; 4147 + 4148 + static struct cdns_torrent_vals_entry cmn_vals_entries[] = { 4149 + {CDNS_TORRENT_KEY(CLK_19_2_MHZ, CLK_19_2_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_19_2_no_ssc_cmn_vals}, 4150 + {CDNS_TORRENT_KEY(CLK_25_MHZ, CLK_25_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_25_no_ssc_cmn_vals}, 4151 + 4152 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_100_no_ssc_cmn_vals}, 4153 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_PCIE, NO_SSC), &dp_100_no_ssc_cmn_vals}, 4154 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_USB, NO_SSC), &sl_dp_100_no_ssc_cmn_vals}, 4155 + 4156 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, NO_SSC), NULL}, 4157 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, EXTERNAL_SSC), NULL}, 4158 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, INTERNAL_SSC), &sl_pcie_100_int_ssc_cmn_vals}, 4159 + 4160 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, NO_SSC), &pcie_100_no_ssc_cmn_vals}, 4161 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, EXTERNAL_SSC), &pcie_100_no_ssc_cmn_vals}, 4162 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, INTERNAL_SSC), &pcie_100_int_ssc_cmn_vals}, 4163 + 4164 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, NO_SSC), &pcie_100_no_ssc_cmn_vals}, 4165 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, EXTERNAL_SSC), &pcie_100_no_ssc_cmn_vals}, 4166 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, INTERNAL_SSC), &pcie_100_int_ssc_cmn_vals}, 4167 + 4168 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, NO_SSC), &pcie_100_no_ssc_cmn_vals}, 4169 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, EXTERNAL_SSC), &pcie_100_no_ssc_cmn_vals}, 4170 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, INTERNAL_SSC), &pcie_100_int_ssc_cmn_vals}, 4171 + 4172 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_DP, NO_SSC), NULL}, 4173 + 4174 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_NONE, NO_SSC), &sl_sgmii_100_no_ssc_cmn_vals}, 4175 + 4176 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, NO_SSC), &sgmii_100_no_ssc_cmn_vals}, 4177 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, EXTERNAL_SSC), &sgmii_100_no_ssc_cmn_vals}, 4178 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, INTERNAL_SSC), &sgmii_100_int_ssc_cmn_vals}, 4179 + 4180 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, NO_SSC), &sgmii_100_no_ssc_cmn_vals}, 4181 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, EXTERNAL_SSC), &sgmii_100_no_ssc_cmn_vals}, 4182 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, INTERNAL_SSC), &sgmii_100_no_ssc_cmn_vals}, 4183 + 4184 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_NONE, NO_SSC), &sl_qsgmii_100_no_ssc_cmn_vals}, 4185 + 4186 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, NO_SSC), &qsgmii_100_no_ssc_cmn_vals}, 4187 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, EXTERNAL_SSC), &qsgmii_100_no_ssc_cmn_vals}, 4188 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, INTERNAL_SSC), &qsgmii_100_int_ssc_cmn_vals}, 4189 + 4190 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, NO_SSC), &qsgmii_100_no_ssc_cmn_vals}, 4191 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, EXTERNAL_SSC), &qsgmii_100_no_ssc_cmn_vals}, 4192 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, INTERNAL_SSC), &qsgmii_100_no_ssc_cmn_vals}, 4193 + 4194 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, NO_SSC), &sl_usb_100_no_ssc_cmn_vals}, 4195 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, EXTERNAL_SSC), &sl_usb_100_no_ssc_cmn_vals}, 4196 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, INTERNAL_SSC), &sl_usb_100_int_ssc_cmn_vals}, 4197 + 4198 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, NO_SSC), &usb_100_no_ssc_cmn_vals}, 4199 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, EXTERNAL_SSC), &usb_100_no_ssc_cmn_vals}, 4200 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, INTERNAL_SSC), &usb_100_int_ssc_cmn_vals}, 4201 + 4202 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, NO_SSC), &sl_usb_100_no_ssc_cmn_vals}, 4203 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, EXTERNAL_SSC), &sl_usb_100_no_ssc_cmn_vals}, 4204 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, INTERNAL_SSC), &sl_usb_100_int_ssc_cmn_vals}, 4205 + 4206 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, NO_SSC), &sl_usb_100_no_ssc_cmn_vals}, 4207 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, EXTERNAL_SSC), &sl_usb_100_no_ssc_cmn_vals}, 4208 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, INTERNAL_SSC), &sl_usb_100_int_ssc_cmn_vals}, 4209 + 4210 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_DP, NO_SSC), &usb_100_no_ssc_cmn_vals}, 4211 + 4212 + {CDNS_TORRENT_KEY(CLK_156_25_MHZ, CLK_156_25_MHZ, TYPE_USXGMII, TYPE_NONE, NO_SSC), &sl_usxgmii_156_25_no_ssc_cmn_vals}, 4213 + }; 4214 + 4215 + static struct cdns_torrent_vals_entry cdns_tx_ln_vals_entries[] = { 4216 + {CDNS_TORRENT_KEY(CLK_19_2_MHZ, CLK_19_2_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_19_2_no_ssc_tx_ln_vals}, 4217 + {CDNS_TORRENT_KEY(CLK_25_MHZ, CLK_25_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_25_no_ssc_tx_ln_vals}, 4218 + 4219 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_100_no_ssc_tx_ln_vals}, 4220 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_PCIE, NO_SSC), &dp_100_no_ssc_tx_ln_vals}, 4221 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_USB, NO_SSC), &dp_100_no_ssc_tx_ln_vals}, 4222 + 4223 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, NO_SSC), NULL}, 4224 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, EXTERNAL_SSC), NULL}, 4225 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, INTERNAL_SSC), NULL}, 4226 + 4227 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, NO_SSC), NULL}, 4228 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, EXTERNAL_SSC), NULL}, 4229 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, INTERNAL_SSC), NULL}, 4230 + 4231 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, NO_SSC), NULL}, 4232 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, EXTERNAL_SSC), NULL}, 4233 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, INTERNAL_SSC), NULL}, 4234 + 4235 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, NO_SSC), NULL}, 4236 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, EXTERNAL_SSC), NULL}, 4237 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, INTERNAL_SSC), NULL}, 4238 + 4239 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_DP, NO_SSC), NULL}, 4240 + 4241 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_NONE, NO_SSC), &sgmii_100_no_ssc_tx_ln_vals}, 4242 + 4243 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, NO_SSC), &sgmii_100_no_ssc_tx_ln_vals}, 4244 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, EXTERNAL_SSC), &sgmii_100_no_ssc_tx_ln_vals}, 4245 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, INTERNAL_SSC), &sgmii_100_no_ssc_tx_ln_vals}, 4246 + 4247 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, NO_SSC), &sgmii_100_no_ssc_tx_ln_vals}, 4248 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, EXTERNAL_SSC), &sgmii_100_no_ssc_tx_ln_vals}, 4249 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, INTERNAL_SSC), &sgmii_100_no_ssc_tx_ln_vals}, 4250 + 4251 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_NONE, NO_SSC), &qsgmii_100_no_ssc_tx_ln_vals}, 4252 + 4253 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, NO_SSC), &qsgmii_100_no_ssc_tx_ln_vals}, 4254 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, EXTERNAL_SSC), &qsgmii_100_no_ssc_tx_ln_vals}, 4255 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, INTERNAL_SSC), &qsgmii_100_no_ssc_tx_ln_vals}, 4256 + 4257 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, NO_SSC), &qsgmii_100_no_ssc_tx_ln_vals}, 4258 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, EXTERNAL_SSC), &qsgmii_100_no_ssc_tx_ln_vals}, 4259 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, INTERNAL_SSC), &qsgmii_100_no_ssc_tx_ln_vals}, 4260 + 4261 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, NO_SSC), &usb_100_no_ssc_tx_ln_vals}, 4262 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, EXTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4263 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, INTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4264 + 4265 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, NO_SSC), &usb_100_no_ssc_tx_ln_vals}, 4266 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, EXTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4267 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, INTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4268 + 4269 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, NO_SSC), &usb_100_no_ssc_tx_ln_vals}, 4270 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, EXTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4271 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, INTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4272 + 4273 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, NO_SSC), &usb_100_no_ssc_tx_ln_vals}, 4274 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, EXTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4275 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, INTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4276 + 4277 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_DP, NO_SSC), &usb_100_no_ssc_tx_ln_vals}, 4278 + 4279 + {CDNS_TORRENT_KEY(CLK_156_25_MHZ, CLK_156_25_MHZ, TYPE_USXGMII, TYPE_NONE, NO_SSC), &usxgmii_156_25_no_ssc_tx_ln_vals}, 4280 + }; 4281 + 4282 + static struct cdns_torrent_vals_entry cdns_rx_ln_vals_entries[] = { 4283 + {CDNS_TORRENT_KEY(CLK_19_2_MHZ, CLK_19_2_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_19_2_no_ssc_rx_ln_vals}, 4284 + {CDNS_TORRENT_KEY(CLK_25_MHZ, CLK_25_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_25_no_ssc_rx_ln_vals}, 4285 + 4286 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_100_no_ssc_rx_ln_vals}, 4287 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_PCIE, NO_SSC), &dp_100_no_ssc_rx_ln_vals}, 4288 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_USB, NO_SSC), &dp_100_no_ssc_rx_ln_vals}, 4289 + 4290 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, NO_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4291 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, EXTERNAL_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4292 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, INTERNAL_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4293 + 4294 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, NO_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4295 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, EXTERNAL_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4296 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, INTERNAL_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4297 + 4298 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, NO_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4299 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, EXTERNAL_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4300 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, INTERNAL_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4301 + 4302 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, NO_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4303 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, EXTERNAL_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4304 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, INTERNAL_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4305 + 4306 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_DP, NO_SSC), &pcie_100_no_ssc_rx_ln_vals}, 4307 + 4308 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_NONE, NO_SSC), &sgmii_100_no_ssc_rx_ln_vals}, 4309 + 4310 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, NO_SSC), &sgmii_100_no_ssc_rx_ln_vals}, 4311 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, EXTERNAL_SSC), &sgmii_100_no_ssc_rx_ln_vals}, 4312 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, INTERNAL_SSC), &sgmii_100_no_ssc_rx_ln_vals}, 4313 + 4314 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, NO_SSC), &sgmii_100_no_ssc_rx_ln_vals}, 4315 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, EXTERNAL_SSC), &sgmii_100_no_ssc_rx_ln_vals}, 4316 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, INTERNAL_SSC), &sgmii_100_no_ssc_rx_ln_vals}, 4317 + 4318 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_NONE, NO_SSC), &qsgmii_100_no_ssc_rx_ln_vals}, 4319 + 4320 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, NO_SSC), &qsgmii_100_no_ssc_rx_ln_vals}, 4321 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, EXTERNAL_SSC), &qsgmii_100_no_ssc_rx_ln_vals}, 4322 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, INTERNAL_SSC), &qsgmii_100_no_ssc_rx_ln_vals}, 4323 + 4324 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, NO_SSC), &qsgmii_100_no_ssc_rx_ln_vals}, 4325 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, EXTERNAL_SSC), &qsgmii_100_no_ssc_rx_ln_vals}, 4326 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, INTERNAL_SSC), &qsgmii_100_no_ssc_rx_ln_vals}, 4327 + 4328 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, NO_SSC), &usb_100_no_ssc_rx_ln_vals}, 4329 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, EXTERNAL_SSC), &usb_100_no_ssc_rx_ln_vals}, 4330 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, INTERNAL_SSC), &usb_100_no_ssc_rx_ln_vals}, 4331 + 4332 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, NO_SSC), &usb_100_no_ssc_rx_ln_vals}, 4333 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, EXTERNAL_SSC), &usb_100_no_ssc_rx_ln_vals}, 4334 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, INTERNAL_SSC), &usb_100_no_ssc_rx_ln_vals}, 4335 + 4336 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, NO_SSC), &usb_100_no_ssc_rx_ln_vals}, 4337 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, EXTERNAL_SSC), &usb_100_no_ssc_rx_ln_vals}, 4338 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, INTERNAL_SSC), &usb_100_no_ssc_rx_ln_vals}, 4339 + 4340 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, NO_SSC), &usb_100_no_ssc_rx_ln_vals}, 4341 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, EXTERNAL_SSC), &usb_100_no_ssc_rx_ln_vals}, 4342 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, INTERNAL_SSC), &usb_100_no_ssc_rx_ln_vals}, 4343 + 4344 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_DP, NO_SSC), &usb_100_no_ssc_rx_ln_vals}, 4345 + 4346 + {CDNS_TORRENT_KEY(CLK_156_25_MHZ, CLK_156_25_MHZ, TYPE_USXGMII, TYPE_NONE, NO_SSC), &usxgmii_156_25_no_ssc_rx_ln_vals}, 4347 + }; 4348 + 4161 4349 static const struct cdns_torrent_data cdns_map_torrent = { 4162 4350 .block_offset_shift = 0x2, 4163 4351 .reg_offset_shift = 0x2, 4164 - .link_cmn_vals = { 4165 - [TYPE_DP] = { 4166 - [TYPE_NONE] = { 4167 - [NO_SSC] = &sl_dp_link_cmn_vals, 4168 - }, 4169 - [TYPE_PCIE] = { 4170 - [NO_SSC] = &pcie_dp_link_cmn_vals, 4171 - }, 4172 - [TYPE_USB] = { 4173 - [NO_SSC] = &usb_dp_link_cmn_vals, 4174 - }, 4175 - }, 4176 - [TYPE_PCIE] = { 4177 - [TYPE_NONE] = { 4178 - [NO_SSC] = NULL, 4179 - [EXTERNAL_SSC] = NULL, 4180 - [INTERNAL_SSC] = NULL, 4181 - }, 4182 - [TYPE_SGMII] = { 4183 - [NO_SSC] = &pcie_sgmii_link_cmn_vals, 4184 - [EXTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4185 - [INTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4186 - }, 4187 - [TYPE_QSGMII] = { 4188 - [NO_SSC] = &pcie_sgmii_link_cmn_vals, 4189 - [EXTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4190 - [INTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4191 - }, 4192 - [TYPE_USB] = { 4193 - [NO_SSC] = &pcie_usb_link_cmn_vals, 4194 - [EXTERNAL_SSC] = &pcie_usb_link_cmn_vals, 4195 - [INTERNAL_SSC] = &pcie_usb_link_cmn_vals, 4196 - }, 4197 - [TYPE_DP] = { 4198 - [NO_SSC] = &pcie_dp_link_cmn_vals, 4199 - }, 4200 - }, 4201 - [TYPE_SGMII] = { 4202 - [TYPE_NONE] = { 4203 - [NO_SSC] = &sl_sgmii_link_cmn_vals, 4204 - }, 4205 - [TYPE_PCIE] = { 4206 - [NO_SSC] = &pcie_sgmii_link_cmn_vals, 4207 - [EXTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4208 - [INTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4209 - }, 4210 - [TYPE_USB] = { 4211 - [NO_SSC] = &usb_sgmii_link_cmn_vals, 4212 - [EXTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4213 - [INTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4214 - }, 4215 - }, 4216 - [TYPE_QSGMII] = { 4217 - [TYPE_NONE] = { 4218 - [NO_SSC] = &sl_sgmii_link_cmn_vals, 4219 - }, 4220 - [TYPE_PCIE] = { 4221 - [NO_SSC] = &pcie_sgmii_link_cmn_vals, 4222 - [EXTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4223 - [INTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4224 - }, 4225 - [TYPE_USB] = { 4226 - [NO_SSC] = &usb_sgmii_link_cmn_vals, 4227 - [EXTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4228 - [INTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4229 - }, 4230 - }, 4231 - [TYPE_USB] = { 4232 - [TYPE_NONE] = { 4233 - [NO_SSC] = &sl_usb_link_cmn_vals, 4234 - [EXTERNAL_SSC] = &sl_usb_link_cmn_vals, 4235 - [INTERNAL_SSC] = &sl_usb_link_cmn_vals, 4236 - }, 4237 - [TYPE_PCIE] = { 4238 - [NO_SSC] = &pcie_usb_link_cmn_vals, 4239 - [EXTERNAL_SSC] = &pcie_usb_link_cmn_vals, 4240 - [INTERNAL_SSC] = &pcie_usb_link_cmn_vals, 4241 - }, 4242 - [TYPE_SGMII] = { 4243 - [NO_SSC] = &usb_sgmii_link_cmn_vals, 4244 - [EXTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4245 - [INTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4246 - }, 4247 - [TYPE_QSGMII] = { 4248 - [NO_SSC] = &usb_sgmii_link_cmn_vals, 4249 - [EXTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4250 - [INTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4251 - }, 4252 - [TYPE_DP] = { 4253 - [NO_SSC] = &usb_dp_link_cmn_vals, 4254 - }, 4255 - }, 4256 - [TYPE_USXGMII] = { 4257 - [TYPE_NONE] = { 4258 - [NO_SSC] = &sl_usxgmii_link_cmn_vals, 4259 - }, 4260 - }, 4352 + .link_cmn_vals_tbl = { 4353 + .entries = link_cmn_vals_entries, 4354 + .num_entries = ARRAY_SIZE(link_cmn_vals_entries), 4261 4355 }, 4262 - .xcvr_diag_vals = { 4263 - [TYPE_DP] = { 4264 - [TYPE_NONE] = { 4265 - [NO_SSC] = &sl_dp_xcvr_diag_ln_vals, 4266 - }, 4267 - [TYPE_PCIE] = { 4268 - [NO_SSC] = &dp_pcie_xcvr_diag_ln_vals, 4269 - }, 4270 - [TYPE_USB] = { 4271 - [NO_SSC] = &dp_usb_xcvr_diag_ln_vals, 4272 - }, 4273 - }, 4274 - [TYPE_PCIE] = { 4275 - [TYPE_NONE] = { 4276 - [NO_SSC] = NULL, 4277 - [EXTERNAL_SSC] = NULL, 4278 - [INTERNAL_SSC] = NULL, 4279 - }, 4280 - [TYPE_SGMII] = { 4281 - [NO_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4282 - [EXTERNAL_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4283 - [INTERNAL_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4284 - }, 4285 - [TYPE_QSGMII] = { 4286 - [NO_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4287 - [EXTERNAL_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4288 - [INTERNAL_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4289 - }, 4290 - [TYPE_USB] = { 4291 - [NO_SSC] = &pcie_usb_xcvr_diag_ln_vals, 4292 - [EXTERNAL_SSC] = &pcie_usb_xcvr_diag_ln_vals, 4293 - [INTERNAL_SSC] = &pcie_usb_xcvr_diag_ln_vals, 4294 - }, 4295 - [TYPE_DP] = { 4296 - [NO_SSC] = &pcie_dp_xcvr_diag_ln_vals, 4297 - }, 4298 - }, 4299 - [TYPE_SGMII] = { 4300 - [TYPE_NONE] = { 4301 - [NO_SSC] = &sl_sgmii_xcvr_diag_ln_vals, 4302 - }, 4303 - [TYPE_PCIE] = { 4304 - [NO_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4305 - [EXTERNAL_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4306 - [INTERNAL_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4307 - }, 4308 - [TYPE_USB] = { 4309 - [NO_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4310 - [EXTERNAL_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4311 - [INTERNAL_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4312 - }, 4313 - }, 4314 - [TYPE_QSGMII] = { 4315 - [TYPE_NONE] = { 4316 - [NO_SSC] = &sl_sgmii_xcvr_diag_ln_vals, 4317 - }, 4318 - [TYPE_PCIE] = { 4319 - [NO_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4320 - [EXTERNAL_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4321 - [INTERNAL_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4322 - }, 4323 - [TYPE_USB] = { 4324 - [NO_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4325 - [EXTERNAL_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4326 - [INTERNAL_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4327 - }, 4328 - }, 4329 - [TYPE_USB] = { 4330 - [TYPE_NONE] = { 4331 - [NO_SSC] = &sl_usb_xcvr_diag_ln_vals, 4332 - [EXTERNAL_SSC] = &sl_usb_xcvr_diag_ln_vals, 4333 - [INTERNAL_SSC] = &sl_usb_xcvr_diag_ln_vals, 4334 - }, 4335 - [TYPE_PCIE] = { 4336 - [NO_SSC] = &usb_pcie_xcvr_diag_ln_vals, 4337 - [EXTERNAL_SSC] = &usb_pcie_xcvr_diag_ln_vals, 4338 - [INTERNAL_SSC] = &usb_pcie_xcvr_diag_ln_vals, 4339 - }, 4340 - [TYPE_SGMII] = { 4341 - [NO_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4342 - [EXTERNAL_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4343 - [INTERNAL_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4344 - }, 4345 - [TYPE_QSGMII] = { 4346 - [NO_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4347 - [EXTERNAL_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4348 - [INTERNAL_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4349 - }, 4350 - [TYPE_DP] = { 4351 - [NO_SSC] = &usb_dp_xcvr_diag_ln_vals, 4352 - }, 4353 - }, 4354 - [TYPE_USXGMII] = { 4355 - [TYPE_NONE] = { 4356 - [NO_SSC] = &sl_usxgmii_xcvr_diag_ln_vals, 4357 - }, 4358 - }, 4356 + .xcvr_diag_vals_tbl = { 4357 + .entries = xcvr_diag_vals_entries, 4358 + .num_entries = ARRAY_SIZE(xcvr_diag_vals_entries), 4359 4359 }, 4360 - .pcs_cmn_vals = { 4361 - [TYPE_USB] = { 4362 - [TYPE_NONE] = { 4363 - [NO_SSC] = &usb_phy_pcs_cmn_vals, 4364 - [EXTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4365 - [INTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4366 - }, 4367 - [TYPE_PCIE] = { 4368 - [NO_SSC] = &usb_phy_pcs_cmn_vals, 4369 - [EXTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4370 - [INTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4371 - }, 4372 - [TYPE_SGMII] = { 4373 - [NO_SSC] = &usb_phy_pcs_cmn_vals, 4374 - [EXTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4375 - [INTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4376 - }, 4377 - [TYPE_QSGMII] = { 4378 - [NO_SSC] = &usb_phy_pcs_cmn_vals, 4379 - [EXTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4380 - [INTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4381 - }, 4382 - [TYPE_DP] = { 4383 - [NO_SSC] = &usb_phy_pcs_cmn_vals, 4384 - }, 4385 - }, 4360 + .pcs_cmn_vals_tbl = { 4361 + .entries = pcs_cmn_vals_entries, 4362 + .num_entries = ARRAY_SIZE(pcs_cmn_vals_entries), 4386 4363 }, 4387 - .phy_pma_cmn_vals = { 4388 - [TYPE_USXGMII] = { 4389 - [TYPE_NONE] = { 4390 - [NO_SSC] = NULL, 4391 - }, 4392 - }, 4364 + .cmn_vals_tbl = { 4365 + .entries = cmn_vals_entries, 4366 + .num_entries = ARRAY_SIZE(cmn_vals_entries), 4393 4367 }, 4394 - .cmn_vals = { 4395 - [CLK_19_2_MHZ] = { 4396 - [TYPE_DP] = { 4397 - [TYPE_NONE] = { 4398 - [NO_SSC] = &sl_dp_19_2_no_ssc_cmn_vals, 4399 - }, 4400 - }, 4401 - }, 4402 - [CLK_25_MHZ] = { 4403 - [TYPE_DP] = { 4404 - [TYPE_NONE] = { 4405 - [NO_SSC] = &sl_dp_25_no_ssc_cmn_vals, 4406 - }, 4407 - }, 4408 - }, 4409 - [CLK_100_MHZ] = { 4410 - [TYPE_DP] = { 4411 - [TYPE_NONE] = { 4412 - [NO_SSC] = &sl_dp_100_no_ssc_cmn_vals, 4413 - }, 4414 - [TYPE_PCIE] = { 4415 - [NO_SSC] = &dp_100_no_ssc_cmn_vals, 4416 - }, 4417 - [TYPE_USB] = { 4418 - [NO_SSC] = &sl_dp_100_no_ssc_cmn_vals, 4419 - }, 4420 - }, 4421 - [TYPE_PCIE] = { 4422 - [TYPE_NONE] = { 4423 - [NO_SSC] = NULL, 4424 - [EXTERNAL_SSC] = NULL, 4425 - [INTERNAL_SSC] = &sl_pcie_100_int_ssc_cmn_vals, 4426 - }, 4427 - [TYPE_SGMII] = { 4428 - [NO_SSC] = &pcie_100_no_ssc_cmn_vals, 4429 - [EXTERNAL_SSC] = &pcie_100_no_ssc_cmn_vals, 4430 - [INTERNAL_SSC] = &pcie_100_int_ssc_cmn_vals, 4431 - }, 4432 - [TYPE_QSGMII] = { 4433 - [NO_SSC] = &pcie_100_no_ssc_cmn_vals, 4434 - [EXTERNAL_SSC] = &pcie_100_no_ssc_cmn_vals, 4435 - [INTERNAL_SSC] = &pcie_100_int_ssc_cmn_vals, 4436 - }, 4437 - [TYPE_USB] = { 4438 - [NO_SSC] = &pcie_100_no_ssc_cmn_vals, 4439 - [EXTERNAL_SSC] = &pcie_100_no_ssc_cmn_vals, 4440 - [INTERNAL_SSC] = &pcie_100_int_ssc_cmn_vals, 4441 - }, 4442 - [TYPE_DP] = { 4443 - [NO_SSC] = NULL, 4444 - }, 4445 - }, 4446 - [TYPE_SGMII] = { 4447 - [TYPE_NONE] = { 4448 - [NO_SSC] = &sl_sgmii_100_no_ssc_cmn_vals, 4449 - }, 4450 - [TYPE_PCIE] = { 4451 - [NO_SSC] = &sgmii_100_no_ssc_cmn_vals, 4452 - [EXTERNAL_SSC] = &sgmii_100_no_ssc_cmn_vals, 4453 - [INTERNAL_SSC] = &sgmii_100_int_ssc_cmn_vals, 4454 - }, 4455 - [TYPE_USB] = { 4456 - [NO_SSC] = &sgmii_100_no_ssc_cmn_vals, 4457 - [EXTERNAL_SSC] = &sgmii_100_no_ssc_cmn_vals, 4458 - [INTERNAL_SSC] = &sgmii_100_no_ssc_cmn_vals, 4459 - }, 4460 - }, 4461 - [TYPE_QSGMII] = { 4462 - [TYPE_NONE] = { 4463 - [NO_SSC] = &sl_qsgmii_100_no_ssc_cmn_vals, 4464 - }, 4465 - [TYPE_PCIE] = { 4466 - [NO_SSC] = &qsgmii_100_no_ssc_cmn_vals, 4467 - [EXTERNAL_SSC] = &qsgmii_100_no_ssc_cmn_vals, 4468 - [INTERNAL_SSC] = &qsgmii_100_int_ssc_cmn_vals, 4469 - }, 4470 - [TYPE_USB] = { 4471 - [NO_SSC] = &qsgmii_100_no_ssc_cmn_vals, 4472 - [EXTERNAL_SSC] = &qsgmii_100_no_ssc_cmn_vals, 4473 - [INTERNAL_SSC] = &qsgmii_100_no_ssc_cmn_vals, 4474 - }, 4475 - }, 4476 - [TYPE_USB] = { 4477 - [TYPE_NONE] = { 4478 - [NO_SSC] = &sl_usb_100_no_ssc_cmn_vals, 4479 - [EXTERNAL_SSC] = &sl_usb_100_no_ssc_cmn_vals, 4480 - [INTERNAL_SSC] = &sl_usb_100_int_ssc_cmn_vals, 4481 - }, 4482 - [TYPE_PCIE] = { 4483 - [NO_SSC] = &usb_100_no_ssc_cmn_vals, 4484 - [EXTERNAL_SSC] = &usb_100_no_ssc_cmn_vals, 4485 - [INTERNAL_SSC] = &usb_100_int_ssc_cmn_vals, 4486 - }, 4487 - [TYPE_SGMII] = { 4488 - [NO_SSC] = &sl_usb_100_no_ssc_cmn_vals, 4489 - [EXTERNAL_SSC] = &sl_usb_100_no_ssc_cmn_vals, 4490 - [INTERNAL_SSC] = &sl_usb_100_int_ssc_cmn_vals, 4491 - }, 4492 - [TYPE_QSGMII] = { 4493 - [NO_SSC] = &sl_usb_100_no_ssc_cmn_vals, 4494 - [EXTERNAL_SSC] = &sl_usb_100_no_ssc_cmn_vals, 4495 - [INTERNAL_SSC] = &sl_usb_100_int_ssc_cmn_vals, 4496 - }, 4497 - [TYPE_DP] = { 4498 - [NO_SSC] = &usb_100_no_ssc_cmn_vals, 4499 - }, 4500 - }, 4501 - }, 4502 - [CLK_156_25_MHZ] = { 4503 - [TYPE_USXGMII] = { 4504 - [TYPE_NONE] = { 4505 - [NO_SSC] = &sl_usxgmii_156_25_no_ssc_cmn_vals, 4506 - }, 4507 - }, 4508 - }, 4368 + .tx_ln_vals_tbl = { 4369 + .entries = cdns_tx_ln_vals_entries, 4370 + .num_entries = ARRAY_SIZE(cdns_tx_ln_vals_entries), 4509 4371 }, 4510 - .tx_ln_vals = { 4511 - [CLK_19_2_MHZ] = { 4512 - [TYPE_DP] = { 4513 - [TYPE_NONE] = { 4514 - [NO_SSC] = &sl_dp_19_2_no_ssc_tx_ln_vals, 4515 - }, 4516 - }, 4517 - }, 4518 - [CLK_25_MHZ] = { 4519 - [TYPE_DP] = { 4520 - [TYPE_NONE] = { 4521 - [NO_SSC] = &sl_dp_25_no_ssc_tx_ln_vals, 4522 - }, 4523 - }, 4524 - }, 4525 - [CLK_100_MHZ] = { 4526 - [TYPE_DP] = { 4527 - [TYPE_NONE] = { 4528 - [NO_SSC] = &sl_dp_100_no_ssc_tx_ln_vals, 4529 - }, 4530 - [TYPE_PCIE] = { 4531 - [NO_SSC] = &dp_100_no_ssc_tx_ln_vals, 4532 - }, 4533 - [TYPE_USB] = { 4534 - [NO_SSC] = &dp_100_no_ssc_tx_ln_vals, 4535 - }, 4536 - }, 4537 - [TYPE_PCIE] = { 4538 - [TYPE_NONE] = { 4539 - [NO_SSC] = NULL, 4540 - [EXTERNAL_SSC] = NULL, 4541 - [INTERNAL_SSC] = NULL, 4542 - }, 4543 - [TYPE_SGMII] = { 4544 - [NO_SSC] = NULL, 4545 - [EXTERNAL_SSC] = NULL, 4546 - [INTERNAL_SSC] = NULL, 4547 - }, 4548 - [TYPE_QSGMII] = { 4549 - [NO_SSC] = NULL, 4550 - [EXTERNAL_SSC] = NULL, 4551 - [INTERNAL_SSC] = NULL, 4552 - }, 4553 - [TYPE_USB] = { 4554 - [NO_SSC] = NULL, 4555 - [EXTERNAL_SSC] = NULL, 4556 - [INTERNAL_SSC] = NULL, 4557 - }, 4558 - [TYPE_DP] = { 4559 - [NO_SSC] = NULL, 4560 - }, 4561 - }, 4562 - [TYPE_SGMII] = { 4563 - [TYPE_NONE] = { 4564 - [NO_SSC] = &sgmii_100_no_ssc_tx_ln_vals, 4565 - }, 4566 - [TYPE_PCIE] = { 4567 - [NO_SSC] = &sgmii_100_no_ssc_tx_ln_vals, 4568 - [EXTERNAL_SSC] = &sgmii_100_no_ssc_tx_ln_vals, 4569 - [INTERNAL_SSC] = &sgmii_100_no_ssc_tx_ln_vals, 4570 - }, 4571 - [TYPE_USB] = { 4572 - [NO_SSC] = &sgmii_100_no_ssc_tx_ln_vals, 4573 - [EXTERNAL_SSC] = &sgmii_100_no_ssc_tx_ln_vals, 4574 - [INTERNAL_SSC] = &sgmii_100_no_ssc_tx_ln_vals, 4575 - }, 4576 - }, 4577 - [TYPE_QSGMII] = { 4578 - [TYPE_NONE] = { 4579 - [NO_SSC] = &qsgmii_100_no_ssc_tx_ln_vals, 4580 - }, 4581 - [TYPE_PCIE] = { 4582 - [NO_SSC] = &qsgmii_100_no_ssc_tx_ln_vals, 4583 - [EXTERNAL_SSC] = &qsgmii_100_no_ssc_tx_ln_vals, 4584 - [INTERNAL_SSC] = &qsgmii_100_no_ssc_tx_ln_vals, 4585 - }, 4586 - [TYPE_USB] = { 4587 - [NO_SSC] = &qsgmii_100_no_ssc_tx_ln_vals, 4588 - [EXTERNAL_SSC] = &qsgmii_100_no_ssc_tx_ln_vals, 4589 - [INTERNAL_SSC] = &qsgmii_100_no_ssc_tx_ln_vals, 4590 - }, 4591 - }, 4592 - [TYPE_USB] = { 4593 - [TYPE_NONE] = { 4594 - [NO_SSC] = &usb_100_no_ssc_tx_ln_vals, 4595 - [EXTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 4596 - [INTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 4597 - }, 4598 - [TYPE_PCIE] = { 4599 - [NO_SSC] = &usb_100_no_ssc_tx_ln_vals, 4600 - [EXTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 4601 - [INTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 4602 - }, 4603 - [TYPE_SGMII] = { 4604 - [NO_SSC] = &usb_100_no_ssc_tx_ln_vals, 4605 - [EXTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 4606 - [INTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 4607 - }, 4608 - [TYPE_QSGMII] = { 4609 - [NO_SSC] = &usb_100_no_ssc_tx_ln_vals, 4610 - [EXTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 4611 - [INTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 4612 - }, 4613 - [TYPE_DP] = { 4614 - [NO_SSC] = &usb_100_no_ssc_tx_ln_vals, 4615 - }, 4616 - }, 4617 - }, 4618 - [CLK_156_25_MHZ] = { 4619 - [TYPE_USXGMII] = { 4620 - [TYPE_NONE] = { 4621 - [NO_SSC] = &usxgmii_156_25_no_ssc_tx_ln_vals, 4622 - }, 4623 - }, 4624 - }, 4372 + .rx_ln_vals_tbl = { 4373 + .entries = cdns_rx_ln_vals_entries, 4374 + .num_entries = ARRAY_SIZE(cdns_rx_ln_vals_entries), 4625 4375 }, 4626 - .rx_ln_vals = { 4627 - [CLK_19_2_MHZ] = { 4628 - [TYPE_DP] = { 4629 - [TYPE_NONE] = { 4630 - [NO_SSC] = &sl_dp_19_2_no_ssc_rx_ln_vals, 4631 - }, 4632 - }, 4633 - }, 4634 - [CLK_25_MHZ] = { 4635 - [TYPE_DP] = { 4636 - [TYPE_NONE] = { 4637 - [NO_SSC] = &sl_dp_25_no_ssc_rx_ln_vals, 4638 - }, 4639 - }, 4640 - }, 4641 - [CLK_100_MHZ] = { 4642 - [TYPE_DP] = { 4643 - [TYPE_NONE] = { 4644 - [NO_SSC] = &sl_dp_100_no_ssc_rx_ln_vals, 4645 - }, 4646 - [TYPE_PCIE] = { 4647 - [NO_SSC] = &dp_100_no_ssc_rx_ln_vals, 4648 - }, 4649 - [TYPE_USB] = { 4650 - [NO_SSC] = &dp_100_no_ssc_rx_ln_vals, 4651 - }, 4652 - }, 4653 - [TYPE_PCIE] = { 4654 - [TYPE_NONE] = { 4655 - [NO_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4656 - [EXTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4657 - [INTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4658 - }, 4659 - [TYPE_SGMII] = { 4660 - [NO_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4661 - [EXTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4662 - [INTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4663 - }, 4664 - [TYPE_QSGMII] = { 4665 - [NO_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4666 - [EXTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4667 - [INTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4668 - }, 4669 - [TYPE_USB] = { 4670 - [NO_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4671 - [EXTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4672 - [INTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4673 - }, 4674 - [TYPE_DP] = { 4675 - [NO_SSC] = &pcie_100_no_ssc_rx_ln_vals, 4676 - }, 4677 - }, 4678 - [TYPE_SGMII] = { 4679 - [TYPE_NONE] = { 4680 - [NO_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 4681 - }, 4682 - [TYPE_PCIE] = { 4683 - [NO_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 4684 - [EXTERNAL_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 4685 - [INTERNAL_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 4686 - }, 4687 - [TYPE_USB] = { 4688 - [NO_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 4689 - [EXTERNAL_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 4690 - [INTERNAL_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 4691 - }, 4692 - }, 4693 - [TYPE_QSGMII] = { 4694 - [TYPE_NONE] = { 4695 - [NO_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 4696 - }, 4697 - [TYPE_PCIE] = { 4698 - [NO_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 4699 - [EXTERNAL_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 4700 - [INTERNAL_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 4701 - }, 4702 - [TYPE_USB] = { 4703 - [NO_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 4704 - [EXTERNAL_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 4705 - [INTERNAL_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 4706 - }, 4707 - }, 4708 - [TYPE_USB] = { 4709 - [TYPE_NONE] = { 4710 - [NO_SSC] = &usb_100_no_ssc_rx_ln_vals, 4711 - [EXTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 4712 - [INTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 4713 - }, 4714 - [TYPE_PCIE] = { 4715 - [NO_SSC] = &usb_100_no_ssc_rx_ln_vals, 4716 - [EXTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 4717 - [INTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 4718 - }, 4719 - [TYPE_SGMII] = { 4720 - [NO_SSC] = &usb_100_no_ssc_rx_ln_vals, 4721 - [EXTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 4722 - [INTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 4723 - }, 4724 - [TYPE_QSGMII] = { 4725 - [NO_SSC] = &usb_100_no_ssc_rx_ln_vals, 4726 - [EXTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 4727 - [INTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 4728 - }, 4729 - [TYPE_DP] = { 4730 - [NO_SSC] = &usb_100_no_ssc_rx_ln_vals, 4731 - }, 4732 - }, 4733 - }, 4734 - [CLK_156_25_MHZ] = { 4735 - [TYPE_USXGMII] = { 4736 - [TYPE_NONE] = { 4737 - [NO_SSC] = &usxgmii_156_25_no_ssc_rx_ln_vals, 4738 - }, 4739 - }, 4740 - }, 4741 - }, 4376 + }; 4377 + 4378 + static struct cdns_torrent_vals_entry j721e_phy_pma_cmn_vals_entries[] = { 4379 + {CDNS_TORRENT_KEY_ANYCLK(TYPE_USXGMII, TYPE_NONE), &ti_usxgmii_phy_pma_cmn_vals}, 4380 + }; 4381 + 4382 + static struct cdns_torrent_vals_entry ti_tx_ln_vals_entries[] = { 4383 + {CDNS_TORRENT_KEY(CLK_19_2_MHZ, CLK_19_2_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_19_2_no_ssc_tx_ln_vals}, 4384 + {CDNS_TORRENT_KEY(CLK_25_MHZ, CLK_25_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_25_no_ssc_tx_ln_vals}, 4385 + 4386 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_NONE, NO_SSC), &sl_dp_100_no_ssc_tx_ln_vals}, 4387 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_PCIE, NO_SSC), &dp_100_no_ssc_tx_ln_vals}, 4388 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_DP, TYPE_USB, NO_SSC), &dp_100_no_ssc_tx_ln_vals}, 4389 + 4390 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, NO_SSC), NULL}, 4391 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, EXTERNAL_SSC), NULL}, 4392 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_NONE, INTERNAL_SSC), NULL}, 4393 + 4394 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, NO_SSC), NULL}, 4395 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, EXTERNAL_SSC), NULL}, 4396 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_SGMII, INTERNAL_SSC), NULL}, 4397 + 4398 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, NO_SSC), NULL}, 4399 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, EXTERNAL_SSC), NULL}, 4400 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_QSGMII, INTERNAL_SSC), NULL}, 4401 + 4402 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, NO_SSC), NULL}, 4403 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, EXTERNAL_SSC), NULL}, 4404 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_USB, INTERNAL_SSC), NULL}, 4405 + 4406 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_PCIE, TYPE_DP, NO_SSC), NULL}, 4407 + 4408 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_NONE, NO_SSC), &ti_sgmii_100_no_ssc_tx_ln_vals}, 4409 + 4410 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, NO_SSC), &ti_sgmii_100_no_ssc_tx_ln_vals}, 4411 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, EXTERNAL_SSC), &ti_sgmii_100_no_ssc_tx_ln_vals}, 4412 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_PCIE, INTERNAL_SSC), &ti_sgmii_100_no_ssc_tx_ln_vals}, 4413 + 4414 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, NO_SSC), &ti_sgmii_100_no_ssc_tx_ln_vals}, 4415 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, EXTERNAL_SSC), &ti_sgmii_100_no_ssc_tx_ln_vals}, 4416 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_SGMII, TYPE_USB, INTERNAL_SSC), &ti_sgmii_100_no_ssc_tx_ln_vals}, 4417 + 4418 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_NONE, NO_SSC), &ti_qsgmii_100_no_ssc_tx_ln_vals}, 4419 + 4420 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, NO_SSC), &ti_qsgmii_100_no_ssc_tx_ln_vals}, 4421 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, EXTERNAL_SSC), &ti_qsgmii_100_no_ssc_tx_ln_vals}, 4422 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_PCIE, INTERNAL_SSC), &ti_qsgmii_100_no_ssc_tx_ln_vals}, 4423 + 4424 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, NO_SSC), &ti_qsgmii_100_no_ssc_tx_ln_vals}, 4425 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, EXTERNAL_SSC), &ti_qsgmii_100_no_ssc_tx_ln_vals}, 4426 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_QSGMII, TYPE_USB, INTERNAL_SSC), &ti_qsgmii_100_no_ssc_tx_ln_vals}, 4427 + 4428 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, NO_SSC), &usb_100_no_ssc_tx_ln_vals}, 4429 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, EXTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4430 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_NONE, INTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4431 + 4432 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, NO_SSC), &usb_100_no_ssc_tx_ln_vals}, 4433 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, EXTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4434 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_PCIE, INTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4435 + 4436 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, NO_SSC), &usb_100_no_ssc_tx_ln_vals}, 4437 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, EXTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4438 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_SGMII, INTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4439 + 4440 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, NO_SSC), &usb_100_no_ssc_tx_ln_vals}, 4441 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, EXTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4442 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_QSGMII, INTERNAL_SSC), &usb_100_no_ssc_tx_ln_vals}, 4443 + 4444 + {CDNS_TORRENT_KEY(CLK_100_MHZ, CLK_100_MHZ, TYPE_USB, TYPE_DP, NO_SSC), &usb_100_no_ssc_tx_ln_vals}, 4445 + 4446 + {CDNS_TORRENT_KEY(CLK_156_25_MHZ, CLK_156_25_MHZ, TYPE_USXGMII, TYPE_NONE, NO_SSC), &usxgmii_156_25_no_ssc_tx_ln_vals}, 4742 4447 }; 4743 4448 4744 4449 static const struct cdns_torrent_data ti_j721e_map_torrent = { 4745 4450 .block_offset_shift = 0x0, 4746 4451 .reg_offset_shift = 0x1, 4747 - .link_cmn_vals = { 4748 - [TYPE_DP] = { 4749 - [TYPE_NONE] = { 4750 - [NO_SSC] = &sl_dp_link_cmn_vals, 4751 - }, 4752 - [TYPE_PCIE] = { 4753 - [NO_SSC] = &pcie_dp_link_cmn_vals, 4754 - }, 4755 - [TYPE_USB] = { 4756 - [NO_SSC] = &usb_dp_link_cmn_vals, 4757 - }, 4758 - }, 4759 - [TYPE_PCIE] = { 4760 - [TYPE_NONE] = { 4761 - [NO_SSC] = NULL, 4762 - [EXTERNAL_SSC] = NULL, 4763 - [INTERNAL_SSC] = NULL, 4764 - }, 4765 - [TYPE_SGMII] = { 4766 - [NO_SSC] = &pcie_sgmii_link_cmn_vals, 4767 - [EXTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4768 - [INTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4769 - }, 4770 - [TYPE_QSGMII] = { 4771 - [NO_SSC] = &pcie_sgmii_link_cmn_vals, 4772 - [EXTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4773 - [INTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4774 - }, 4775 - [TYPE_USB] = { 4776 - [NO_SSC] = &pcie_usb_link_cmn_vals, 4777 - [EXTERNAL_SSC] = &pcie_usb_link_cmn_vals, 4778 - [INTERNAL_SSC] = &pcie_usb_link_cmn_vals, 4779 - }, 4780 - [TYPE_DP] = { 4781 - [NO_SSC] = &pcie_dp_link_cmn_vals, 4782 - }, 4783 - }, 4784 - [TYPE_SGMII] = { 4785 - [TYPE_NONE] = { 4786 - [NO_SSC] = &sl_sgmii_link_cmn_vals, 4787 - }, 4788 - [TYPE_PCIE] = { 4789 - [NO_SSC] = &pcie_sgmii_link_cmn_vals, 4790 - [EXTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4791 - [INTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4792 - }, 4793 - [TYPE_USB] = { 4794 - [NO_SSC] = &usb_sgmii_link_cmn_vals, 4795 - [EXTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4796 - [INTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4797 - }, 4798 - }, 4799 - [TYPE_QSGMII] = { 4800 - [TYPE_NONE] = { 4801 - [NO_SSC] = &sl_sgmii_link_cmn_vals, 4802 - }, 4803 - [TYPE_PCIE] = { 4804 - [NO_SSC] = &pcie_sgmii_link_cmn_vals, 4805 - [EXTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4806 - [INTERNAL_SSC] = &pcie_sgmii_link_cmn_vals, 4807 - }, 4808 - [TYPE_USB] = { 4809 - [NO_SSC] = &usb_sgmii_link_cmn_vals, 4810 - [EXTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4811 - [INTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4812 - }, 4813 - }, 4814 - [TYPE_USB] = { 4815 - [TYPE_NONE] = { 4816 - [NO_SSC] = &sl_usb_link_cmn_vals, 4817 - [EXTERNAL_SSC] = &sl_usb_link_cmn_vals, 4818 - [INTERNAL_SSC] = &sl_usb_link_cmn_vals, 4819 - }, 4820 - [TYPE_PCIE] = { 4821 - [NO_SSC] = &pcie_usb_link_cmn_vals, 4822 - [EXTERNAL_SSC] = &pcie_usb_link_cmn_vals, 4823 - [INTERNAL_SSC] = &pcie_usb_link_cmn_vals, 4824 - }, 4825 - [TYPE_SGMII] = { 4826 - [NO_SSC] = &usb_sgmii_link_cmn_vals, 4827 - [EXTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4828 - [INTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4829 - }, 4830 - [TYPE_QSGMII] = { 4831 - [NO_SSC] = &usb_sgmii_link_cmn_vals, 4832 - [EXTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4833 - [INTERNAL_SSC] = &usb_sgmii_link_cmn_vals, 4834 - }, 4835 - [TYPE_DP] = { 4836 - [NO_SSC] = &usb_dp_link_cmn_vals, 4837 - }, 4838 - }, 4839 - [TYPE_USXGMII] = { 4840 - [TYPE_NONE] = { 4841 - [NO_SSC] = &sl_usxgmii_link_cmn_vals, 4842 - }, 4843 - }, 4452 + .link_cmn_vals_tbl = { 4453 + .entries = link_cmn_vals_entries, 4454 + .num_entries = ARRAY_SIZE(link_cmn_vals_entries), 4844 4455 }, 4845 - .xcvr_diag_vals = { 4846 - [TYPE_DP] = { 4847 - [TYPE_NONE] = { 4848 - [NO_SSC] = &sl_dp_xcvr_diag_ln_vals, 4849 - }, 4850 - [TYPE_PCIE] = { 4851 - [NO_SSC] = &dp_pcie_xcvr_diag_ln_vals, 4852 - }, 4853 - [TYPE_USB] = { 4854 - [NO_SSC] = &dp_usb_xcvr_diag_ln_vals, 4855 - }, 4856 - }, 4857 - [TYPE_PCIE] = { 4858 - [TYPE_NONE] = { 4859 - [NO_SSC] = NULL, 4860 - [EXTERNAL_SSC] = NULL, 4861 - [INTERNAL_SSC] = NULL, 4862 - }, 4863 - [TYPE_SGMII] = { 4864 - [NO_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4865 - [EXTERNAL_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4866 - [INTERNAL_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4867 - }, 4868 - [TYPE_QSGMII] = { 4869 - [NO_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4870 - [EXTERNAL_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4871 - [INTERNAL_SSC] = &pcie_sgmii_xcvr_diag_ln_vals, 4872 - }, 4873 - [TYPE_USB] = { 4874 - [NO_SSC] = &pcie_usb_xcvr_diag_ln_vals, 4875 - [EXTERNAL_SSC] = &pcie_usb_xcvr_diag_ln_vals, 4876 - [INTERNAL_SSC] = &pcie_usb_xcvr_diag_ln_vals, 4877 - }, 4878 - [TYPE_DP] = { 4879 - [NO_SSC] = &pcie_dp_xcvr_diag_ln_vals, 4880 - }, 4881 - }, 4882 - [TYPE_SGMII] = { 4883 - [TYPE_NONE] = { 4884 - [NO_SSC] = &sl_sgmii_xcvr_diag_ln_vals, 4885 - }, 4886 - [TYPE_PCIE] = { 4887 - [NO_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4888 - [EXTERNAL_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4889 - [INTERNAL_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4890 - }, 4891 - [TYPE_USB] = { 4892 - [NO_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4893 - [EXTERNAL_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4894 - [INTERNAL_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4895 - }, 4896 - }, 4897 - [TYPE_QSGMII] = { 4898 - [TYPE_NONE] = { 4899 - [NO_SSC] = &sl_sgmii_xcvr_diag_ln_vals, 4900 - }, 4901 - [TYPE_PCIE] = { 4902 - [NO_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4903 - [EXTERNAL_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4904 - [INTERNAL_SSC] = &sgmii_pcie_xcvr_diag_ln_vals, 4905 - }, 4906 - [TYPE_USB] = { 4907 - [NO_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4908 - [EXTERNAL_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4909 - [INTERNAL_SSC] = &sgmii_usb_xcvr_diag_ln_vals, 4910 - }, 4911 - }, 4912 - [TYPE_USB] = { 4913 - [TYPE_NONE] = { 4914 - [NO_SSC] = &sl_usb_xcvr_diag_ln_vals, 4915 - [EXTERNAL_SSC] = &sl_usb_xcvr_diag_ln_vals, 4916 - [INTERNAL_SSC] = &sl_usb_xcvr_diag_ln_vals, 4917 - }, 4918 - [TYPE_PCIE] = { 4919 - [NO_SSC] = &usb_pcie_xcvr_diag_ln_vals, 4920 - [EXTERNAL_SSC] = &usb_pcie_xcvr_diag_ln_vals, 4921 - [INTERNAL_SSC] = &usb_pcie_xcvr_diag_ln_vals, 4922 - }, 4923 - [TYPE_SGMII] = { 4924 - [NO_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4925 - [EXTERNAL_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4926 - [INTERNAL_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4927 - }, 4928 - [TYPE_QSGMII] = { 4929 - [NO_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4930 - [EXTERNAL_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4931 - [INTERNAL_SSC] = &usb_sgmii_xcvr_diag_ln_vals, 4932 - }, 4933 - [TYPE_DP] = { 4934 - [NO_SSC] = &usb_dp_xcvr_diag_ln_vals, 4935 - }, 4936 - }, 4937 - [TYPE_USXGMII] = { 4938 - [TYPE_NONE] = { 4939 - [NO_SSC] = &sl_usxgmii_xcvr_diag_ln_vals, 4940 - }, 4941 - }, 4456 + .xcvr_diag_vals_tbl = { 4457 + .entries = xcvr_diag_vals_entries, 4458 + .num_entries = ARRAY_SIZE(xcvr_diag_vals_entries), 4942 4459 }, 4943 - .pcs_cmn_vals = { 4944 - [TYPE_USB] = { 4945 - [TYPE_NONE] = { 4946 - [NO_SSC] = &usb_phy_pcs_cmn_vals, 4947 - [EXTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4948 - [INTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4949 - }, 4950 - [TYPE_PCIE] = { 4951 - [NO_SSC] = &usb_phy_pcs_cmn_vals, 4952 - [EXTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4953 - [INTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4954 - }, 4955 - [TYPE_SGMII] = { 4956 - [NO_SSC] = &usb_phy_pcs_cmn_vals, 4957 - [EXTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4958 - [INTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4959 - }, 4960 - [TYPE_QSGMII] = { 4961 - [NO_SSC] = &usb_phy_pcs_cmn_vals, 4962 - [EXTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4963 - [INTERNAL_SSC] = &usb_phy_pcs_cmn_vals, 4964 - }, 4965 - [TYPE_DP] = { 4966 - [NO_SSC] = &usb_phy_pcs_cmn_vals, 4967 - }, 4968 - }, 4460 + .pcs_cmn_vals_tbl = { 4461 + .entries = pcs_cmn_vals_entries, 4462 + .num_entries = ARRAY_SIZE(pcs_cmn_vals_entries), 4969 4463 }, 4970 - .phy_pma_cmn_vals = { 4971 - [TYPE_USXGMII] = { 4972 - [TYPE_NONE] = { 4973 - [NO_SSC] = &ti_usxgmii_phy_pma_cmn_vals, 4974 - }, 4975 - }, 4464 + .phy_pma_cmn_vals_tbl = { 4465 + .entries = j721e_phy_pma_cmn_vals_entries, 4466 + .num_entries = ARRAY_SIZE(j721e_phy_pma_cmn_vals_entries), 4976 4467 }, 4977 - .cmn_vals = { 4978 - [CLK_19_2_MHZ] = { 4979 - [TYPE_DP] = { 4980 - [TYPE_NONE] = { 4981 - [NO_SSC] = &sl_dp_19_2_no_ssc_cmn_vals, 4982 - }, 4983 - }, 4984 - }, 4985 - [CLK_25_MHZ] = { 4986 - [TYPE_DP] = { 4987 - [TYPE_NONE] = { 4988 - [NO_SSC] = &sl_dp_25_no_ssc_cmn_vals, 4989 - }, 4990 - }, 4991 - }, 4992 - [CLK_100_MHZ] = { 4993 - [TYPE_DP] = { 4994 - [TYPE_NONE] = { 4995 - [NO_SSC] = &sl_dp_100_no_ssc_cmn_vals, 4996 - }, 4997 - [TYPE_PCIE] = { 4998 - [NO_SSC] = &dp_100_no_ssc_cmn_vals, 4999 - }, 5000 - [TYPE_USB] = { 5001 - [NO_SSC] = &sl_dp_100_no_ssc_cmn_vals, 5002 - }, 5003 - }, 5004 - [TYPE_PCIE] = { 5005 - [TYPE_NONE] = { 5006 - [NO_SSC] = NULL, 5007 - [EXTERNAL_SSC] = NULL, 5008 - [INTERNAL_SSC] = &sl_pcie_100_int_ssc_cmn_vals, 5009 - }, 5010 - [TYPE_SGMII] = { 5011 - [NO_SSC] = &pcie_100_no_ssc_cmn_vals, 5012 - [EXTERNAL_SSC] = &pcie_100_no_ssc_cmn_vals, 5013 - [INTERNAL_SSC] = &pcie_100_int_ssc_cmn_vals, 5014 - }, 5015 - [TYPE_QSGMII] = { 5016 - [NO_SSC] = &pcie_100_no_ssc_cmn_vals, 5017 - [EXTERNAL_SSC] = &pcie_100_no_ssc_cmn_vals, 5018 - [INTERNAL_SSC] = &pcie_100_int_ssc_cmn_vals, 5019 - }, 5020 - [TYPE_USB] = { 5021 - [NO_SSC] = &pcie_100_no_ssc_cmn_vals, 5022 - [EXTERNAL_SSC] = &pcie_100_no_ssc_cmn_vals, 5023 - [INTERNAL_SSC] = &pcie_100_int_ssc_cmn_vals, 5024 - }, 5025 - [TYPE_DP] = { 5026 - [NO_SSC] = NULL, 5027 - }, 5028 - }, 5029 - [TYPE_SGMII] = { 5030 - [TYPE_NONE] = { 5031 - [NO_SSC] = &sl_sgmii_100_no_ssc_cmn_vals, 5032 - }, 5033 - [TYPE_PCIE] = { 5034 - [NO_SSC] = &sgmii_100_no_ssc_cmn_vals, 5035 - [EXTERNAL_SSC] = &sgmii_100_no_ssc_cmn_vals, 5036 - [INTERNAL_SSC] = &sgmii_100_int_ssc_cmn_vals, 5037 - }, 5038 - [TYPE_USB] = { 5039 - [NO_SSC] = &sgmii_100_no_ssc_cmn_vals, 5040 - [EXTERNAL_SSC] = &sgmii_100_no_ssc_cmn_vals, 5041 - [INTERNAL_SSC] = &sgmii_100_no_ssc_cmn_vals, 5042 - }, 5043 - }, 5044 - [TYPE_QSGMII] = { 5045 - [TYPE_NONE] = { 5046 - [NO_SSC] = &sl_qsgmii_100_no_ssc_cmn_vals, 5047 - }, 5048 - [TYPE_PCIE] = { 5049 - [NO_SSC] = &qsgmii_100_no_ssc_cmn_vals, 5050 - [EXTERNAL_SSC] = &qsgmii_100_no_ssc_cmn_vals, 5051 - [INTERNAL_SSC] = &qsgmii_100_int_ssc_cmn_vals, 5052 - }, 5053 - [TYPE_USB] = { 5054 - [NO_SSC] = &qsgmii_100_no_ssc_cmn_vals, 5055 - [EXTERNAL_SSC] = &qsgmii_100_no_ssc_cmn_vals, 5056 - [INTERNAL_SSC] = &qsgmii_100_no_ssc_cmn_vals, 5057 - }, 5058 - }, 5059 - [TYPE_USB] = { 5060 - [TYPE_NONE] = { 5061 - [NO_SSC] = &sl_usb_100_no_ssc_cmn_vals, 5062 - [EXTERNAL_SSC] = &sl_usb_100_no_ssc_cmn_vals, 5063 - [INTERNAL_SSC] = &sl_usb_100_int_ssc_cmn_vals, 5064 - }, 5065 - [TYPE_PCIE] = { 5066 - [NO_SSC] = &usb_100_no_ssc_cmn_vals, 5067 - [EXTERNAL_SSC] = &usb_100_no_ssc_cmn_vals, 5068 - [INTERNAL_SSC] = &usb_100_int_ssc_cmn_vals, 5069 - }, 5070 - [TYPE_SGMII] = { 5071 - [NO_SSC] = &sl_usb_100_no_ssc_cmn_vals, 5072 - [EXTERNAL_SSC] = &sl_usb_100_no_ssc_cmn_vals, 5073 - [INTERNAL_SSC] = &sl_usb_100_int_ssc_cmn_vals, 5074 - }, 5075 - [TYPE_QSGMII] = { 5076 - [NO_SSC] = &sl_usb_100_no_ssc_cmn_vals, 5077 - [EXTERNAL_SSC] = &sl_usb_100_no_ssc_cmn_vals, 5078 - [INTERNAL_SSC] = &sl_usb_100_int_ssc_cmn_vals, 5079 - }, 5080 - [TYPE_DP] = { 5081 - [NO_SSC] = &usb_100_no_ssc_cmn_vals, 5082 - }, 5083 - }, 5084 - }, 5085 - [CLK_156_25_MHZ] = { 5086 - [TYPE_USXGMII] = { 5087 - [TYPE_NONE] = { 5088 - [NO_SSC] = &sl_usxgmii_156_25_no_ssc_cmn_vals, 5089 - }, 5090 - }, 5091 - }, 4468 + .cmn_vals_tbl = { 4469 + .entries = cmn_vals_entries, 4470 + .num_entries = ARRAY_SIZE(cmn_vals_entries), 5092 4471 }, 5093 - .tx_ln_vals = { 5094 - [CLK_19_2_MHZ] = { 5095 - [TYPE_DP] = { 5096 - [TYPE_NONE] = { 5097 - [NO_SSC] = &sl_dp_19_2_no_ssc_tx_ln_vals, 5098 - }, 5099 - }, 5100 - }, 5101 - [CLK_25_MHZ] = { 5102 - [TYPE_DP] = { 5103 - [TYPE_NONE] = { 5104 - [NO_SSC] = &sl_dp_25_no_ssc_tx_ln_vals, 5105 - }, 5106 - }, 5107 - }, 5108 - [CLK_100_MHZ] = { 5109 - [TYPE_DP] = { 5110 - [TYPE_NONE] = { 5111 - [NO_SSC] = &sl_dp_100_no_ssc_tx_ln_vals, 5112 - }, 5113 - [TYPE_PCIE] = { 5114 - [NO_SSC] = &dp_100_no_ssc_tx_ln_vals, 5115 - }, 5116 - [TYPE_USB] = { 5117 - [NO_SSC] = &dp_100_no_ssc_tx_ln_vals, 5118 - }, 5119 - }, 5120 - [TYPE_PCIE] = { 5121 - [TYPE_NONE] = { 5122 - [NO_SSC] = NULL, 5123 - [EXTERNAL_SSC] = NULL, 5124 - [INTERNAL_SSC] = NULL, 5125 - }, 5126 - [TYPE_SGMII] = { 5127 - [NO_SSC] = NULL, 5128 - [EXTERNAL_SSC] = NULL, 5129 - [INTERNAL_SSC] = NULL, 5130 - }, 5131 - [TYPE_QSGMII] = { 5132 - [NO_SSC] = NULL, 5133 - [EXTERNAL_SSC] = NULL, 5134 - [INTERNAL_SSC] = NULL, 5135 - }, 5136 - [TYPE_USB] = { 5137 - [NO_SSC] = NULL, 5138 - [EXTERNAL_SSC] = NULL, 5139 - [INTERNAL_SSC] = NULL, 5140 - }, 5141 - [TYPE_DP] = { 5142 - [NO_SSC] = NULL, 5143 - }, 5144 - }, 5145 - [TYPE_SGMII] = { 5146 - [TYPE_NONE] = { 5147 - [NO_SSC] = &ti_sgmii_100_no_ssc_tx_ln_vals, 5148 - }, 5149 - [TYPE_PCIE] = { 5150 - [NO_SSC] = &ti_sgmii_100_no_ssc_tx_ln_vals, 5151 - [EXTERNAL_SSC] = &ti_sgmii_100_no_ssc_tx_ln_vals, 5152 - [INTERNAL_SSC] = &ti_sgmii_100_no_ssc_tx_ln_vals, 5153 - }, 5154 - [TYPE_USB] = { 5155 - [NO_SSC] = &ti_sgmii_100_no_ssc_tx_ln_vals, 5156 - [EXTERNAL_SSC] = &ti_sgmii_100_no_ssc_tx_ln_vals, 5157 - [INTERNAL_SSC] = &ti_sgmii_100_no_ssc_tx_ln_vals, 5158 - }, 5159 - }, 5160 - [TYPE_QSGMII] = { 5161 - [TYPE_NONE] = { 5162 - [NO_SSC] = &ti_qsgmii_100_no_ssc_tx_ln_vals, 5163 - }, 5164 - [TYPE_PCIE] = { 5165 - [NO_SSC] = &ti_qsgmii_100_no_ssc_tx_ln_vals, 5166 - [EXTERNAL_SSC] = &ti_qsgmii_100_no_ssc_tx_ln_vals, 5167 - [INTERNAL_SSC] = &ti_qsgmii_100_no_ssc_tx_ln_vals, 5168 - }, 5169 - [TYPE_USB] = { 5170 - [NO_SSC] = &ti_qsgmii_100_no_ssc_tx_ln_vals, 5171 - [EXTERNAL_SSC] = &ti_qsgmii_100_no_ssc_tx_ln_vals, 5172 - [INTERNAL_SSC] = &ti_qsgmii_100_no_ssc_tx_ln_vals, 5173 - }, 5174 - }, 5175 - [TYPE_USB] = { 5176 - [TYPE_NONE] = { 5177 - [NO_SSC] = &usb_100_no_ssc_tx_ln_vals, 5178 - [EXTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 5179 - [INTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 5180 - }, 5181 - [TYPE_PCIE] = { 5182 - [NO_SSC] = &usb_100_no_ssc_tx_ln_vals, 5183 - [EXTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 5184 - [INTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 5185 - }, 5186 - [TYPE_SGMII] = { 5187 - [NO_SSC] = &usb_100_no_ssc_tx_ln_vals, 5188 - [EXTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 5189 - [INTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 5190 - }, 5191 - [TYPE_QSGMII] = { 5192 - [NO_SSC] = &usb_100_no_ssc_tx_ln_vals, 5193 - [EXTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 5194 - [INTERNAL_SSC] = &usb_100_no_ssc_tx_ln_vals, 5195 - }, 5196 - [TYPE_DP] = { 5197 - [NO_SSC] = &usb_100_no_ssc_tx_ln_vals, 5198 - }, 5199 - }, 5200 - }, 5201 - [CLK_156_25_MHZ] = { 5202 - [TYPE_USXGMII] = { 5203 - [TYPE_NONE] = { 5204 - [NO_SSC] = &usxgmii_156_25_no_ssc_tx_ln_vals, 5205 - }, 5206 - }, 5207 - }, 4472 + .tx_ln_vals_tbl = { 4473 + .entries = ti_tx_ln_vals_entries, 4474 + .num_entries = ARRAY_SIZE(ti_tx_ln_vals_entries), 5208 4475 }, 5209 - .rx_ln_vals = { 5210 - [CLK_19_2_MHZ] = { 5211 - [TYPE_DP] = { 5212 - [TYPE_NONE] = { 5213 - [NO_SSC] = &sl_dp_19_2_no_ssc_rx_ln_vals, 5214 - }, 5215 - }, 5216 - }, 5217 - [CLK_25_MHZ] = { 5218 - [TYPE_DP] = { 5219 - [TYPE_NONE] = { 5220 - [NO_SSC] = &sl_dp_25_no_ssc_rx_ln_vals, 5221 - }, 5222 - }, 5223 - }, 5224 - [CLK_100_MHZ] = { 5225 - [TYPE_DP] = { 5226 - [TYPE_NONE] = { 5227 - [NO_SSC] = &sl_dp_100_no_ssc_rx_ln_vals, 5228 - }, 5229 - [TYPE_PCIE] = { 5230 - [NO_SSC] = &dp_100_no_ssc_rx_ln_vals, 5231 - }, 5232 - [TYPE_USB] = { 5233 - [NO_SSC] = &dp_100_no_ssc_rx_ln_vals, 5234 - }, 5235 - }, 5236 - [TYPE_PCIE] = { 5237 - [TYPE_NONE] = { 5238 - [NO_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5239 - [EXTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5240 - [INTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5241 - }, 5242 - [TYPE_SGMII] = { 5243 - [NO_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5244 - [EXTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5245 - [INTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5246 - }, 5247 - [TYPE_QSGMII] = { 5248 - [NO_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5249 - [EXTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5250 - [INTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5251 - }, 5252 - [TYPE_USB] = { 5253 - [NO_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5254 - [EXTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5255 - [INTERNAL_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5256 - }, 5257 - [TYPE_DP] = { 5258 - [NO_SSC] = &pcie_100_no_ssc_rx_ln_vals, 5259 - }, 5260 - }, 5261 - [TYPE_SGMII] = { 5262 - [TYPE_NONE] = { 5263 - [NO_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 5264 - }, 5265 - [TYPE_PCIE] = { 5266 - [NO_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 5267 - [EXTERNAL_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 5268 - [INTERNAL_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 5269 - }, 5270 - [TYPE_USB] = { 5271 - [NO_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 5272 - [EXTERNAL_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 5273 - [INTERNAL_SSC] = &sgmii_100_no_ssc_rx_ln_vals, 5274 - }, 5275 - }, 5276 - [TYPE_QSGMII] = { 5277 - [TYPE_NONE] = { 5278 - [NO_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 5279 - }, 5280 - [TYPE_PCIE] = { 5281 - [NO_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 5282 - [EXTERNAL_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 5283 - [INTERNAL_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 5284 - }, 5285 - [TYPE_USB] = { 5286 - [NO_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 5287 - [EXTERNAL_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 5288 - [INTERNAL_SSC] = &qsgmii_100_no_ssc_rx_ln_vals, 5289 - }, 5290 - }, 5291 - [TYPE_USB] = { 5292 - [TYPE_NONE] = { 5293 - [NO_SSC] = &usb_100_no_ssc_rx_ln_vals, 5294 - [EXTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 5295 - [INTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 5296 - }, 5297 - [TYPE_PCIE] = { 5298 - [NO_SSC] = &usb_100_no_ssc_rx_ln_vals, 5299 - [EXTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 5300 - [INTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 5301 - }, 5302 - [TYPE_SGMII] = { 5303 - [NO_SSC] = &usb_100_no_ssc_rx_ln_vals, 5304 - [EXTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 5305 - [INTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 5306 - }, 5307 - [TYPE_QSGMII] = { 5308 - [NO_SSC] = &usb_100_no_ssc_rx_ln_vals, 5309 - [EXTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 5310 - [INTERNAL_SSC] = &usb_100_no_ssc_rx_ln_vals, 5311 - }, 5312 - [TYPE_DP] = { 5313 - [NO_SSC] = &usb_100_no_ssc_rx_ln_vals, 5314 - }, 5315 - }, 5316 - }, 5317 - [CLK_156_25_MHZ] = { 5318 - [TYPE_USXGMII] = { 5319 - [TYPE_NONE] = { 5320 - [NO_SSC] = &usxgmii_156_25_no_ssc_rx_ln_vals, 5321 - }, 5322 - }, 5323 - }, 4476 + .rx_ln_vals_tbl = { 4477 + .entries = cdns_rx_ln_vals_entries, 4478 + .num_entries = ARRAY_SIZE(cdns_rx_ln_vals_entries), 5324 4479 }, 5325 4480 }; 5326 4481