Merge tag 'efi-2020-07-rc6' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
[oweals/u-boot.git] / arch / arm / include / asm / arch-fsl-layerscape / fsl_serdes.h
index 70181c5077ca5897c75e87766e3ca1bc60befece..8f4365175697db6a8dd362743f206c3e97c8a1ef 100644 (file)
@@ -1,7 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
+ * Copyright 2018 NXP
  * Copyright 2015 Freescale Semiconductor, Inc.
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #ifndef __FSL_SERDES_H__
@@ -9,7 +9,7 @@
 
 #include <config.h>
 
-#ifdef CONFIG_LS2080A
+#ifdef CONFIG_FSL_LSCH3
 enum srds_prtcl {
        /*
         * Nobody will check whether the device 'NONE' has been configured,
@@ -20,8 +20,12 @@ enum srds_prtcl {
        PCIE2,
        PCIE3,
        PCIE4,
+       PCIE5,
+       PCIE6,
        SATA1,
        SATA2,
+       SATA3,
+       SATA4,
        XAUI1,
        XAUI2,
        XFI1,
@@ -32,6 +36,12 @@ enum srds_prtcl {
        XFI6,
        XFI7,
        XFI8,
+       XFI9,
+       XFI10,
+       XFI11,
+       XFI12,
+       XFI13,
+       XFI14,
        SGMII1,
        SGMII2,
        SGMII3,
@@ -48,16 +58,47 @@ enum srds_prtcl {
        SGMII14,
        SGMII15,
        SGMII16,
+       SGMII17,
+       SGMII18,
        QSGMII_A,
        QSGMII_B,
        QSGMII_C,
        QSGMII_D,
+       SGMII_T1,
+       SGMII_T2,
+       SGMII_T3,
+       SGMII_T4,
+       SXGMII1,
+       SXGMII2,
+       SXGMII3,
+       SXGMII4,
+       QXGMII1,
+       QXGMII2,
+       QXGMII3,
+       QXGMII4,
+       _25GE1,
+       _25GE2,
+       _25GE3,
+       _25GE4,
+       _25GE5,
+       _25GE6,
+       _25GE7,
+       _25GE8,
+       _25GE9,
+       _25GE10,
+       _40GE1,
+       _40GE2,
+       _50GE1,
+       _50GE2,
+       _100GE1,
+       _100GE2,
        SERDES_PRCTL_COUNT
 };
 
 enum srds {
        FSL_SRDS_1  = 0,
        FSL_SRDS_2  = 1,
+       NXP_SRDS_3  = 2,
 };
 #elif defined(CONFIG_FSL_LSCH2)
 enum srds_prtcl {
@@ -158,10 +199,13 @@ void fsl_serdes_init(void);
 int serdes_get_first_lane(u32 sd, enum srds_prtcl device);
 enum srds_prtcl serdes_get_prtcl(int serdes, int cfg, int lane);
 int is_serdes_prtcl_valid(int serdes, u32 prtcl);
+int serdes_get_number(int serdes, int cfg);
+void fsl_rgmii_init(void);
 
 #ifdef CONFIG_FSL_LSCH2
 const char *serdes_clock_to_string(u32 clock);
 int get_serdes_protocol(void);
+#endif
 #ifdef CONFIG_SYS_HAS_SERDES
 /* Get the volt of SVDD in unit mV */
 int get_serdes_volt(void);
@@ -170,6 +214,5 @@ int set_serdes_volt(int svdd);
 /* The target volt of SVDD in unit mV */
 int setup_serdes_volt(u32 svdd);
 #endif
-#endif
 
 #endif /* __FSL_SERDES_H__ */