xref: /linux/drivers/net/ethernet/intel/ice/ice_ptp_consts.h (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
13a749623SJacob Keller /* SPDX-License-Identifier: GPL-2.0 */
23a749623SJacob Keller /* Copyright (C) 2018-2021, Intel Corporation. */
33a749623SJacob Keller 
43a749623SJacob Keller #ifndef _ICE_PTP_CONSTS_H_
53a749623SJacob Keller #define _ICE_PTP_CONSTS_H_
63a749623SJacob Keller 
73a749623SJacob Keller /* Constant definitions related to the hardware clock used for PTP 1588
83a749623SJacob Keller  * features and functionality.
93a749623SJacob Keller  */
103a749623SJacob Keller /* Constants defined for the PTP 1588 clock hardware. */
113a749623SJacob Keller 
127cab44f1SSergey Temerkhanov const struct ice_phy_reg_info_eth56g eth56g_phy_res[NUM_ETH56G_PHY_RES] = {
137cab44f1SSergey Temerkhanov 	/* ETH56G_PHY_REG_PTP */
147cab44f1SSergey Temerkhanov 	{
157cab44f1SSergey Temerkhanov 		/* base_addr */
167cab44f1SSergey Temerkhanov 		{
177cab44f1SSergey Temerkhanov 			0x092000,
187cab44f1SSergey Temerkhanov 			0x126000,
197cab44f1SSergey Temerkhanov 			0x1BA000,
207cab44f1SSergey Temerkhanov 			0x24E000,
217cab44f1SSergey Temerkhanov 			0x2E2000,
227cab44f1SSergey Temerkhanov 		},
237cab44f1SSergey Temerkhanov 		/* step */
247cab44f1SSergey Temerkhanov 		0x98,
257cab44f1SSergey Temerkhanov 	},
267cab44f1SSergey Temerkhanov 	/* ETH56G_PHY_MEM_PTP */
277cab44f1SSergey Temerkhanov 	{
287cab44f1SSergey Temerkhanov 		/* base_addr */
297cab44f1SSergey Temerkhanov 		{
307cab44f1SSergey Temerkhanov 			0x093000,
317cab44f1SSergey Temerkhanov 			0x127000,
327cab44f1SSergey Temerkhanov 			0x1BB000,
337cab44f1SSergey Temerkhanov 			0x24F000,
347cab44f1SSergey Temerkhanov 			0x2E3000,
357cab44f1SSergey Temerkhanov 		},
367cab44f1SSergey Temerkhanov 		/* step */
377cab44f1SSergey Temerkhanov 		0x200,
387cab44f1SSergey Temerkhanov 	},
397cab44f1SSergey Temerkhanov 	/* ETH56G_PHY_REG_XPCS */
407cab44f1SSergey Temerkhanov 	{
417cab44f1SSergey Temerkhanov 		/* base_addr */
427cab44f1SSergey Temerkhanov 		{
437cab44f1SSergey Temerkhanov 			0x000000,
447cab44f1SSergey Temerkhanov 			0x009400,
457cab44f1SSergey Temerkhanov 			0x128000,
467cab44f1SSergey Temerkhanov 			0x1BC000,
477cab44f1SSergey Temerkhanov 			0x250000,
487cab44f1SSergey Temerkhanov 		},
497cab44f1SSergey Temerkhanov 		/* step */
507cab44f1SSergey Temerkhanov 		0x21000,
517cab44f1SSergey Temerkhanov 	},
527cab44f1SSergey Temerkhanov 	/* ETH56G_PHY_REG_MAC */
537cab44f1SSergey Temerkhanov 	{
547cab44f1SSergey Temerkhanov 		/* base_addr */
557cab44f1SSergey Temerkhanov 		{
567cab44f1SSergey Temerkhanov 			0x085000,
577cab44f1SSergey Temerkhanov 			0x119000,
587cab44f1SSergey Temerkhanov 			0x1AD000,
597cab44f1SSergey Temerkhanov 			0x241000,
607cab44f1SSergey Temerkhanov 			0x2D5000,
617cab44f1SSergey Temerkhanov 		},
627cab44f1SSergey Temerkhanov 		/* step */
637cab44f1SSergey Temerkhanov 		0x1000,
647cab44f1SSergey Temerkhanov 	},
657cab44f1SSergey Temerkhanov 	/* ETH56G_PHY_REG_GPCS */
667cab44f1SSergey Temerkhanov 	{
677cab44f1SSergey Temerkhanov 		/* base_addr */
687cab44f1SSergey Temerkhanov 		{
697cab44f1SSergey Temerkhanov 			0x084000,
707cab44f1SSergey Temerkhanov 			0x118000,
717cab44f1SSergey Temerkhanov 			0x1AC000,
727cab44f1SSergey Temerkhanov 			0x240000,
737cab44f1SSergey Temerkhanov 			0x2D4000,
747cab44f1SSergey Temerkhanov 		},
757cab44f1SSergey Temerkhanov 		/* step */
767cab44f1SSergey Temerkhanov 		0x400,
777cab44f1SSergey Temerkhanov 	},
787cab44f1SSergey Temerkhanov };
797cab44f1SSergey Temerkhanov 
807cab44f1SSergey Temerkhanov const
817cab44f1SSergey Temerkhanov struct ice_eth56g_mac_reg_cfg eth56g_mac_cfg[NUM_ICE_ETH56G_LNK_SPD] = {
827cab44f1SSergey Temerkhanov 	[ICE_ETH56G_LNK_SPD_1G] = {
837cab44f1SSergey Temerkhanov 		.tx_mode = { .def = 6, },
847cab44f1SSergey Temerkhanov 		.rx_mode = { .def = 6, },
857cab44f1SSergey Temerkhanov 		.blks_per_clk = 1,
867cab44f1SSergey Temerkhanov 		.blktime = 0x4000, /* 32 */
877cab44f1SSergey Temerkhanov 		.tx_offset = {
887cab44f1SSergey Temerkhanov 			.serdes = 0x6666, /* 51.2 */
897cab44f1SSergey Temerkhanov 			.no_fec = 0xd066, /* 104.2 */
907cab44f1SSergey Temerkhanov 			.sfd = 0x3000, /* 24 */
917cab44f1SSergey Temerkhanov 			.onestep = 0x30000 /* 384 */
927cab44f1SSergey Temerkhanov 		},
937cab44f1SSergey Temerkhanov 		.rx_offset = {
947cab44f1SSergey Temerkhanov 			.serdes = 0xffffc59a, /* -29.2 */
957cab44f1SSergey Temerkhanov 			.no_fec = 0xffff0a80, /* -122.75 */
967cab44f1SSergey Temerkhanov 			.sfd = 0x2c00, /* 22 */
977cab44f1SSergey Temerkhanov 			.bs_ds = 0x19a /* 0.8 */
987cab44f1SSergey Temerkhanov 			/* Dynamic bitslip 0 equals to 10 */
997cab44f1SSergey Temerkhanov 		}
1007cab44f1SSergey Temerkhanov 	},
1017cab44f1SSergey Temerkhanov 	[ICE_ETH56G_LNK_SPD_2_5G] = {
1027cab44f1SSergey Temerkhanov 		.tx_mode = { .def = 6, },
1037cab44f1SSergey Temerkhanov 		.rx_mode = { .def = 6, },
1047cab44f1SSergey Temerkhanov 		.blks_per_clk = 1,
1057cab44f1SSergey Temerkhanov 		.blktime = 0x199a, /* 12.8 */
1067cab44f1SSergey Temerkhanov 		.tx_offset = {
1077cab44f1SSergey Temerkhanov 			.serdes = 0x28f6, /* 20.48 */
1087cab44f1SSergey Temerkhanov 			.no_fec = 0x53b8, /* 41.86 */
1097cab44f1SSergey Temerkhanov 			.sfd = 0x1333, /* 9.6 */
1107cab44f1SSergey Temerkhanov 			.onestep = 0x13333 /* 153.6 */
1117cab44f1SSergey Temerkhanov 		},
1127cab44f1SSergey Temerkhanov 		.rx_offset = {
1137cab44f1SSergey Temerkhanov 			.serdes = 0xffffe8a4, /* -11.68 */
1147cab44f1SSergey Temerkhanov 			.no_fec = 0xffff9a76, /* -50.77 */
1157cab44f1SSergey Temerkhanov 			.sfd = 0xf33, /* 7.6 */
1167cab44f1SSergey Temerkhanov 			.bs_ds = 0xa4 /* 0.32 */
1177cab44f1SSergey Temerkhanov 		}
1187cab44f1SSergey Temerkhanov 	},
1197cab44f1SSergey Temerkhanov 	[ICE_ETH56G_LNK_SPD_10G] = {
1207cab44f1SSergey Temerkhanov 		.tx_mode = { .def = 1, },
1217cab44f1SSergey Temerkhanov 		.rx_mode = { .def = 1, },
1227cab44f1SSergey Temerkhanov 		.blks_per_clk = 1,
1237cab44f1SSergey Temerkhanov 		.blktime = 0x666, /* 3.2 */
1247cab44f1SSergey Temerkhanov 		.tx_offset = {
1257cab44f1SSergey Temerkhanov 			.serdes = 0x234c, /* 17.6484848 */
1267cab44f1SSergey Temerkhanov 			.no_fec = 0x8e80, /* 71.25 */
1277cab44f1SSergey Temerkhanov 			.fc = 0xb4a4, /* 90.32 */
1287cab44f1SSergey Temerkhanov 			.sfd = 0x4a4, /* 2.32 */
1297cab44f1SSergey Temerkhanov 			.onestep = 0x4ccd /* 38.4 */
1307cab44f1SSergey Temerkhanov 		},
1317cab44f1SSergey Temerkhanov 		.rx_offset = {
1327cab44f1SSergey Temerkhanov 			.serdes = 0xffffeb27, /* -10.42424 */
1337cab44f1SSergey Temerkhanov 			.no_fec = 0xffffcccd, /* -25.6 */
1347cab44f1SSergey Temerkhanov 			.fc = 0xfffe0014, /* -255.96 */
1357cab44f1SSergey Temerkhanov 			.sfd = 0x4a4, /* 2.32 */
1367cab44f1SSergey Temerkhanov 			.bs_ds = 0x32 /* 0.0969697 */
1377cab44f1SSergey Temerkhanov 		}
1387cab44f1SSergey Temerkhanov 	},
1397cab44f1SSergey Temerkhanov 	[ICE_ETH56G_LNK_SPD_25G] = {
1407cab44f1SSergey Temerkhanov 		.tx_mode = {
1417cab44f1SSergey Temerkhanov 			.def = 1,
1427cab44f1SSergey Temerkhanov 			.rs = 4
1437cab44f1SSergey Temerkhanov 		},
1447cab44f1SSergey Temerkhanov 		.tx_mk_dly = 4,
1457cab44f1SSergey Temerkhanov 		.tx_cw_dly = {
1467cab44f1SSergey Temerkhanov 			.def = 1,
1477cab44f1SSergey Temerkhanov 			.onestep = 6
1487cab44f1SSergey Temerkhanov 		},
1497cab44f1SSergey Temerkhanov 		.rx_mode = {
1507cab44f1SSergey Temerkhanov 			.def = 1,
1517cab44f1SSergey Temerkhanov 			.rs = 4
1527cab44f1SSergey Temerkhanov 		},
1537cab44f1SSergey Temerkhanov 		.rx_mk_dly = {
1547cab44f1SSergey Temerkhanov 			.def = 1,
1557cab44f1SSergey Temerkhanov 			.rs = 1
1567cab44f1SSergey Temerkhanov 		},
1577cab44f1SSergey Temerkhanov 		.rx_cw_dly = {
1587cab44f1SSergey Temerkhanov 			.def = 1,
1597cab44f1SSergey Temerkhanov 			.rs = 1
1607cab44f1SSergey Temerkhanov 		},
1617cab44f1SSergey Temerkhanov 		.blks_per_clk = 1,
1627cab44f1SSergey Temerkhanov 		.blktime = 0x28f, /* 1.28 */
1637cab44f1SSergey Temerkhanov 		.mktime = 0x147b, /* 10.24, only if RS-FEC enabled */
1647cab44f1SSergey Temerkhanov 		.tx_offset = {
1657cab44f1SSergey Temerkhanov 			.serdes = 0xe1e, /* 7.0593939 */
1667cab44f1SSergey Temerkhanov 			.no_fec = 0x3857, /* 28.17 */
1677cab44f1SSergey Temerkhanov 			.fc = 0x48c3, /* 36.38 */
1687cab44f1SSergey Temerkhanov 			.rs = 0x8100, /* 64.5 */
1697cab44f1SSergey Temerkhanov 			.sfd = 0x1dc, /* 0.93 */
1707cab44f1SSergey Temerkhanov 			.onestep = 0x1eb8 /* 15.36 */
1717cab44f1SSergey Temerkhanov 		},
1727cab44f1SSergey Temerkhanov 		.rx_offset = {
1737cab44f1SSergey Temerkhanov 			.serdes = 0xfffff7a9, /* -4.1697 */
1747cab44f1SSergey Temerkhanov 			.no_fec = 0xffffe71a, /* -12.45 */
1757cab44f1SSergey Temerkhanov 			.fc = 0xfffe894d, /* -187.35 */
1767cab44f1SSergey Temerkhanov 			.rs = 0xfffff8cd, /* -3.6 */
1777cab44f1SSergey Temerkhanov 			.sfd = 0x1dc, /* 0.93 */
1787cab44f1SSergey Temerkhanov 			.bs_ds = 0x14 /* 0.0387879, RS-FEC 0 */
1797cab44f1SSergey Temerkhanov 		}
1807cab44f1SSergey Temerkhanov 	},
1817cab44f1SSergey Temerkhanov 	[ICE_ETH56G_LNK_SPD_40G] = {
1827cab44f1SSergey Temerkhanov 		.tx_mode = { .def = 3 },
1837cab44f1SSergey Temerkhanov 		.tx_mk_dly = 4,
1847cab44f1SSergey Temerkhanov 		.tx_cw_dly = {
1857cab44f1SSergey Temerkhanov 			.def = 1,
1867cab44f1SSergey Temerkhanov 			.onestep = 6
1877cab44f1SSergey Temerkhanov 		},
1887cab44f1SSergey Temerkhanov 		.rx_mode = { .def = 4 },
1897cab44f1SSergey Temerkhanov 		.rx_mk_dly = { .def = 1 },
1907cab44f1SSergey Temerkhanov 		.rx_cw_dly = { .def = 1 },
1917cab44f1SSergey Temerkhanov 		.blktime = 0x333, /* 1.6 */
1927cab44f1SSergey Temerkhanov 		.mktime = 0xccd, /* 6.4 */
1937cab44f1SSergey Temerkhanov 		.tx_offset = {
1947cab44f1SSergey Temerkhanov 			.serdes = 0x234c, /* 17.6484848 */
1957cab44f1SSergey Temerkhanov 			.no_fec = 0x5a8a, /* 45.27 */
1967cab44f1SSergey Temerkhanov 			.fc = 0x81b8, /* 64.86 */
1977cab44f1SSergey Temerkhanov 			.sfd = 0x4a4, /* 2.32 */
1987cab44f1SSergey Temerkhanov 			.onestep = 0x1333 /* 9.6 */
1997cab44f1SSergey Temerkhanov 		},
2007cab44f1SSergey Temerkhanov 		.rx_offset = {
2017cab44f1SSergey Temerkhanov 			.serdes = 0xffffeb27, /* -10.42424 */
2027cab44f1SSergey Temerkhanov 			.no_fec = 0xfffff594, /* -5.21 */
2037cab44f1SSergey Temerkhanov 			.fc = 0xfffe3080, /* -231.75 */
2047cab44f1SSergey Temerkhanov 			.sfd = 0x4a4, /* 2.32 */
2057cab44f1SSergey Temerkhanov 			.bs_ds = 0xccd /* 6.4 */
2067cab44f1SSergey Temerkhanov 		}
2077cab44f1SSergey Temerkhanov 	},
2087cab44f1SSergey Temerkhanov 	[ICE_ETH56G_LNK_SPD_50G] = {
2097cab44f1SSergey Temerkhanov 		.tx_mode = { .def = 5 },
2107cab44f1SSergey Temerkhanov 		.tx_mk_dly = 4,
2117cab44f1SSergey Temerkhanov 		.tx_cw_dly = {
2127cab44f1SSergey Temerkhanov 			.def = 1,
2137cab44f1SSergey Temerkhanov 			.onestep = 6
2147cab44f1SSergey Temerkhanov 		},
2157cab44f1SSergey Temerkhanov 		.rx_mode = { .def = 5 },
2167cab44f1SSergey Temerkhanov 		.rx_mk_dly = { .def = 1 },
2177cab44f1SSergey Temerkhanov 		.rx_cw_dly = { .def = 1 },
2187cab44f1SSergey Temerkhanov 		.blktime = 0x28f, /* 1.28 */
2197cab44f1SSergey Temerkhanov 		.mktime = 0xa3d, /* 5.12 */
2207cab44f1SSergey Temerkhanov 		.tx_offset = {
2217cab44f1SSergey Temerkhanov 			.serdes = 0x13ba, /* 9.86353 */
2227cab44f1SSergey Temerkhanov 			.rs = 0x5400, /* 42 */
2237cab44f1SSergey Temerkhanov 			.sfd = 0xe6, /* 0.45 */
2247cab44f1SSergey Temerkhanov 			.onestep = 0xf5c /* 7.68 */
2257cab44f1SSergey Temerkhanov 		},
2267cab44f1SSergey Temerkhanov 		.rx_offset = {
2277cab44f1SSergey Temerkhanov 			.serdes = 0xfffff7e8, /* -4.04706 */
2287cab44f1SSergey Temerkhanov 			.rs = 0xfffff994, /* -3.21 */
2297cab44f1SSergey Temerkhanov 			.sfd = 0xe6 /* 0.45 */
2307cab44f1SSergey Temerkhanov 		}
2317cab44f1SSergey Temerkhanov 	},
2327cab44f1SSergey Temerkhanov 	[ICE_ETH56G_LNK_SPD_50G2] = {
2337cab44f1SSergey Temerkhanov 		.tx_mode = {
2347cab44f1SSergey Temerkhanov 			.def = 3,
2357cab44f1SSergey Temerkhanov 			.rs = 2
2367cab44f1SSergey Temerkhanov 		},
2377cab44f1SSergey Temerkhanov 		.tx_mk_dly = 4,
2387cab44f1SSergey Temerkhanov 		.tx_cw_dly = {
2397cab44f1SSergey Temerkhanov 			.def = 1,
2407cab44f1SSergey Temerkhanov 			.onestep = 6
2417cab44f1SSergey Temerkhanov 		},
2427cab44f1SSergey Temerkhanov 		.rx_mode = {
2437cab44f1SSergey Temerkhanov 			.def = 4,
2447cab44f1SSergey Temerkhanov 			.rs = 1
2457cab44f1SSergey Temerkhanov 		},
2467cab44f1SSergey Temerkhanov 		.rx_mk_dly = { .def = 1 },
2477cab44f1SSergey Temerkhanov 		.rx_cw_dly = { .def = 1 },
2487cab44f1SSergey Temerkhanov 		.blktime = 0x28f, /* 1.28 */
2497cab44f1SSergey Temerkhanov 		.mktime = 0xa3d, /* 5.12 */
2507cab44f1SSergey Temerkhanov 		.tx_offset = {
2517cab44f1SSergey Temerkhanov 			.serdes = 0xe1e, /* 7.0593939 */
2527cab44f1SSergey Temerkhanov 			.no_fec = 0x3d33, /* 30.6 */
2537cab44f1SSergey Temerkhanov 			.rs = 0x5057, /* 40.17 */
2547cab44f1SSergey Temerkhanov 			.sfd = 0x1dc, /* 0.93 */
2557cab44f1SSergey Temerkhanov 			.onestep = 0xf5c /* 7.68 */
2567cab44f1SSergey Temerkhanov 		},
2577cab44f1SSergey Temerkhanov 		.rx_offset = {
2587cab44f1SSergey Temerkhanov 			.serdes = 0xfffff7a9, /* -4.1697 */
2597cab44f1SSergey Temerkhanov 			.no_fec = 0xfffff8cd, /* -3.6 */
2607cab44f1SSergey Temerkhanov 			.rs = 0xfffff21a, /* -6.95 */
2617cab44f1SSergey Temerkhanov 			.sfd = 0x1dc, /* 0.93 */
2627cab44f1SSergey Temerkhanov 			.bs_ds = 0xa3d /* 5.12, RS-FEC 0x633 (3.1) */
2637cab44f1SSergey Temerkhanov 		}
2647cab44f1SSergey Temerkhanov 	},
2657cab44f1SSergey Temerkhanov 	[ICE_ETH56G_LNK_SPD_100G] = {
2667cab44f1SSergey Temerkhanov 		.tx_mode = {
2677cab44f1SSergey Temerkhanov 			.def = 3,
2687cab44f1SSergey Temerkhanov 			.rs = 2
2697cab44f1SSergey Temerkhanov 		},
2707cab44f1SSergey Temerkhanov 		.tx_mk_dly = 10,
2717cab44f1SSergey Temerkhanov 		.tx_cw_dly = {
2727cab44f1SSergey Temerkhanov 			.def = 3,
2737cab44f1SSergey Temerkhanov 			.onestep = 6
2747cab44f1SSergey Temerkhanov 		},
2757cab44f1SSergey Temerkhanov 		.rx_mode = {
2767cab44f1SSergey Temerkhanov 			.def = 4,
2777cab44f1SSergey Temerkhanov 			.rs = 1
2787cab44f1SSergey Temerkhanov 		},
2797cab44f1SSergey Temerkhanov 		.rx_mk_dly = { .def = 5 },
2807cab44f1SSergey Temerkhanov 		.rx_cw_dly = { .def = 5 },
2817cab44f1SSergey Temerkhanov 		.blks_per_clk = 1,
2827cab44f1SSergey Temerkhanov 		.blktime = 0x148, /* 0.64 */
2837cab44f1SSergey Temerkhanov 		.mktime = 0x199a, /* 12.8 */
2847cab44f1SSergey Temerkhanov 		.tx_offset = {
2857cab44f1SSergey Temerkhanov 			.serdes = 0xe1e, /* 7.0593939 */
2867cab44f1SSergey Temerkhanov 			.no_fec = 0x67ec, /* 51.96 */
2877cab44f1SSergey Temerkhanov 			.rs = 0x44fb, /* 34.49 */
2887cab44f1SSergey Temerkhanov 			.sfd = 0x1dc, /* 0.93 */
2897cab44f1SSergey Temerkhanov 			.onestep = 0xf5c /* 7.68 */
2907cab44f1SSergey Temerkhanov 		},
2917cab44f1SSergey Temerkhanov 		.rx_offset = {
2927cab44f1SSergey Temerkhanov 			.serdes = 0xfffff7a9, /* -4.1697 */
2937cab44f1SSergey Temerkhanov 			.no_fec = 0xfffff5a9, /* -5.17 */
2947cab44f1SSergey Temerkhanov 			.rs = 0xfffff6e6, /* -4.55 */
2957cab44f1SSergey Temerkhanov 			.sfd = 0x1dc, /* 0.93 */
2967cab44f1SSergey Temerkhanov 			.bs_ds = 0x199a /* 12.8, RS-FEC 0x31b (1.552) */
2977cab44f1SSergey Temerkhanov 		}
2987cab44f1SSergey Temerkhanov 	},
2997cab44f1SSergey Temerkhanov 	[ICE_ETH56G_LNK_SPD_100G2] = {
3007cab44f1SSergey Temerkhanov 		.tx_mode = { .def = 5 },
3017cab44f1SSergey Temerkhanov 		.tx_mk_dly = 10,
3027cab44f1SSergey Temerkhanov 		.tx_cw_dly = {
3037cab44f1SSergey Temerkhanov 			.def = 3,
3047cab44f1SSergey Temerkhanov 			.onestep = 6
3057cab44f1SSergey Temerkhanov 		},
3067cab44f1SSergey Temerkhanov 		.rx_mode = { .def = 5 },
3077cab44f1SSergey Temerkhanov 		.rx_mk_dly = { .def = 5 },
3087cab44f1SSergey Temerkhanov 		.rx_cw_dly = { .def = 5 },
3097cab44f1SSergey Temerkhanov 		.blks_per_clk = 1,
3107cab44f1SSergey Temerkhanov 		.blktime = 0x148, /* 0.64 */
3117cab44f1SSergey Temerkhanov 		.mktime = 0x199a, /* 12.8 */
3127cab44f1SSergey Temerkhanov 		.tx_offset = {
3137cab44f1SSergey Temerkhanov 			.serdes = 0x13ba, /* 9.86353 */
3147cab44f1SSergey Temerkhanov 			.rs = 0x460a, /* 35.02 */
3157cab44f1SSergey Temerkhanov 			.sfd = 0xe6, /* 0.45 */
3167cab44f1SSergey Temerkhanov 			.onestep = 0xf5c /* 7.68 */
3177cab44f1SSergey Temerkhanov 		},
3187cab44f1SSergey Temerkhanov 		.rx_offset = {
3197cab44f1SSergey Temerkhanov 			.serdes = 0xfffff7e8, /* -4.04706 */
3207cab44f1SSergey Temerkhanov 			.rs = 0xfffff548, /* -5.36 */
3217cab44f1SSergey Temerkhanov 			.sfd = 0xe6, /* 0.45 */
3227cab44f1SSergey Temerkhanov 			.bs_ds = 0x303 /* 1.506 */
3237cab44f1SSergey Temerkhanov 		}
3247cab44f1SSergey Temerkhanov 	}
3257cab44f1SSergey Temerkhanov };
3267cab44f1SSergey Temerkhanov 
327a39dd252SKarol Kolacinski /* struct ice_time_ref_info_e82x
3283a749623SJacob Keller  *
3293a749623SJacob Keller  * E822 hardware can use different sources as the reference for the PTP
3303a749623SJacob Keller  * hardware clock. Each clock has different characteristics such as a slightly
3313a749623SJacob Keller  * different frequency, etc.
3323a749623SJacob Keller  *
3333a749623SJacob Keller  * This lookup table defines several constants that depend on the current time
334a39dd252SKarol Kolacinski  * reference. See the struct ice_time_ref_info_e82x for information about the
3353a749623SJacob Keller  * meaning of each constant.
3363a749623SJacob Keller  */
337a39dd252SKarol Kolacinski const struct ice_time_ref_info_e82x e822_time_ref[NUM_ICE_TIME_REF_FREQ] = {
3383a749623SJacob Keller 	/* ICE_TIME_REF_FREQ_25_000 -> 25 MHz */
3393a749623SJacob Keller 	{
3403a749623SJacob Keller 		/* pll_freq */
3413a749623SJacob Keller 		823437500, /* 823.4375 MHz PLL */
3423a749623SJacob Keller 		/* nominal_incval */
3433a749623SJacob Keller 		0x136e44fabULL,
3443a749623SJacob Keller 		/* pps_delay */
3453a749623SJacob Keller 		11,
3463a749623SJacob Keller 	},
3473a749623SJacob Keller 
3483a749623SJacob Keller 	/* ICE_TIME_REF_FREQ_122_880 -> 122.88 MHz */
3493a749623SJacob Keller 	{
3503a749623SJacob Keller 		/* pll_freq */
3513a749623SJacob Keller 		783360000, /* 783.36 MHz */
3523a749623SJacob Keller 		/* nominal_incval */
3533a749623SJacob Keller 		0x146cc2177ULL,
3543a749623SJacob Keller 		/* pps_delay */
3553a749623SJacob Keller 		12,
3563a749623SJacob Keller 	},
3573a749623SJacob Keller 
3583a749623SJacob Keller 	/* ICE_TIME_REF_FREQ_125_000 -> 125 MHz */
3593a749623SJacob Keller 	{
3603a749623SJacob Keller 		/* pll_freq */
3613a749623SJacob Keller 		796875000, /* 796.875 MHz */
3623a749623SJacob Keller 		/* nominal_incval */
3633a749623SJacob Keller 		0x141414141ULL,
3643a749623SJacob Keller 		/* pps_delay */
3653a749623SJacob Keller 		12,
3663a749623SJacob Keller 	},
3673a749623SJacob Keller 
3683a749623SJacob Keller 	/* ICE_TIME_REF_FREQ_153_600 -> 153.6 MHz */
3693a749623SJacob Keller 	{
3703a749623SJacob Keller 		/* pll_freq */
3713a749623SJacob Keller 		816000000, /* 816 MHz */
3723a749623SJacob Keller 		/* nominal_incval */
3733a749623SJacob Keller 		0x139b9b9baULL,
3743a749623SJacob Keller 		/* pps_delay */
3753a749623SJacob Keller 		12,
3763a749623SJacob Keller 	},
3773a749623SJacob Keller 
3783a749623SJacob Keller 	/* ICE_TIME_REF_FREQ_156_250 -> 156.25 MHz */
3793a749623SJacob Keller 	{
3803a749623SJacob Keller 		/* pll_freq */
3813a749623SJacob Keller 		830078125, /* 830.78125 MHz */
3823a749623SJacob Keller 		/* nominal_incval */
3833a749623SJacob Keller 		0x134679aceULL,
3843a749623SJacob Keller 		/* pps_delay */
3853a749623SJacob Keller 		11,
3863a749623SJacob Keller 	},
3873a749623SJacob Keller 
3883a749623SJacob Keller 	/* ICE_TIME_REF_FREQ_245_760 -> 245.76 MHz */
3893a749623SJacob Keller 	{
3903a749623SJacob Keller 		/* pll_freq */
3913a749623SJacob Keller 		783360000, /* 783.36 MHz */
3923a749623SJacob Keller 		/* nominal_incval */
3933a749623SJacob Keller 		0x146cc2177ULL,
3943a749623SJacob Keller 		/* pps_delay */
3953a749623SJacob Keller 		12,
3963a749623SJacob Keller 	},
3973a749623SJacob Keller };
3983a749623SJacob Keller 
399a39dd252SKarol Kolacinski const struct ice_cgu_pll_params_e82x e822_cgu_params[NUM_ICE_TIME_REF_FREQ] = {
400b111ab5aSJacob Keller 	/* ICE_TIME_REF_FREQ_25_000 -> 25 MHz */
401b111ab5aSJacob Keller 	{
402b111ab5aSJacob Keller 		/* refclk_pre_div */
403b111ab5aSJacob Keller 		1,
404b111ab5aSJacob Keller 		/* feedback_div */
405b111ab5aSJacob Keller 		197,
406b111ab5aSJacob Keller 		/* frac_n_div */
407b111ab5aSJacob Keller 		2621440,
408b111ab5aSJacob Keller 		/* post_pll_div */
409b111ab5aSJacob Keller 		6,
410b111ab5aSJacob Keller 	},
411b111ab5aSJacob Keller 
412b111ab5aSJacob Keller 	/* ICE_TIME_REF_FREQ_122_880 -> 122.88 MHz */
413b111ab5aSJacob Keller 	{
414b111ab5aSJacob Keller 		/* refclk_pre_div */
415b111ab5aSJacob Keller 		5,
416b111ab5aSJacob Keller 		/* feedback_div */
417b111ab5aSJacob Keller 		223,
418b111ab5aSJacob Keller 		/* frac_n_div */
419b111ab5aSJacob Keller 		524288,
420b111ab5aSJacob Keller 		/* post_pll_div */
421b111ab5aSJacob Keller 		7,
422b111ab5aSJacob Keller 	},
423b111ab5aSJacob Keller 
424b111ab5aSJacob Keller 	/* ICE_TIME_REF_FREQ_125_000 -> 125 MHz */
425b111ab5aSJacob Keller 	{
426b111ab5aSJacob Keller 		/* refclk_pre_div */
427b111ab5aSJacob Keller 		5,
428b111ab5aSJacob Keller 		/* feedback_div */
429b111ab5aSJacob Keller 		223,
430b111ab5aSJacob Keller 		/* frac_n_div */
431b111ab5aSJacob Keller 		524288,
432b111ab5aSJacob Keller 		/* post_pll_div */
433b111ab5aSJacob Keller 		7,
434b111ab5aSJacob Keller 	},
435b111ab5aSJacob Keller 
436b111ab5aSJacob Keller 	/* ICE_TIME_REF_FREQ_153_600 -> 153.6 MHz */
437b111ab5aSJacob Keller 	{
438b111ab5aSJacob Keller 		/* refclk_pre_div */
439b111ab5aSJacob Keller 		5,
440b111ab5aSJacob Keller 		/* feedback_div */
441b111ab5aSJacob Keller 		159,
442b111ab5aSJacob Keller 		/* frac_n_div */
443b111ab5aSJacob Keller 		1572864,
444b111ab5aSJacob Keller 		/* post_pll_div */
445b111ab5aSJacob Keller 		6,
446b111ab5aSJacob Keller 	},
447b111ab5aSJacob Keller 
448b111ab5aSJacob Keller 	/* ICE_TIME_REF_FREQ_156_250 -> 156.25 MHz */
449b111ab5aSJacob Keller 	{
450b111ab5aSJacob Keller 		/* refclk_pre_div */
451b111ab5aSJacob Keller 		5,
452b111ab5aSJacob Keller 		/* feedback_div */
453b111ab5aSJacob Keller 		159,
454b111ab5aSJacob Keller 		/* frac_n_div */
455b111ab5aSJacob Keller 		1572864,
456b111ab5aSJacob Keller 		/* post_pll_div */
457b111ab5aSJacob Keller 		6,
458b111ab5aSJacob Keller 	},
459b111ab5aSJacob Keller 
460b111ab5aSJacob Keller 	/* ICE_TIME_REF_FREQ_245_760 -> 245.76 MHz */
461b111ab5aSJacob Keller 	{
462b111ab5aSJacob Keller 		/* refclk_pre_div */
463b111ab5aSJacob Keller 		10,
464b111ab5aSJacob Keller 		/* feedback_div */
465b111ab5aSJacob Keller 		223,
466b111ab5aSJacob Keller 		/* frac_n_div */
467b111ab5aSJacob Keller 		524288,
468b111ab5aSJacob Keller 		/* post_pll_div */
469b111ab5aSJacob Keller 		7,
470b111ab5aSJacob Keller 	},
471b111ab5aSJacob Keller };
472b111ab5aSJacob Keller 
473*713dcad2SMichal Michalik const
474*713dcad2SMichal Michalik struct ice_cgu_pll_params_e825c e825c_cgu_params[NUM_ICE_TIME_REF_FREQ] = {
475*713dcad2SMichal Michalik 	/* ICE_TIME_REF_FREQ_25_000 -> 25 MHz */
476*713dcad2SMichal Michalik 	{
477*713dcad2SMichal Michalik 		/* tspll_ck_refclkfreq */
478*713dcad2SMichal Michalik 		0x19,
479*713dcad2SMichal Michalik 		/* tspll_ndivratio */
480*713dcad2SMichal Michalik 		1,
481*713dcad2SMichal Michalik 		/* tspll_fbdiv_intgr */
482*713dcad2SMichal Michalik 		320,
483*713dcad2SMichal Michalik 		/* tspll_fbdiv_frac */
484*713dcad2SMichal Michalik 		0,
485*713dcad2SMichal Michalik 		/* ref1588_ck_div */
486*713dcad2SMichal Michalik 		0,
487*713dcad2SMichal Michalik 	},
488*713dcad2SMichal Michalik 
489*713dcad2SMichal Michalik 	/* ICE_TIME_REF_FREQ_122_880 -> 122.88 MHz */
490*713dcad2SMichal Michalik 	{
491*713dcad2SMichal Michalik 		/* tspll_ck_refclkfreq */
492*713dcad2SMichal Michalik 		0x29,
493*713dcad2SMichal Michalik 		/* tspll_ndivratio */
494*713dcad2SMichal Michalik 		3,
495*713dcad2SMichal Michalik 		/* tspll_fbdiv_intgr */
496*713dcad2SMichal Michalik 		195,
497*713dcad2SMichal Michalik 		/* tspll_fbdiv_frac */
498*713dcad2SMichal Michalik 		1342177280UL,
499*713dcad2SMichal Michalik 		/* ref1588_ck_div */
500*713dcad2SMichal Michalik 		0,
501*713dcad2SMichal Michalik 	},
502*713dcad2SMichal Michalik 
503*713dcad2SMichal Michalik 	/* ICE_TIME_REF_FREQ_125_000 -> 125 MHz */
504*713dcad2SMichal Michalik 	{
505*713dcad2SMichal Michalik 		/* tspll_ck_refclkfreq */
506*713dcad2SMichal Michalik 		0x3E,
507*713dcad2SMichal Michalik 		/* tspll_ndivratio */
508*713dcad2SMichal Michalik 		2,
509*713dcad2SMichal Michalik 		/* tspll_fbdiv_intgr */
510*713dcad2SMichal Michalik 		128,
511*713dcad2SMichal Michalik 		/* tspll_fbdiv_frac */
512*713dcad2SMichal Michalik 		0,
513*713dcad2SMichal Michalik 		/* ref1588_ck_div */
514*713dcad2SMichal Michalik 		0,
515*713dcad2SMichal Michalik 	},
516*713dcad2SMichal Michalik 
517*713dcad2SMichal Michalik 	/* ICE_TIME_REF_FREQ_153_600 -> 153.6 MHz */
518*713dcad2SMichal Michalik 	{
519*713dcad2SMichal Michalik 		/* tspll_ck_refclkfreq */
520*713dcad2SMichal Michalik 		0x33,
521*713dcad2SMichal Michalik 		/* tspll_ndivratio */
522*713dcad2SMichal Michalik 		3,
523*713dcad2SMichal Michalik 		/* tspll_fbdiv_intgr */
524*713dcad2SMichal Michalik 		156,
525*713dcad2SMichal Michalik 		/* tspll_fbdiv_frac */
526*713dcad2SMichal Michalik 		1073741824UL,
527*713dcad2SMichal Michalik 		/* ref1588_ck_div */
528*713dcad2SMichal Michalik 		0,
529*713dcad2SMichal Michalik 	},
530*713dcad2SMichal Michalik 
531*713dcad2SMichal Michalik 	/* ICE_TIME_REF_FREQ_156_250 -> 156.25 MHz */
532*713dcad2SMichal Michalik 	{
533*713dcad2SMichal Michalik 		/* tspll_ck_refclkfreq */
534*713dcad2SMichal Michalik 		0x1F,
535*713dcad2SMichal Michalik 		/* tspll_ndivratio */
536*713dcad2SMichal Michalik 		5,
537*713dcad2SMichal Michalik 		/* tspll_fbdiv_intgr */
538*713dcad2SMichal Michalik 		256,
539*713dcad2SMichal Michalik 		/* tspll_fbdiv_frac */
540*713dcad2SMichal Michalik 		0,
541*713dcad2SMichal Michalik 		/* ref1588_ck_div */
542*713dcad2SMichal Michalik 		0,
543*713dcad2SMichal Michalik 	},
544*713dcad2SMichal Michalik 
545*713dcad2SMichal Michalik 	/* ICE_TIME_REF_FREQ_245_760 -> 245.76 MHz */
546*713dcad2SMichal Michalik 	{
547*713dcad2SMichal Michalik 		/* tspll_ck_refclkfreq */
548*713dcad2SMichal Michalik 		0x52,
549*713dcad2SMichal Michalik 		/* tspll_ndivratio */
550*713dcad2SMichal Michalik 		3,
551*713dcad2SMichal Michalik 		/* tspll_fbdiv_intgr */
552*713dcad2SMichal Michalik 		97,
553*713dcad2SMichal Michalik 		/* tspll_fbdiv_frac */
554*713dcad2SMichal Michalik 		2818572288UL,
555*713dcad2SMichal Michalik 		/* ref1588_ck_div */
556*713dcad2SMichal Michalik 		0,
557*713dcad2SMichal Michalik 	},
558*713dcad2SMichal Michalik };
559*713dcad2SMichal Michalik 
560a39dd252SKarol Kolacinski /* struct ice_vernier_info_e82x
5613a749623SJacob Keller  *
5623a749623SJacob Keller  * E822 hardware calibrates the delay of the timestamp indication from the
5633a749623SJacob Keller  * actual packet transmission or reception during the initialization of the
5643a749623SJacob Keller  * PHY. To do this, the hardware mechanism uses some conversions between the
5653a749623SJacob Keller  * various clocks within the PHY block. This table defines constants used to
5663a749623SJacob Keller  * calculate the correct conversion ratios in the PHY registers.
5673a749623SJacob Keller  *
5683a749623SJacob Keller  * Many of the values relate to the PAR/PCS clock conversion registers. For
5693a749623SJacob Keller  * these registers, a value of 0 means that the associated register is not
5703a749623SJacob Keller  * used by this link speed, and that the register should be cleared by writing
5713a749623SJacob Keller  * 0. Other values specify the clock frequency in Hz.
5723a749623SJacob Keller  */
573a39dd252SKarol Kolacinski const struct ice_vernier_info_e82x e822_vernier[NUM_ICE_PTP_LNK_SPD] = {
5743a749623SJacob Keller 	/* ICE_PTP_LNK_SPD_1G */
5753a749623SJacob Keller 	{
5763a749623SJacob Keller 		/* tx_par_clk */
5773a749623SJacob Keller 		31250000, /* 31.25 MHz */
5783a749623SJacob Keller 		/* rx_par_clk */
5793a749623SJacob Keller 		31250000, /* 31.25 MHz */
5803a749623SJacob Keller 		/* tx_pcs_clk */
5813a749623SJacob Keller 		125000000, /* 125 MHz */
5823a749623SJacob Keller 		/* rx_pcs_clk */
5833a749623SJacob Keller 		125000000, /* 125 MHz */
5843a749623SJacob Keller 		/* tx_desk_rsgb_par */
5853a749623SJacob Keller 		0, /* unused */
5863a749623SJacob Keller 		/* rx_desk_rsgb_par */
5873a749623SJacob Keller 		0, /* unused */
5883a749623SJacob Keller 		/* tx_desk_rsgb_pcs */
5893a749623SJacob Keller 		0, /* unused */
5903a749623SJacob Keller 		/* rx_desk_rsgb_pcs */
5913a749623SJacob Keller 		0, /* unused */
5923a749623SJacob Keller 		/* tx_fixed_delay */
5933a749623SJacob Keller 		25140,
5943a749623SJacob Keller 		/* pmd_adj_divisor */
5953a749623SJacob Keller 		10000000,
5963a749623SJacob Keller 		/* rx_fixed_delay */
5973a749623SJacob Keller 		17372,
5983a749623SJacob Keller 	},
5993a749623SJacob Keller 	/* ICE_PTP_LNK_SPD_10G */
6003a749623SJacob Keller 	{
6013a749623SJacob Keller 		/* tx_par_clk */
6023a749623SJacob Keller 		257812500, /* 257.8125 MHz */
6033a749623SJacob Keller 		/* rx_par_clk */
6043a749623SJacob Keller 		257812500, /* 257.8125 MHz */
6053a749623SJacob Keller 		/* tx_pcs_clk */
6063a749623SJacob Keller 		156250000, /* 156.25 MHz */
6073a749623SJacob Keller 		/* rx_pcs_clk */
6083a749623SJacob Keller 		156250000, /* 156.25 MHz */
6093a749623SJacob Keller 		/* tx_desk_rsgb_par */
6103a749623SJacob Keller 		0, /* unused */
6113a749623SJacob Keller 		/* rx_desk_rsgb_par */
6123a749623SJacob Keller 		0, /* unused */
6133a749623SJacob Keller 		/* tx_desk_rsgb_pcs */
6143a749623SJacob Keller 		0, /* unused */
6153a749623SJacob Keller 		/* rx_desk_rsgb_pcs */
6163a749623SJacob Keller 		0, /* unused */
6173a749623SJacob Keller 		/* tx_fixed_delay */
6183a749623SJacob Keller 		6938,
6193a749623SJacob Keller 		/* pmd_adj_divisor */
6203a749623SJacob Keller 		82500000,
6213a749623SJacob Keller 		/* rx_fixed_delay */
6223a749623SJacob Keller 		6212,
6233a749623SJacob Keller 	},
6243a749623SJacob Keller 	/* ICE_PTP_LNK_SPD_25G */
6253a749623SJacob Keller 	{
6263a749623SJacob Keller 		/* tx_par_clk */
6273a749623SJacob Keller 		644531250, /* 644.53125 MHZ */
6283a749623SJacob Keller 		/* rx_par_clk */
6293a749623SJacob Keller 		644531250, /* 644.53125 MHz */
6303a749623SJacob Keller 		/* tx_pcs_clk */
6313a749623SJacob Keller 		390625000, /* 390.625 MHz */
6323a749623SJacob Keller 		/* rx_pcs_clk */
6333a749623SJacob Keller 		390625000, /* 390.625 MHz */
6343a749623SJacob Keller 		/* tx_desk_rsgb_par */
6353a749623SJacob Keller 		0, /* unused */
6363a749623SJacob Keller 		/* rx_desk_rsgb_par */
6373a749623SJacob Keller 		0, /* unused */
6383a749623SJacob Keller 		/* tx_desk_rsgb_pcs */
6393a749623SJacob Keller 		0, /* unused */
6403a749623SJacob Keller 		/* rx_desk_rsgb_pcs */
6413a749623SJacob Keller 		0, /* unused */
6423a749623SJacob Keller 		/* tx_fixed_delay */
6433a749623SJacob Keller 		2778,
6443a749623SJacob Keller 		/* pmd_adj_divisor */
6453a749623SJacob Keller 		206250000,
6463a749623SJacob Keller 		/* rx_fixed_delay */
6473a749623SJacob Keller 		2491,
6483a749623SJacob Keller 	},
6493a749623SJacob Keller 	/* ICE_PTP_LNK_SPD_25G_RS */
6503a749623SJacob Keller 	{
6513a749623SJacob Keller 		/* tx_par_clk */
6523a749623SJacob Keller 		0, /* unused */
6533a749623SJacob Keller 		/* rx_par_clk */
6543a749623SJacob Keller 		0, /* unused */
6553a749623SJacob Keller 		/* tx_pcs_clk */
6563a749623SJacob Keller 		0, /* unused */
6573a749623SJacob Keller 		/* rx_pcs_clk */
6583a749623SJacob Keller 		0, /* unused */
6593a749623SJacob Keller 		/* tx_desk_rsgb_par */
6603a749623SJacob Keller 		161132812, /* 162.1328125 MHz Reed Solomon gearbox */
6613a749623SJacob Keller 		/* rx_desk_rsgb_par */
6623a749623SJacob Keller 		161132812, /* 162.1328125 MHz Reed Solomon gearbox */
6633a749623SJacob Keller 		/* tx_desk_rsgb_pcs */
6643a749623SJacob Keller 		97656250, /* 97.62625 MHz Reed Solomon gearbox */
6653a749623SJacob Keller 		/* rx_desk_rsgb_pcs */
6663a749623SJacob Keller 		97656250, /* 97.62625 MHz Reed Solomon gearbox */
6673a749623SJacob Keller 		/* tx_fixed_delay */
6683a749623SJacob Keller 		3928,
6693a749623SJacob Keller 		/* pmd_adj_divisor */
6703a749623SJacob Keller 		206250000,
6713a749623SJacob Keller 		/* rx_fixed_delay */
6723a749623SJacob Keller 		29535,
6733a749623SJacob Keller 	},
6743a749623SJacob Keller 	/* ICE_PTP_LNK_SPD_40G */
6753a749623SJacob Keller 	{
6763a749623SJacob Keller 		/* tx_par_clk */
6773a749623SJacob Keller 		257812500,
6783a749623SJacob Keller 		/* rx_par_clk */
6793a749623SJacob Keller 		257812500,
6803a749623SJacob Keller 		/* tx_pcs_clk */
6813a749623SJacob Keller 		156250000, /* 156.25 MHz */
6823a749623SJacob Keller 		/* rx_pcs_clk */
6833a749623SJacob Keller 		156250000, /* 156.25 MHz */
6843a749623SJacob Keller 		/* tx_desk_rsgb_par */
6853a749623SJacob Keller 		0, /* unused */
6863a749623SJacob Keller 		/* rx_desk_rsgb_par */
6873a749623SJacob Keller 		156250000, /* 156.25 MHz deskew clock */
6883a749623SJacob Keller 		/* tx_desk_rsgb_pcs */
6893a749623SJacob Keller 		0, /* unused */
6903a749623SJacob Keller 		/* rx_desk_rsgb_pcs */
6913a749623SJacob Keller 		156250000, /* 156.25 MHz deskew clock */
6923a749623SJacob Keller 		/* tx_fixed_delay */
6933a749623SJacob Keller 		5666,
6943a749623SJacob Keller 		/* pmd_adj_divisor */
6953a749623SJacob Keller 		82500000,
6963a749623SJacob Keller 		/* rx_fixed_delay */
6973a749623SJacob Keller 		4244,
6983a749623SJacob Keller 	},
6993a749623SJacob Keller 	/* ICE_PTP_LNK_SPD_50G */
7003a749623SJacob Keller 	{
7013a749623SJacob Keller 		/* tx_par_clk */
7023a749623SJacob Keller 		644531250, /* 644.53125 MHZ */
7033a749623SJacob Keller 		/* rx_par_clk */
7043a749623SJacob Keller 		644531250, /* 644.53125 MHZ */
7053a749623SJacob Keller 		/* tx_pcs_clk */
7063a749623SJacob Keller 		390625000, /* 390.625 MHz */
7073a749623SJacob Keller 		/* rx_pcs_clk */
7083a749623SJacob Keller 		390625000, /* 390.625 MHz */
7093a749623SJacob Keller 		/* tx_desk_rsgb_par */
7103a749623SJacob Keller 		0, /* unused */
7113a749623SJacob Keller 		/* rx_desk_rsgb_par */
7123a749623SJacob Keller 		195312500, /* 193.3125 MHz deskew clock */
7133a749623SJacob Keller 		/* tx_desk_rsgb_pcs */
7143a749623SJacob Keller 		0, /* unused */
7153a749623SJacob Keller 		/* rx_desk_rsgb_pcs */
7163a749623SJacob Keller 		195312500, /* 193.3125 MHz deskew clock */
7173a749623SJacob Keller 		/* tx_fixed_delay */
7183a749623SJacob Keller 		2778,
7193a749623SJacob Keller 		/* pmd_adj_divisor */
7203a749623SJacob Keller 		206250000,
7213a749623SJacob Keller 		/* rx_fixed_delay */
7223a749623SJacob Keller 		2868,
7233a749623SJacob Keller 	},
7243a749623SJacob Keller 	/* ICE_PTP_LNK_SPD_50G_RS */
7253a749623SJacob Keller 	{
7263a749623SJacob Keller 		/* tx_par_clk */
7273a749623SJacob Keller 		0, /* unused */
7283a749623SJacob Keller 		/* rx_par_clk */
7293a749623SJacob Keller 		644531250, /* 644.53125 MHz */
7303a749623SJacob Keller 		/* tx_pcs_clk */
7313a749623SJacob Keller 		0, /* unused */
7323a749623SJacob Keller 		/* rx_pcs_clk */
7333a749623SJacob Keller 		644531250, /* 644.53125 MHz */
7343a749623SJacob Keller 		/* tx_desk_rsgb_par */
7353a749623SJacob Keller 		322265625, /* 322.265625 MHz Reed Solomon gearbox */
7363a749623SJacob Keller 		/* rx_desk_rsgb_par */
7373a749623SJacob Keller 		322265625, /* 322.265625 MHz Reed Solomon gearbox */
7383a749623SJacob Keller 		/* tx_desk_rsgb_pcs */
7393a749623SJacob Keller 		644531250, /* 644.53125 MHz Reed Solomon gearbox */
7403a749623SJacob Keller 		/* rx_desk_rsgb_pcs */
7413a749623SJacob Keller 		644531250, /* 644.53125 MHz Reed Solomon gearbox */
7423a749623SJacob Keller 		/* tx_fixed_delay */
7433a749623SJacob Keller 		2095,
7443a749623SJacob Keller 		/* pmd_adj_divisor */
7453a749623SJacob Keller 		206250000,
7463a749623SJacob Keller 		/* rx_fixed_delay */
7473a749623SJacob Keller 		14524,
7483a749623SJacob Keller 	},
7493a749623SJacob Keller 	/* ICE_PTP_LNK_SPD_100G_RS */
7503a749623SJacob Keller 	{
7513a749623SJacob Keller 		/* tx_par_clk */
7523a749623SJacob Keller 		0, /* unused */
7533a749623SJacob Keller 		/* rx_par_clk */
7543a749623SJacob Keller 		644531250, /* 644.53125 MHz */
7553a749623SJacob Keller 		/* tx_pcs_clk */
7563a749623SJacob Keller 		0, /* unused */
7573a749623SJacob Keller 		/* rx_pcs_clk */
7583a749623SJacob Keller 		644531250, /* 644.53125 MHz */
7593a749623SJacob Keller 		/* tx_desk_rsgb_par */
7603a749623SJacob Keller 		644531250, /* 644.53125 MHz Reed Solomon gearbox */
7613a749623SJacob Keller 		/* rx_desk_rsgb_par */
7623a749623SJacob Keller 		644531250, /* 644.53125 MHz Reed Solomon gearbox */
7633a749623SJacob Keller 		/* tx_desk_rsgb_pcs */
7643a749623SJacob Keller 		644531250, /* 644.53125 MHz Reed Solomon gearbox */
7653a749623SJacob Keller 		/* rx_desk_rsgb_pcs */
7663a749623SJacob Keller 		644531250, /* 644.53125 MHz Reed Solomon gearbox */
7673a749623SJacob Keller 		/* tx_fixed_delay */
7683a749623SJacob Keller 		1620,
7693a749623SJacob Keller 		/* pmd_adj_divisor */
7703a749623SJacob Keller 		206250000,
7713a749623SJacob Keller 		/* rx_fixed_delay */
7723a749623SJacob Keller 		7775,
7733a749623SJacob Keller 	},
7743a749623SJacob Keller };
7753a749623SJacob Keller 
7763a749623SJacob Keller #endif /* _ICE_PTP_CONSTS_H_ */
777