svn commit: r215014 - head/sys/contrib/octeon-sdk

Juli Mallett jmallett at FreeBSD.org
Mon Nov 8 21:22:56 UTC 2010


Author: jmallett
Date: Mon Nov  8 21:22:55 2010
New Revision: 215014
URL: http://svn.freebsd.org/changeset/base/215014

Log:
  o) Recognize the Lanner MR-730.
  o) Fix enumeration of PHY addresses on the MR-955.
  o) Parse link state for the MR-730 using the Broadcom PHY support in the SDK.
     It's not clear that this is entirely-correct, but it seems to work.  Since
     this board uses a BCM5482S, this may mean that we work correctly for copper
     but not SFI, which is untested.

Modified:
  head/sys/contrib/octeon-sdk/cvmx-app-init.h
  head/sys/contrib/octeon-sdk/cvmx-helper-board.c
  head/sys/contrib/octeon-sdk/cvmx-helper.c

Modified: head/sys/contrib/octeon-sdk/cvmx-app-init.h
==============================================================================
--- head/sys/contrib/octeon-sdk/cvmx-app-init.h	Mon Nov  8 20:57:08 2010	(r215013)
+++ head/sys/contrib/octeon-sdk/cvmx-app-init.h	Mon Nov  8 21:22:55 2010	(r215014)
@@ -193,6 +193,9 @@ enum cvmx_board_types_enum {
     CVMX_BOARD_TYPE_CUST_GCT108      = 10012,
     CVMX_BOARD_TYPE_CUST_AGS109      = 10013,
     CVMX_BOARD_TYPE_CUST_GCT110      = 10014,
+#if defined(OCTEON_VENDOR_LANNER)
+    CVMX_BOARD_TYPE_CUST_LANNER_MR730= 10021,
+#endif
     CVMX_BOARD_TYPE_CUST_DEFINED_MAX = 20000,
 
     /* Set aside a range for customer private use.  The SDK won't
@@ -272,6 +275,9 @@ static inline const char *cvmx_board_typ
         ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_GCT108)
         ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_AGS109)
         ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_GCT110)
+#if defined(OCTEON_VENDOR_LANNER)
+	ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_LANNER_MR730)
+#endif
         ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DEFINED_MAX)
 
         /* Customer private range */

Modified: head/sys/contrib/octeon-sdk/cvmx-helper-board.c
==============================================================================
--- head/sys/contrib/octeon-sdk/cvmx-helper-board.c	Mon Nov  8 20:57:08 2010	(r215013)
+++ head/sys/contrib/octeon-sdk/cvmx-helper-board.c	Mon Nov  8 21:22:55 2010	(r215014)
@@ -114,9 +114,6 @@ int cvmx_helper_board_get_mii_address(in
         case CVMX_BOARD_TYPE_EBT5800:
         case CVMX_BOARD_TYPE_THUNDER:
         case CVMX_BOARD_TYPE_NICPRO2:
-#if defined(OCTEON_VENDOR_LANNER)
-	case CVMX_BOARD_TYPE_CUST_LANNER_MR955:
-#endif
             /* Interface 0 is SPI4, interface 1 is RGMII */
             if ((ipd_port >= 16) && (ipd_port < 20))
                 return ipd_port - 16;
@@ -180,6 +177,15 @@ int cvmx_helper_board_get_mii_address(in
 
 	/* Private vendor-defined boards.  */
 #if defined(OCTEON_VENDOR_LANNER)
+	case CVMX_BOARD_TYPE_CUST_LANNER_MR955:
+	    /* Interface 1 is 12 BCM5482S PHYs.  */
+            if ((ipd_port >= 16) && (ipd_port < 28))
+                return ipd_port - 16;
+	    return -1;
+	case CVMX_BOARD_TYPE_CUST_LANNER_MR730:
+            if ((ipd_port >= 0) && (ipd_port < 4))
+                return ipd_port;
+	    return -1;
 	case CVMX_BOARD_TYPE_CUST_LANNER_MR320:
 	    /* Port 0 is a Marvell 88E6161 switch, ports 1 and 2 are Marvell
 	       88E1111 interfaces.  */
@@ -291,6 +297,10 @@ cvmx_helper_link_info_t __cvmx_helper_bo
             break;
 	/* Private vendor-defined boards.  */
 #if defined(OCTEON_VENDOR_LANNER)
+	case CVMX_BOARD_TYPE_CUST_LANNER_MR730:
+	    /* Ports are BCM5482S */
+	    is_broadcom_phy = 1;
+	    break;
 	case CVMX_BOARD_TYPE_CUST_LANNER_MR320:
 	    /* Port 0 connects to the switch */
 	    if (ipd_port == 0)

Modified: head/sys/contrib/octeon-sdk/cvmx-helper.c
==============================================================================
--- head/sys/contrib/octeon-sdk/cvmx-helper.c	Mon Nov  8 20:57:08 2010	(r215013)
+++ head/sys/contrib/octeon-sdk/cvmx-helper.c	Mon Nov  8 21:22:55 2010	(r215014)
@@ -105,6 +105,8 @@ int cvmx_helper_get_number_of_interfaces
 #if defined(OCTEON_VENDOR_LANNER)
 	case CVMX_BOARD_TYPE_CUST_LANNER_MR955:
 	    return 2;
+	case CVMX_BOARD_TYPE_CUST_LANNER_MR730:
+	    return 1;
 #endif
 	default:
 	    break;


More information about the svn-src-head mailing list