1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (C) 2018-2021, Intel Corporation. */ 3 4 #ifndef _ICE_PTP_CONSTS_H_ 5 #define _ICE_PTP_CONSTS_H_ 6 7 /* Constant definitions related to the hardware clock used for PTP 1588 8 * features and functionality. 9 */ 10 /* Constants defined for the PTP 1588 clock hardware. */ 11 12 const struct ice_phy_reg_info_eth56g eth56g_phy_res[NUM_ETH56G_PHY_RES] = { 13 /* ETH56G_PHY_REG_PTP */ 14 { 15 /* base_addr */ 16 { 17 0x092000, 18 0x126000, 19 0x1BA000, 20 0x24E000, 21 0x2E2000, 22 }, 23 /* step */ 24 0x98, 25 }, 26 /* ETH56G_PHY_MEM_PTP */ 27 { 28 /* base_addr */ 29 { 30 0x093000, 31 0x127000, 32 0x1BB000, 33 0x24F000, 34 0x2E3000, 35 }, 36 /* step */ 37 0x200, 38 }, 39 /* ETH56G_PHY_REG_XPCS */ 40 { 41 /* base_addr */ 42 { 43 0x000000, 44 0x009400, 45 0x128000, 46 0x1BC000, 47 0x250000, 48 }, 49 /* step */ 50 0x21000, 51 }, 52 /* ETH56G_PHY_REG_MAC */ 53 { 54 /* base_addr */ 55 { 56 0x085000, 57 0x119000, 58 0x1AD000, 59 0x241000, 60 0x2D5000, 61 }, 62 /* step */ 63 0x1000, 64 }, 65 /* ETH56G_PHY_REG_GPCS */ 66 { 67 /* base_addr */ 68 { 69 0x084000, 70 0x118000, 71 0x1AC000, 72 0x240000, 73 0x2D4000, 74 }, 75 /* step */ 76 0x400, 77 }, 78 }; 79 80 const 81 struct ice_eth56g_mac_reg_cfg eth56g_mac_cfg[NUM_ICE_ETH56G_LNK_SPD] = { 82 [ICE_ETH56G_LNK_SPD_1G] = { 83 .tx_mode = { .def = 6, }, 84 .rx_mode = { .def = 6, }, 85 .blks_per_clk = 1, 86 .blktime = 0x4000, /* 32 */ 87 .tx_offset = { 88 .serdes = 0x6666, /* 51.2 */ 89 .no_fec = 0xd066, /* 104.2 */ 90 .sfd = 0x3000, /* 24 */ 91 .onestep = 0x30000 /* 384 */ 92 }, 93 .rx_offset = { 94 .serdes = 0xffffc59a, /* -29.2 */ 95 .no_fec = 0xffff0a80, /* -122.75 */ 96 .sfd = 0x2c00, /* 22 */ 97 .bs_ds = 0x19a /* 0.8 */ 98 /* Dynamic bitslip 0 equals to 10 */ 99 } 100 }, 101 [ICE_ETH56G_LNK_SPD_2_5G] = { 102 .tx_mode = { .def = 6, }, 103 .rx_mode = { .def = 6, }, 104 .blks_per_clk = 1, 105 .blktime = 0x199a, /* 12.8 */ 106 .tx_offset = { 107 .serdes = 0x28f6, /* 20.48 */ 108 .no_fec = 0x53b8, /* 41.86 */ 109 .sfd = 0x1333, /* 9.6 */ 110 .onestep = 0x13333 /* 153.6 */ 111 }, 112 .rx_offset = { 113 .serdes = 0xffffe8a4, /* -11.68 */ 114 .no_fec = 0xffff9a76, /* -50.77 */ 115 .sfd = 0xf33, /* 7.6 */ 116 .bs_ds = 0xa4 /* 0.32 */ 117 } 118 }, 119 [ICE_ETH56G_LNK_SPD_10G] = { 120 .tx_mode = { .def = 1, }, 121 .rx_mode = { .def = 1, }, 122 .blks_per_clk = 1, 123 .blktime = 0x666, /* 3.2 */ 124 .tx_offset = { 125 .serdes = 0x234c, /* 17.6484848 */ 126 .no_fec = 0x8e80, /* 71.25 */ 127 .fc = 0xb4a4, /* 90.32 */ 128 .sfd = 0x4a4, /* 2.32 */ 129 .onestep = 0x4ccd /* 38.4 */ 130 }, 131 .rx_offset = { 132 .serdes = 0xffffeb27, /* -10.42424 */ 133 .no_fec = 0xffffcccd, /* -25.6 */ 134 .fc = 0xfffc557b, /* -469.26 */ 135 .sfd = 0x4a4, /* 2.32 */ 136 .bs_ds = 0x32 /* 0.0969697 */ 137 } 138 }, 139 [ICE_ETH56G_LNK_SPD_25G] = { 140 .tx_mode = { 141 .def = 1, 142 .rs = 4 143 }, 144 .tx_mk_dly = 4, 145 .tx_cw_dly = { 146 .def = 1, 147 .onestep = 6 148 }, 149 .rx_mode = { 150 .def = 1, 151 .rs = 4 152 }, 153 .rx_mk_dly = { 154 .def = 1, 155 .rs = 1 156 }, 157 .rx_cw_dly = { 158 .def = 1, 159 .rs = 1 160 }, 161 .blks_per_clk = 1, 162 .blktime = 0x28f, /* 1.28 */ 163 .mktime = 0x147b, /* 10.24, only if RS-FEC enabled */ 164 .tx_offset = { 165 .serdes = 0xe1e, /* 7.0593939 */ 166 .no_fec = 0x3857, /* 28.17 */ 167 .fc = 0x48c3, /* 36.38 */ 168 .rs = 0x8100, /* 64.5 */ 169 .sfd = 0x1dc, /* 0.93 */ 170 .onestep = 0x1eb8 /* 15.36 */ 171 }, 172 .rx_offset = { 173 .serdes = 0xfffff7a9, /* -4.1697 */ 174 .no_fec = 0xffffe71a, /* -12.45 */ 175 .fc = 0xfffe894d, /* -187.35 */ 176 .rs = 0xfffff8cd, /* -3.6 */ 177 .sfd = 0x1dc, /* 0.93 */ 178 .bs_ds = 0x14 /* 0.0387879, RS-FEC 0 */ 179 } 180 }, 181 [ICE_ETH56G_LNK_SPD_40G] = { 182 .tx_mode = { .def = 3 }, 183 .tx_mk_dly = 4, 184 .tx_cw_dly = { 185 .def = 1, 186 .onestep = 6 187 }, 188 .rx_mode = { .def = 4 }, 189 .rx_mk_dly = { .def = 1 }, 190 .rx_cw_dly = { .def = 1 }, 191 .blktime = 0x333, /* 1.6 */ 192 .mktime = 0xccd, /* 6.4 */ 193 .tx_offset = { 194 .serdes = 0x234c, /* 17.6484848 */ 195 .no_fec = 0x5a8a, /* 45.27 */ 196 .fc = 0x81b8, /* 64.86 */ 197 .sfd = 0x4a4, /* 2.32 */ 198 .onestep = 0x1333 /* 9.6 */ 199 }, 200 .rx_offset = { 201 .serdes = 0xffffeb27, /* -10.42424 */ 202 .no_fec = 0xfffff594, /* -5.21 */ 203 .fc = 0xfffe3080, /* -231.75 */ 204 .sfd = 0x4a4, /* 2.32 */ 205 .bs_ds = 0xccd /* 6.4 */ 206 } 207 }, 208 [ICE_ETH56G_LNK_SPD_50G] = { 209 .tx_mode = { .def = 5 }, 210 .tx_mk_dly = 4, 211 .tx_cw_dly = { 212 .def = 1, 213 .onestep = 6 214 }, 215 .rx_mode = { .def = 5 }, 216 .rx_mk_dly = { .def = 1 }, 217 .rx_cw_dly = { .def = 1 }, 218 .blktime = 0x28f, /* 1.28 */ 219 .mktime = 0xa3d, /* 5.12 */ 220 .tx_offset = { 221 .serdes = 0x13ba, /* 9.86353 */ 222 .rs = 0x5400, /* 42 */ 223 .sfd = 0xe6, /* 0.45 */ 224 .onestep = 0xf5c /* 7.68 */ 225 }, 226 .rx_offset = { 227 .serdes = 0xfffff7e8, /* -4.04706 */ 228 .rs = 0xfffff994, /* -3.21 */ 229 .sfd = 0xe6 /* 0.45 */ 230 } 231 }, 232 [ICE_ETH56G_LNK_SPD_50G2] = { 233 .tx_mode = { 234 .def = 3, 235 .rs = 2 236 }, 237 .tx_mk_dly = 4, 238 .tx_cw_dly = { 239 .def = 1, 240 .onestep = 6 241 }, 242 .rx_mode = { 243 .def = 4, 244 .rs = 1 245 }, 246 .rx_mk_dly = { .def = 1 }, 247 .rx_cw_dly = { .def = 1 }, 248 .blktime = 0x28f, /* 1.28 */ 249 .mktime = 0xa3d, /* 5.12 */ 250 .tx_offset = { 251 .serdes = 0xe1e, /* 7.0593939 */ 252 .no_fec = 0x3d33, /* 30.6 */ 253 .rs = 0x5057, /* 40.17 */ 254 .sfd = 0x1dc, /* 0.93 */ 255 .onestep = 0xf5c /* 7.68 */ 256 }, 257 .rx_offset = { 258 .serdes = 0xfffff7a9, /* -4.1697 */ 259 .no_fec = 0xfffff8cd, /* -3.6 */ 260 .rs = 0xfffff21a, /* -6.95 */ 261 .sfd = 0x1dc, /* 0.93 */ 262 .bs_ds = 0xa3d /* 5.12, RS-FEC 0x633 (3.1) */ 263 } 264 }, 265 [ICE_ETH56G_LNK_SPD_100G] = { 266 .tx_mode = { 267 .def = 3, 268 .rs = 2 269 }, 270 .tx_mk_dly = 10, 271 .tx_cw_dly = { 272 .def = 3, 273 .onestep = 6 274 }, 275 .rx_mode = { 276 .def = 4, 277 .rs = 1 278 }, 279 .rx_mk_dly = { .def = 5 }, 280 .rx_cw_dly = { .def = 5 }, 281 .blks_per_clk = 1, 282 .blktime = 0x148, /* 0.64 */ 283 .mktime = 0x199a, /* 12.8 */ 284 .tx_offset = { 285 .serdes = 0xe1e, /* 7.0593939 */ 286 .no_fec = 0x67ec, /* 51.96 */ 287 .rs = 0x44fb, /* 34.49 */ 288 .sfd = 0x1dc, /* 0.93 */ 289 .onestep = 0xf5c /* 7.68 */ 290 }, 291 .rx_offset = { 292 .serdes = 0xfffff7a9, /* -4.1697 */ 293 .no_fec = 0xfffff5a9, /* -5.17 */ 294 .rs = 0xfffff6e6, /* -4.55 */ 295 .sfd = 0x1dc, /* 0.93 */ 296 .bs_ds = 0x199a /* 12.8, RS-FEC 0x31b (1.552) */ 297 } 298 }, 299 [ICE_ETH56G_LNK_SPD_100G2] = { 300 .tx_mode = { .def = 5 }, 301 .tx_mk_dly = 10, 302 .tx_cw_dly = { 303 .def = 3, 304 .onestep = 6 305 }, 306 .rx_mode = { .def = 5 }, 307 .rx_mk_dly = { .def = 5 }, 308 .rx_cw_dly = { .def = 5 }, 309 .blks_per_clk = 1, 310 .blktime = 0x148, /* 0.64 */ 311 .mktime = 0x199a, /* 12.8 */ 312 .tx_offset = { 313 .serdes = 0x13ba, /* 9.86353 */ 314 .rs = 0x460a, /* 35.02 */ 315 .sfd = 0xe6, /* 0.45 */ 316 .onestep = 0xf5c /* 7.68 */ 317 }, 318 .rx_offset = { 319 .serdes = 0xfffff7e8, /* -4.04706 */ 320 .rs = 0xfffff548, /* -5.36 */ 321 .sfd = 0xe6, /* 0.45 */ 322 .bs_ds = 0x303 /* 1.506 */ 323 } 324 } 325 }; 326 327 /* struct ice_time_ref_info_e82x 328 * 329 * E822 hardware can use different sources as the reference for the PTP 330 * hardware clock. Each clock has different characteristics such as a slightly 331 * different frequency, etc. 332 * 333 * This lookup table defines several constants that depend on the current time 334 * reference. See the struct ice_time_ref_info_e82x for information about the 335 * meaning of each constant. 336 */ 337 const struct ice_time_ref_info_e82x e82x_time_ref[NUM_ICE_TIME_REF_FREQ] = { 338 /* ICE_TIME_REF_FREQ_25_000 -> 25 MHz */ 339 { 340 /* pll_freq */ 341 823437500, /* 823.4375 MHz PLL */ 342 /* nominal_incval */ 343 0x136e44fabULL, 344 }, 345 346 /* ICE_TIME_REF_FREQ_122_880 -> 122.88 MHz */ 347 { 348 /* pll_freq */ 349 783360000, /* 783.36 MHz */ 350 /* nominal_incval */ 351 0x146cc2177ULL, 352 }, 353 354 /* ICE_TIME_REF_FREQ_125_000 -> 125 MHz */ 355 { 356 /* pll_freq */ 357 796875000, /* 796.875 MHz */ 358 /* nominal_incval */ 359 0x141414141ULL, 360 }, 361 362 /* ICE_TIME_REF_FREQ_153_600 -> 153.6 MHz */ 363 { 364 /* pll_freq */ 365 816000000, /* 816 MHz */ 366 /* nominal_incval */ 367 0x139b9b9baULL, 368 }, 369 370 /* ICE_TIME_REF_FREQ_156_250 -> 156.25 MHz */ 371 { 372 /* pll_freq */ 373 830078125, /* 830.78125 MHz */ 374 /* nominal_incval */ 375 0x134679aceULL, 376 }, 377 378 /* ICE_TIME_REF_FREQ_245_760 -> 245.76 MHz */ 379 { 380 /* pll_freq */ 381 783360000, /* 783.36 MHz */ 382 /* nominal_incval */ 383 0x146cc2177ULL, 384 }, 385 }; 386 387 const struct ice_cgu_pll_params_e82x e822_cgu_params[NUM_ICE_TIME_REF_FREQ] = { 388 /* ICE_TIME_REF_FREQ_25_000 -> 25 MHz */ 389 { 390 /* refclk_pre_div */ 391 1, 392 /* feedback_div */ 393 197, 394 /* frac_n_div */ 395 2621440, 396 /* post_pll_div */ 397 6, 398 }, 399 400 /* ICE_TIME_REF_FREQ_122_880 -> 122.88 MHz */ 401 { 402 /* refclk_pre_div */ 403 5, 404 /* feedback_div */ 405 223, 406 /* frac_n_div */ 407 524288, 408 /* post_pll_div */ 409 7, 410 }, 411 412 /* ICE_TIME_REF_FREQ_125_000 -> 125 MHz */ 413 { 414 /* refclk_pre_div */ 415 5, 416 /* feedback_div */ 417 223, 418 /* frac_n_div */ 419 524288, 420 /* post_pll_div */ 421 7, 422 }, 423 424 /* ICE_TIME_REF_FREQ_153_600 -> 153.6 MHz */ 425 { 426 /* refclk_pre_div */ 427 5, 428 /* feedback_div */ 429 159, 430 /* frac_n_div */ 431 1572864, 432 /* post_pll_div */ 433 6, 434 }, 435 436 /* ICE_TIME_REF_FREQ_156_250 -> 156.25 MHz */ 437 { 438 /* refclk_pre_div */ 439 5, 440 /* feedback_div */ 441 159, 442 /* frac_n_div */ 443 1572864, 444 /* post_pll_div */ 445 6, 446 }, 447 448 /* ICE_TIME_REF_FREQ_245_760 -> 245.76 MHz */ 449 { 450 /* refclk_pre_div */ 451 10, 452 /* feedback_div */ 453 223, 454 /* frac_n_div */ 455 524288, 456 /* post_pll_div */ 457 7, 458 }, 459 }; 460 461 const 462 struct ice_cgu_pll_params_e825c e825c_cgu_params[NUM_ICE_TIME_REF_FREQ] = { 463 /* ICE_TIME_REF_FREQ_25_000 -> 25 MHz */ 464 { 465 /* tspll_ck_refclkfreq */ 466 0x19, 467 /* tspll_ndivratio */ 468 1, 469 /* tspll_fbdiv_intgr */ 470 320, 471 /* tspll_fbdiv_frac */ 472 0, 473 /* ref1588_ck_div */ 474 0, 475 }, 476 477 /* ICE_TIME_REF_FREQ_122_880 -> 122.88 MHz */ 478 { 479 /* tspll_ck_refclkfreq */ 480 0x29, 481 /* tspll_ndivratio */ 482 3, 483 /* tspll_fbdiv_intgr */ 484 195, 485 /* tspll_fbdiv_frac */ 486 1342177280UL, 487 /* ref1588_ck_div */ 488 0, 489 }, 490 491 /* ICE_TIME_REF_FREQ_125_000 -> 125 MHz */ 492 { 493 /* tspll_ck_refclkfreq */ 494 0x3E, 495 /* tspll_ndivratio */ 496 2, 497 /* tspll_fbdiv_intgr */ 498 128, 499 /* tspll_fbdiv_frac */ 500 0, 501 /* ref1588_ck_div */ 502 0, 503 }, 504 505 /* ICE_TIME_REF_FREQ_153_600 -> 153.6 MHz */ 506 { 507 /* tspll_ck_refclkfreq */ 508 0x33, 509 /* tspll_ndivratio */ 510 3, 511 /* tspll_fbdiv_intgr */ 512 156, 513 /* tspll_fbdiv_frac */ 514 1073741824UL, 515 /* ref1588_ck_div */ 516 0, 517 }, 518 519 /* ICE_TIME_REF_FREQ_156_250 -> 156.25 MHz */ 520 { 521 /* tspll_ck_refclkfreq */ 522 0x1F, 523 /* tspll_ndivratio */ 524 5, 525 /* tspll_fbdiv_intgr */ 526 256, 527 /* tspll_fbdiv_frac */ 528 0, 529 /* ref1588_ck_div */ 530 0, 531 }, 532 533 /* ICE_TIME_REF_FREQ_245_760 -> 245.76 MHz */ 534 { 535 /* tspll_ck_refclkfreq */ 536 0x52, 537 /* tspll_ndivratio */ 538 3, 539 /* tspll_fbdiv_intgr */ 540 97, 541 /* tspll_fbdiv_frac */ 542 2818572288UL, 543 /* ref1588_ck_div */ 544 0, 545 }, 546 }; 547 548 /* struct ice_vernier_info_e82x 549 * 550 * E822 hardware calibrates the delay of the timestamp indication from the 551 * actual packet transmission or reception during the initialization of the 552 * PHY. To do this, the hardware mechanism uses some conversions between the 553 * various clocks within the PHY block. This table defines constants used to 554 * calculate the correct conversion ratios in the PHY registers. 555 * 556 * Many of the values relate to the PAR/PCS clock conversion registers. For 557 * these registers, a value of 0 means that the associated register is not 558 * used by this link speed, and that the register should be cleared by writing 559 * 0. Other values specify the clock frequency in Hz. 560 */ 561 const struct ice_vernier_info_e82x e822_vernier[NUM_ICE_PTP_LNK_SPD] = { 562 /* ICE_PTP_LNK_SPD_1G */ 563 { 564 /* tx_par_clk */ 565 31250000, /* 31.25 MHz */ 566 /* rx_par_clk */ 567 31250000, /* 31.25 MHz */ 568 /* tx_pcs_clk */ 569 125000000, /* 125 MHz */ 570 /* rx_pcs_clk */ 571 125000000, /* 125 MHz */ 572 /* tx_desk_rsgb_par */ 573 0, /* unused */ 574 /* rx_desk_rsgb_par */ 575 0, /* unused */ 576 /* tx_desk_rsgb_pcs */ 577 0, /* unused */ 578 /* rx_desk_rsgb_pcs */ 579 0, /* unused */ 580 /* tx_fixed_delay */ 581 25140, 582 /* pmd_adj_divisor */ 583 10000000, 584 /* rx_fixed_delay */ 585 17372, 586 }, 587 /* ICE_PTP_LNK_SPD_10G */ 588 { 589 /* tx_par_clk */ 590 257812500, /* 257.8125 MHz */ 591 /* rx_par_clk */ 592 257812500, /* 257.8125 MHz */ 593 /* tx_pcs_clk */ 594 156250000, /* 156.25 MHz */ 595 /* rx_pcs_clk */ 596 156250000, /* 156.25 MHz */ 597 /* tx_desk_rsgb_par */ 598 0, /* unused */ 599 /* rx_desk_rsgb_par */ 600 0, /* unused */ 601 /* tx_desk_rsgb_pcs */ 602 0, /* unused */ 603 /* rx_desk_rsgb_pcs */ 604 0, /* unused */ 605 /* tx_fixed_delay */ 606 6938, 607 /* pmd_adj_divisor */ 608 82500000, 609 /* rx_fixed_delay */ 610 6212, 611 }, 612 /* ICE_PTP_LNK_SPD_25G */ 613 { 614 /* tx_par_clk */ 615 644531250, /* 644.53125 MHZ */ 616 /* rx_par_clk */ 617 644531250, /* 644.53125 MHz */ 618 /* tx_pcs_clk */ 619 390625000, /* 390.625 MHz */ 620 /* rx_pcs_clk */ 621 390625000, /* 390.625 MHz */ 622 /* tx_desk_rsgb_par */ 623 0, /* unused */ 624 /* rx_desk_rsgb_par */ 625 0, /* unused */ 626 /* tx_desk_rsgb_pcs */ 627 0, /* unused */ 628 /* rx_desk_rsgb_pcs */ 629 0, /* unused */ 630 /* tx_fixed_delay */ 631 2778, 632 /* pmd_adj_divisor */ 633 206250000, 634 /* rx_fixed_delay */ 635 2491, 636 }, 637 /* ICE_PTP_LNK_SPD_25G_RS */ 638 { 639 /* tx_par_clk */ 640 0, /* unused */ 641 /* rx_par_clk */ 642 0, /* unused */ 643 /* tx_pcs_clk */ 644 0, /* unused */ 645 /* rx_pcs_clk */ 646 0, /* unused */ 647 /* tx_desk_rsgb_par */ 648 161132812, /* 162.1328125 MHz Reed Solomon gearbox */ 649 /* rx_desk_rsgb_par */ 650 161132812, /* 162.1328125 MHz Reed Solomon gearbox */ 651 /* tx_desk_rsgb_pcs */ 652 97656250, /* 97.62625 MHz Reed Solomon gearbox */ 653 /* rx_desk_rsgb_pcs */ 654 97656250, /* 97.62625 MHz Reed Solomon gearbox */ 655 /* tx_fixed_delay */ 656 3928, 657 /* pmd_adj_divisor */ 658 206250000, 659 /* rx_fixed_delay */ 660 29535, 661 }, 662 /* ICE_PTP_LNK_SPD_40G */ 663 { 664 /* tx_par_clk */ 665 257812500, 666 /* rx_par_clk */ 667 257812500, 668 /* tx_pcs_clk */ 669 156250000, /* 156.25 MHz */ 670 /* rx_pcs_clk */ 671 156250000, /* 156.25 MHz */ 672 /* tx_desk_rsgb_par */ 673 0, /* unused */ 674 /* rx_desk_rsgb_par */ 675 156250000, /* 156.25 MHz deskew clock */ 676 /* tx_desk_rsgb_pcs */ 677 0, /* unused */ 678 /* rx_desk_rsgb_pcs */ 679 156250000, /* 156.25 MHz deskew clock */ 680 /* tx_fixed_delay */ 681 5666, 682 /* pmd_adj_divisor */ 683 82500000, 684 /* rx_fixed_delay */ 685 4244, 686 }, 687 /* ICE_PTP_LNK_SPD_50G */ 688 { 689 /* tx_par_clk */ 690 644531250, /* 644.53125 MHZ */ 691 /* rx_par_clk */ 692 644531250, /* 644.53125 MHZ */ 693 /* tx_pcs_clk */ 694 390625000, /* 390.625 MHz */ 695 /* rx_pcs_clk */ 696 390625000, /* 390.625 MHz */ 697 /* tx_desk_rsgb_par */ 698 0, /* unused */ 699 /* rx_desk_rsgb_par */ 700 195312500, /* 193.3125 MHz deskew clock */ 701 /* tx_desk_rsgb_pcs */ 702 0, /* unused */ 703 /* rx_desk_rsgb_pcs */ 704 195312500, /* 193.3125 MHz deskew clock */ 705 /* tx_fixed_delay */ 706 2778, 707 /* pmd_adj_divisor */ 708 206250000, 709 /* rx_fixed_delay */ 710 2868, 711 }, 712 /* ICE_PTP_LNK_SPD_50G_RS */ 713 { 714 /* tx_par_clk */ 715 0, /* unused */ 716 /* rx_par_clk */ 717 644531250, /* 644.53125 MHz */ 718 /* tx_pcs_clk */ 719 0, /* unused */ 720 /* rx_pcs_clk */ 721 644531250, /* 644.53125 MHz */ 722 /* tx_desk_rsgb_par */ 723 322265625, /* 322.265625 MHz Reed Solomon gearbox */ 724 /* rx_desk_rsgb_par */ 725 322265625, /* 322.265625 MHz Reed Solomon gearbox */ 726 /* tx_desk_rsgb_pcs */ 727 644531250, /* 644.53125 MHz Reed Solomon gearbox */ 728 /* rx_desk_rsgb_pcs */ 729 644531250, /* 644.53125 MHz Reed Solomon gearbox */ 730 /* tx_fixed_delay */ 731 2095, 732 /* pmd_adj_divisor */ 733 206250000, 734 /* rx_fixed_delay */ 735 14524, 736 }, 737 /* ICE_PTP_LNK_SPD_100G_RS */ 738 { 739 /* tx_par_clk */ 740 0, /* unused */ 741 /* rx_par_clk */ 742 644531250, /* 644.53125 MHz */ 743 /* tx_pcs_clk */ 744 0, /* unused */ 745 /* rx_pcs_clk */ 746 644531250, /* 644.53125 MHz */ 747 /* tx_desk_rsgb_par */ 748 644531250, /* 644.53125 MHz Reed Solomon gearbox */ 749 /* rx_desk_rsgb_par */ 750 644531250, /* 644.53125 MHz Reed Solomon gearbox */ 751 /* tx_desk_rsgb_pcs */ 752 390625000, /* 390.625 MHz Reed Solomon gearbox */ 753 /* rx_desk_rsgb_pcs */ 754 390625000, /* 390.625 MHz Reed Solomon gearbox */ 755 /* tx_fixed_delay */ 756 1620, 757 /* pmd_adj_divisor */ 758 206250000, 759 /* rx_fixed_delay */ 760 7775, 761 }, 762 }; 763 764 #endif /* _ICE_PTP_CONSTS_H_ */ 765