Home | History | Annotate | Download | only in arch-ls102xa
      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