Date: Thu, 16 Dec 2010 07:20:39 +0000 (UTC) From: Juli Mallett <jmallett@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r216476 - in head/sys: contrib/octeon-sdk mips/cavium/octe Message-ID: <201012160720.oBG7Kdhm029613@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jmallett Date: Thu Dec 16 07:20:38 2010 New Revision: 216476 URL: http://svn.freebsd.org/changeset/base/216476 Log: o) Add support for the Lanner MR-321X/MR-325, which is just a modified MR-320. o) On the Lanner MR-730, disable PCIe lane swap, per vendor. 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-rgmii.c head/sys/contrib/octeon-sdk/cvmx-pcie.c head/sys/mips/cavium/octe/ethernet-common.c Modified: head/sys/contrib/octeon-sdk/cvmx-app-init.h ============================================================================== --- head/sys/contrib/octeon-sdk/cvmx-app-init.h Thu Dec 16 05:13:41 2010 (r216475) +++ head/sys/contrib/octeon-sdk/cvmx-app-init.h Thu Dec 16 07:20:38 2010 (r216476) @@ -223,6 +223,7 @@ enum cvmx_board_types_enum { CVMX_BOARD_TYPE_CUST_PRIVATE_MIN = 20001, #if defined(OCTEON_VENDOR_LANNER) CVMX_BOARD_TYPE_CUST_LANNER_MR320= 20002, + CVMX_BOARD_TYPE_CUST_LANNER_MR321X=20007, #endif CVMX_BOARD_TYPE_CUST_PRIVATE_MAX = 30000, @@ -336,6 +337,7 @@ static inline const char *cvmx_board_typ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN) #if defined(OCTEON_VENDOR_LANNER) ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_LANNER_MR320) + ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_LANNER_MR321X) #endif ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX) Modified: head/sys/contrib/octeon-sdk/cvmx-helper-board.c ============================================================================== --- head/sys/contrib/octeon-sdk/cvmx-helper-board.c Thu Dec 16 05:13:41 2010 (r216475) +++ head/sys/contrib/octeon-sdk/cvmx-helper-board.c Thu Dec 16 07:20:38 2010 (r216476) @@ -276,6 +276,7 @@ int cvmx_helper_board_get_mii_address(in return ipd_port; return -1; case CVMX_BOARD_TYPE_CUST_LANNER_MR320: + case CVMX_BOARD_TYPE_CUST_LANNER_MR321X: /* Port 0 is a Marvell 88E6161 switch, ports 1 and 2 are Marvell 88E1111 interfaces. */ switch (ipd_port) { @@ -417,6 +418,7 @@ cvmx_helper_link_info_t __cvmx_helper_bo is_broadcom_phy = 1; break; case CVMX_BOARD_TYPE_CUST_LANNER_MR320: + case CVMX_BOARD_TYPE_CUST_LANNER_MR321X: /* Port 0 connects to the switch */ if (ipd_port == 0) { @@ -860,6 +862,7 @@ cvmx_helper_board_usb_clock_types_t __cv case CVMX_BOARD_TYPE_LANAI2_G: #if defined(OCTEON_VENDOR_LANNER) case CVMX_BOARD_TYPE_CUST_LANNER_MR320: + case CVMX_BOARD_TYPE_CUST_LANNER_MR321X: #endif return USB_CLOCK_TYPE_CRYSTAL_12; } Modified: head/sys/contrib/octeon-sdk/cvmx-helper-rgmii.c ============================================================================== --- head/sys/contrib/octeon-sdk/cvmx-helper-rgmii.c Thu Dec 16 05:13:41 2010 (r216475) +++ head/sys/contrib/octeon-sdk/cvmx-helper-rgmii.c Thu Dec 16 07:20:38 2010 (r216476) @@ -239,6 +239,7 @@ int __cvmx_helper_rgmii_enable(int inter #if defined(OCTEON_VENDOR_LANNER) switch (cvmx_sysinfo_get()->board_type) { case CVMX_BOARD_TYPE_CUST_LANNER_MR320: + case CVMX_BOARD_TYPE_CUST_LANNER_MR321X: if (port == 0) { cvmx_write_csr(CVMX_ASXX_TX_CLK_SETX(port, interface), 4); } else { Modified: head/sys/contrib/octeon-sdk/cvmx-pcie.c ============================================================================== --- head/sys/contrib/octeon-sdk/cvmx-pcie.c Thu Dec 16 05:13:41 2010 (r216475) +++ head/sys/contrib/octeon-sdk/cvmx-pcie.c Thu Dec 16 07:20:38 2010 (r216476) @@ -392,7 +392,16 @@ static int __cvmx_pcie_rc_initialize_lin /* Lane swap needs to be manually enabled for CN52XX */ if (OCTEON_IS_MODEL(OCTEON_CN52XX) && (pcie_port == 1)) { - pescx_ctl_status.s.lane_swp = 1; + switch (cvmx_sysinfo_get()->board_type) + { +#if defined(OCTEON_VENDOR_LANNER) + case CVMX_BOARD_TYPE_CUST_LANNER_MR730: + break; +#endif + default: + pescx_ctl_status.s.lane_swp = 1; + break; + } cvmx_write_csr(CVMX_PESCX_CTL_STATUS(pcie_port),pescx_ctl_status.u64); } Modified: head/sys/mips/cavium/octe/ethernet-common.c ============================================================================== --- head/sys/mips/cavium/octe/ethernet-common.c Thu Dec 16 05:13:41 2010 (r216475) +++ head/sys/mips/cavium/octe/ethernet-common.c Thu Dec 16 07:20:38 2010 (r216476) @@ -294,6 +294,7 @@ int cvm_oct_common_init(struct ifnet *if switch (cvmx_sysinfo_get()->board_type) { #if defined(OCTEON_VENDOR_LANNER) case CVMX_BOARD_TYPE_CUST_LANNER_MR320: + case CVMX_BOARD_TYPE_CUST_LANNER_MR321X: if (priv->phy_id == 16) cvm_oct_mv88e61xx_setup_device(ifp); break;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201012160720.oBG7Kdhm029613>