1*0a6e2147SRobert Marko /* 2*0a6e2147SRobert Marko * Copyright (C) 2021 Sartura Ltd. 3*0a6e2147SRobert Marko * Copyright (C) 2021 Globalscale technologies, Inc. 4*0a6e2147SRobert Marko * Copyright (C) 2021 Marvell International Ltd. 5*0a6e2147SRobert Marko * 6*0a6e2147SRobert Marko * SPDX-License-Identifier: BSD-3-Clause 7*0a6e2147SRobert Marko * https://spdx.org/licenses 8*0a6e2147SRobert Marko */ 9*0a6e2147SRobert Marko 10*0a6e2147SRobert Marko #ifndef __PHY_PORTING_LAYER_H 11*0a6e2147SRobert Marko #define __PHY_PORTING_LAYER_H 12*0a6e2147SRobert Marko 13*0a6e2147SRobert Marko #define MAX_LANE_NR 6 14*0a6e2147SRobert Marko 15*0a6e2147SRobert Marko static const struct xfi_params 16*0a6e2147SRobert Marko xfi_static_values_tab[AP_NUM][CP_NUM][MAX_LANE_NR] = { 17*0a6e2147SRobert Marko /* AP0 */ 18*0a6e2147SRobert Marko { 19*0a6e2147SRobert Marko /* CP 0 */ 20*0a6e2147SRobert Marko { 21*0a6e2147SRobert Marko { 0 }, /* Comphy0 */ 22*0a6e2147SRobert Marko { 0 }, /* Comphy1 */ 23*0a6e2147SRobert Marko { 0 }, /* Comphy2 */ 24*0a6e2147SRobert Marko { 0 }, /* Comphy3 */ 25*0a6e2147SRobert Marko { .g1_ffe_res_sel = 0x3, .g1_ffe_cap_sel = 0xf, .align90 = 0x60, 26*0a6e2147SRobert Marko .g1_dfe_res = 0x1, .g1_amp = 0x1c, .g1_emph = 0xe, 27*0a6e2147SRobert Marko .g1_emph_en = 0x1, .g1_tx_amp_adj = 0x1, .g1_tx_emph_en = 0x1, 28*0a6e2147SRobert Marko .g1_tx_emph = 0x0, .g1_rx_selmuff = 0x1, .g1_rx_selmufi = 0x0, 29*0a6e2147SRobert Marko .g1_rx_selmupf = 0x2, .g1_rx_selmupi = 0x2, 30*0a6e2147SRobert Marko .valid = 1 }, /* Comphy4 */ 31*0a6e2147SRobert Marko { 0 }, /* Comphy5 */ 32*0a6e2147SRobert Marko }, 33*0a6e2147SRobert Marko }, 34*0a6e2147SRobert Marko }; 35*0a6e2147SRobert Marko 36*0a6e2147SRobert Marko static const struct sata_params 37*0a6e2147SRobert Marko sata_static_values_tab[AP_NUM][CP_NUM][MAX_LANE_NR] = { 38*0a6e2147SRobert Marko /* AP0 */ 39*0a6e2147SRobert Marko { 40*0a6e2147SRobert Marko /* CP 0 */ 41*0a6e2147SRobert Marko { 42*0a6e2147SRobert Marko { 0 }, /* Comphy0 */ 43*0a6e2147SRobert Marko { 0 }, /* Comphy1 */ 44*0a6e2147SRobert Marko { .g1_amp = 0x8, .g2_amp = 0xa, .g3_amp = 0x1e, 45*0a6e2147SRobert Marko .g1_emph = 0x1, .g2_emph = 0x2, .g3_emph = 0xe, 46*0a6e2147SRobert Marko .g1_emph_en = 0x1, .g2_emph_en = 0x1, .g3_emph_en = 0x1, 47*0a6e2147SRobert Marko .g1_tx_amp_adj = 0x1, .g2_tx_amp_adj = 0x1, .g3_tx_amp_adj = 0x1, 48*0a6e2147SRobert Marko .g1_tx_emph_en = 0x0, .g2_tx_emph_en = 0x0, .g3_tx_emph_en = 0x0, 49*0a6e2147SRobert Marko .g1_tx_emph = 0x1, .g2_tx_emph = 0x1, .g3_tx_emph = 0x1, 50*0a6e2147SRobert Marko .g3_dfe_res = 0x1, .g3_ffe_res_sel = 0x4, .g3_ffe_cap_sel = 0xf, 51*0a6e2147SRobert Marko .align90 = 0x61, 52*0a6e2147SRobert Marko .g1_rx_selmuff = 0x3, .g2_rx_selmuff = 0x3, .g3_rx_selmuff = 0x3, 53*0a6e2147SRobert Marko .g1_rx_selmufi = 0x0, .g2_rx_selmufi = 0x0, .g3_rx_selmufi = 0x3, 54*0a6e2147SRobert Marko .g1_rx_selmupf = 0x1, .g2_rx_selmupf = 0x1, .g3_rx_selmupf = 0x2, 55*0a6e2147SRobert Marko .g1_rx_selmupi = 0x0, .g2_rx_selmupi = 0x0, .g3_rx_selmupi = 0x2, 56*0a6e2147SRobert Marko .polarity_invert = COMPHY_POLARITY_NO_INVERT, 57*0a6e2147SRobert Marko .valid = 0x1 58*0a6e2147SRobert Marko }, /* Comphy2 */ 59*0a6e2147SRobert Marko { .g1_amp = 0x8, .g2_amp = 0xa, .g3_amp = 0x1e, 60*0a6e2147SRobert Marko .g1_emph = 0x1, .g2_emph = 0x2, .g3_emph = 0xe, 61*0a6e2147SRobert Marko .g1_emph_en = 0x1, .g2_emph_en = 0x1, .g3_emph_en = 0x1, 62*0a6e2147SRobert Marko .g1_tx_amp_adj = 0x1, .g2_tx_amp_adj = 0x1, .g3_tx_amp_adj = 0x1, 63*0a6e2147SRobert Marko .g1_tx_emph_en = 0x0, .g2_tx_emph_en = 0x0, .g3_tx_emph_en = 0x0, 64*0a6e2147SRobert Marko .g1_tx_emph = 0x1, .g2_tx_emph = 0x1, .g3_tx_emph = 0x1, 65*0a6e2147SRobert Marko .g3_dfe_res = 0x1, .g3_ffe_res_sel = 0x4, .g3_ffe_cap_sel = 0xf, 66*0a6e2147SRobert Marko .align90 = 0x61, 67*0a6e2147SRobert Marko .g1_rx_selmuff = 0x3, .g2_rx_selmuff = 0x3, .g3_rx_selmuff = 0x3, 68*0a6e2147SRobert Marko .g1_rx_selmufi = 0x0, .g2_rx_selmufi = 0x0, .g3_rx_selmufi = 0x3, 69*0a6e2147SRobert Marko .g1_rx_selmupf = 0x1, .g2_rx_selmupf = 0x1, .g3_rx_selmupf = 0x2, 70*0a6e2147SRobert Marko .g1_rx_selmupi = 0x0, .g2_rx_selmupi = 0x0, .g3_rx_selmupi = 0x2, 71*0a6e2147SRobert Marko .polarity_invert = COMPHY_POLARITY_NO_INVERT, 72*0a6e2147SRobert Marko .valid = 0x1 73*0a6e2147SRobert Marko }, /* Comphy3 */ 74*0a6e2147SRobert Marko { 0 }, /* Comphy4 */ 75*0a6e2147SRobert Marko { 0 }, /* Comphy5 */ 76*0a6e2147SRobert Marko }, 77*0a6e2147SRobert Marko }, 78*0a6e2147SRobert Marko }; 79*0a6e2147SRobert Marko 80*0a6e2147SRobert Marko static const struct usb_params 81*0a6e2147SRobert Marko usb_static_values_tab[AP_NUM][CP_NUM][MAX_LANE_NR] = { 82*0a6e2147SRobert Marko [0 ... AP_NUM-1][0 ... CP_NUM-1][0 ... MAX_LANE_NR-1] = { 83*0a6e2147SRobert Marko .polarity_invert = COMPHY_POLARITY_NO_INVERT 84*0a6e2147SRobert Marko }, 85*0a6e2147SRobert Marko }; 86*0a6e2147SRobert Marko 87*0a6e2147SRobert Marko #endif /* __PHY_PORTING_LAYER_H */ 88