]>
git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/include/asm/arch-fsl-layerscape/fsl_serdes.h
2 * Copyright 2015 Freescale Semiconductor, Inc.
4 * SPDX-License-Identifier: GPL-2.0+
7 #ifndef __FSL_SERDES_H__
8 #define __FSL_SERDES_H__
15 * Nobody will check whether the device 'NONE' has been configured,
16 * So use it to indicate if the serdes_prtcl_map has been initialized.
51 QSGMII_A
, /* A indicates MACs 1-4 */
52 QSGMII_B
, /* B indicates MACs 5-8 */
53 QSGMII_C
, /* C indicates MACs 9-12 */
54 QSGMII_D
, /* D indicates MACs 12-16 */
62 #elif defined(CONFIG_FSL_LSCH2)
65 * Nobody will check whether the device 'NONE' has been configured,
66 * So use it to indicate if the serdes_prtcl_map has been initialized.
116 QSGMII_FM1_A
, /* A indicates MACs 1,2,5,6 */
117 QSGMII_FM1_B
, /* B indicates MACs 5,6,9,10 */
127 QSGMII_SW1_A
, /* Indicates ports on L2 Switch */
129 SGMII_2500_FM1_DTSEC1
,
130 SGMII_2500_FM1_DTSEC2
,
131 SGMII_2500_FM1_DTSEC3
,
132 SGMII_2500_FM1_DTSEC4
,
133 SGMII_2500_FM1_DTSEC5
,
134 SGMII_2500_FM1_DTSEC6
,
135 SGMII_2500_FM1_DTSEC9
,
136 SGMII_2500_FM1_DTSEC10
,
137 SGMII_2500_FM2_DTSEC1
,
138 SGMII_2500_FM2_DTSEC2
,
139 SGMII_2500_FM2_DTSEC3
,
140 SGMII_2500_FM2_DTSEC4
,
141 SGMII_2500_FM2_DTSEC5
,
142 SGMII_2500_FM2_DTSEC6
,
143 SGMII_2500_FM2_DTSEC9
,
144 SGMII_2500_FM2_DTSEC10
,
156 int is_serdes_configured(enum srds_prtcl device
);
157 void fsl_serdes_init(void);
158 int serdes_get_first_lane(u32 sd
, enum srds_prtcl device
);
159 enum srds_prtcl
serdes_get_prtcl(int serdes
, int cfg
, int lane
);
160 int is_serdes_prtcl_valid(int serdes
, u32 prtcl
);
162 #ifdef CONFIG_FSL_LSCH2
163 const char *serdes_clock_to_string(u32 clock
);
164 int get_serdes_protocol(void);
165 #ifdef CONFIG_SYS_HAS_SERDES
166 /* Get the volt of SVDD in unit mV */
167 int get_serdes_volt(void);
168 /* Set the volt of SVDD in unit mV */
169 int set_serdes_volt(int svdd
);
170 /* The target volt of SVDD in unit mV */
171 int setup_serdes_volt(u32 svdd
);
175 #endif /* __FSL_SERDES_H__ */