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