svn commit: r279479 - head/sys/mips/atheros

Adrian Chadd adrian at FreeBSD.org
Sun Mar 1 06:59:33 UTC 2015


Author: adrian
Date: Sun Mar  1 06:59:32 2015
New Revision: 279479
URL: https://svnweb.freebsd.org/changeset/base/279479

Log:
  Flesh out some more QCA955x ethernet PLL setup.

Modified:
  head/sys/mips/atheros/qca955x_chip.c

Modified: head/sys/mips/atheros/qca955x_chip.c
==============================================================================
--- head/sys/mips/atheros/qca955x_chip.c	Sun Mar  1 06:54:59 2015	(r279478)
+++ head/sys/mips/atheros/qca955x_chip.c	Sun Mar  1 06:59:32 2015	(r279479)
@@ -189,26 +189,21 @@ qca955x_chip_set_mii_speed(uint32_t unit
 	return;
 }
 
-/*
- * XXX TODO !!
- */
 static void
 qca955x_chip_set_pll_ge(int unit, int speed, uint32_t pll)
 {
-#if 0
 	switch (unit) {
 	case 0:
-		ATH_WRITE_REG(AR934X_PLL_ETH_XMII_CONTROL_REG, pll);
+		ATH_WRITE_REG(QCA955X_PLL_ETH_XMII_CONTROL_REG, pll);
 		break;
 	case 1:
-		/* XXX nothing */
+		ATH_WRITE_REG(QCA955X_PLL_ETH_SGMII_CONTROL_REG, pll);
 		break;
 	default:
 		printf("%s: invalid PLL set for arge unit: %d\n",
 		    __func__, unit);
 		return;
 	}
-#endif
 }
 
 static void
@@ -241,27 +236,23 @@ qca955x_chip_ddr_flush_ip2(void)
 static uint32_t
 qca955x_chip_get_eth_pll(unsigned int mac, int speed)
 {
-#if 0
 	uint32_t pll;
 
 	switch (speed) {
 	case 10:
-		pll = AR934X_PLL_VAL_10;
+		pll = QCA955X_PLL_VAL_10;
 		break;
 	case 100:
-		pll = AR934X_PLL_VAL_100;
+		pll = QCA955X_PLL_VAL_100;
 		break;
 	case 1000:
-		pll = AR934X_PLL_VAL_1000;
+		pll = QCA955X_PLL_VAL_1000;
 		break;
 	default:
 		printf("%s%d: invalid speed %d\n", __func__, mac, speed);
 		pll = 0;
 	}
 	return (pll);
-#else
-	return (0);
-#endif
 }
 
 static void
@@ -275,24 +266,17 @@ qca955x_chip_reset_ethernet_switch(void)
 #endif
 }
 
-#if 0
 static void
 qca955x_configure_gmac(uint32_t gmac_cfg)
 {
 	uint32_t reg;
 
-	reg = ATH_READ_REG(AR934X_GMAC_REG_ETH_CFG);
+	reg = ATH_READ_REG(QCA955X_GMAC_REG_ETH_CFG);
 	printf("%s: ETH_CFG=0x%08x\n", __func__, reg);
-
-	reg &= ~(AR934X_ETH_CFG_RGMII_GMAC0 | AR934X_ETH_CFG_MII_GMAC0 |
-	    AR934X_ETH_CFG_MII_GMAC0 | AR934X_ETH_CFG_SW_ONLY_MODE |
-	    AR934X_ETH_CFG_SW_PHY_SWAP);
-
+	reg &= ~(QCA955X_ETH_CFG_RGMII_EN | QCA955X_ETH_CFG_GE0_SGMII);
 	reg |= gmac_cfg;
-
-	ATH_WRITE_REG(AR934X_GMAC_REG_ETH_CFG, reg);
+	ATH_WRITE_REG(QCA955X_GMAC_REG_ETH_CFG, reg);
 }
-#endif
 
 static void
 qca955x_chip_init_usb_peripheral(void)
@@ -326,17 +310,15 @@ qca955x_chip_reset_wmac(void)
 static void
 qca955x_chip_init_gmac(void)
 {
-#if 0
 	long gmac_cfg;
 
-	if (resource_long_value("ar934x_gmac", 0, "gmac_cfg",
+	if (resource_long_value("qca955x_gmac", 0, "gmac_cfg",
 	    &gmac_cfg) == 0) {
 		printf("%s: gmac_cfg=0x%08lx\n",
 		    __func__,
 		    (long) gmac_cfg);
-		ar934x_configure_gmac((uint32_t) gmac_cfg);
+		qca955x_configure_gmac((uint32_t) gmac_cfg);
 	}
-#endif
 }
 
 /*


More information about the svn-src-head mailing list