1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * Copyright 2014 Freescale Semiconductor, Inc. 4 */ 5 6 #ifndef __FSL_SERDES_H 7 #define __FSL_SERDES_H 8 9 #include <config.h> 10 11 enum srds_prtcl { 12 /* 13 * Nobody will check whether the device 'NONE' has been configured, 14 * So use it to indicate if the serdes_prtcl_map has been initialized. 15 */ 16 NONE = 0, 17 PCIE1, 18 PCIE2, 19 SATA1, 20 SGMII_TSEC1, 21 SGMII_TSEC2, 22 }; 23 24 enum srds { 25 FSL_SRDS_1 = 0, 26 FSL_SRDS_2 = 1, 27 }; 28 29 int is_serdes_configured(enum srds_prtcl device); 30 void fsl_serdes_init(void); 31 const char *serdes_clock_to_string(u32 clock); 32 33 int serdes_get_first_lane(u32 sd, enum srds_prtcl device); 34 enum srds_prtcl serdes_get_prtcl(int serdes, int cfg, int lane); 35 36 #endif /* __FSL_SERDES_H */ 37