mmc: fsl_esdhc: Fix SDR104 and HS200 support
[oweals/u-boot.git] / include / phy_interface.h
index 73f3a3679ceb70cf8eea0663411d270701072f8d..882e4af8ffd55dbad6390902662e71c530f20cef 100644 (file)
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright 2011 Freescale Semiconductor, Inc.
+ * Copyright 2020 NXP
  *     Andy Fleming <afleming@gmail.com>
  *
  * This file pretty much stolen from Linux's mii.h/ethtool.h/phy.h
@@ -31,6 +32,7 @@ typedef enum {
        PHY_INTERFACE_MODE_XLAUI,
        PHY_INTERFACE_MODE_CAUI2,
        PHY_INTERFACE_MODE_CAUI4,
+       PHY_INTERFACE_MODE_NCSI,
        PHY_INTERFACE_MODE_XFI,
        PHY_INTERFACE_MODE_USXGMII,
        PHY_INTERFACE_MODE_NONE,        /* Must be last */
@@ -60,11 +62,21 @@ static const char * const phy_interface_strings[] = {
        [PHY_INTERFACE_MODE_XLAUI]              = "xlaui4",
        [PHY_INTERFACE_MODE_CAUI2]              = "caui2",
        [PHY_INTERFACE_MODE_CAUI4]              = "caui4",
+       [PHY_INTERFACE_MODE_NCSI]               = "NC-SI",
        [PHY_INTERFACE_MODE_XFI]                = "xfi",
        [PHY_INTERFACE_MODE_USXGMII]            = "usxgmii",
        [PHY_INTERFACE_MODE_NONE]               = "",
 };
 
+/* Backplane modes:
+ * are considered a sub-type of phy_interface_t: XGMII
+ * and are specified in "phy-connection-type" with one of the following strings
+ */
+static const char * const backplane_mode_strings[] = {
+       "10gbase-kr",
+       "40gbase-kr4",
+};
+
 static inline const char *phy_string_for_interface(phy_interface_t i)
 {
        /* Default to unknown */
@@ -74,4 +86,17 @@ static inline const char *phy_string_for_interface(phy_interface_t i)
        return phy_interface_strings[i];
 }
 
+static inline bool is_backplane_mode(const char *phyconn)
+{
+       int i;
+
+       if (!phyconn)
+               return false;
+       for (i = 0; i < ARRAY_SIZE(backplane_mode_strings); i++) {
+               if (!strcmp(phyconn, backplane_mode_strings[i]))
+                       return true;
+       }
+       return false;
+}
+
 #endif /* _PHY_INTERFACE_H */