Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Apr 2015 20:56:52 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r281119 - head/sys/mips/conf
Message-ID:  <201504052056.t35Kuqff053539@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Sun Apr  5 20:56:51 2015
New Revision: 281119
URL: https://svnweb.freebsd.org/changeset/base/281119

Log:
  Update the board MAC address configuration for the DIR-655A1.
  
  The MAC addresses were totally wrong. They're like the DIR-625C1 - at
  0x1ffe0004 and 0x1ffe0018. They're however stored as text strings.
  The ath0 MAC address is also not set, even though the calibration
  partition is valid.
  
  So, pick the board address / first MAC as the ath0 MAC, and derive
  arge0/arge1 from that.  That way they're hopefully unique enough
  for people with multiple devices.
  
  Tested:
  
  * DIR-655A1
  
  TODO:
  
  * Do the same for the DIR-625A1 and DIR-625C1.

Modified:
  head/sys/mips/conf/DIR-655A1.hints

Modified: head/sys/mips/conf/DIR-655A1.hints
==============================================================================
--- head/sys/mips/conf/DIR-655A1.hints	Sun Apr  5 20:07:33 2015	(r281118)
+++ head/sys/mips/conf/DIR-655A1.hints	Sun Apr  5 20:56:51 2015	(r281119)
@@ -7,6 +7,32 @@
 # QCA955X_ETH_CFG_RGMII_EN (1 << 0)
 hint.qca955x_gmac.0.gmac_cfg=0x1
 
+# Use this to derive ath0 from arge0 MAC address.
+# 0x1ffe0004 is the arge0 MAC; but it's also the "unit MAC".
+# So make that the ath0 MAC, and make arge0 -1 from that.
+# ath0: offset 0
+# arge0: offset -1
+# arge1: use +1 from the arge0 MAC, even though
+# there's a secondary MAC address configured in EEPROM
+# at 0x1ffe0018.
+hint.ar71xx.0.eeprom_mac_addr=0x1ffe0004
+hint.ar71xx.0.eeprom_mac_isascii=1
+
+hint.ar71xx_mac_map.0.devid=ath
+hint.ar71xx_mac_map.0.unitid=0
+hint.ar71xx_mac_map.0.offset=0
+hint.ar71xx_mac_map.0.is_local=0
+
+hint.ar71xx_mac_map.1.devid=arge
+hint.ar71xx_mac_map.1.unitid=0
+hint.ar71xx_mac_map.1.offset=-1
+hint.ar71xx_mac_map.1.is_local=0
+
+hint.ar71xx_mac_map.2.devid=arge
+hint.ar71xx_mac_map.2.unitid=1
+hint.ar71xx_mac_map.2.offset=1
+hint.ar71xx_mac_map.2.is_local=0
+
 # mdiobus0 on arge0
 hint.argemdio.0.at="nexus0"
 hint.argemdio.0.maddr=0x19000000
@@ -91,9 +117,8 @@ hint.arge.0.miimode=3           # RGMII
 hint.arge.0.media=1000
 hint.arge.0.fduplex=1
 hint.arge.0.pll_1000=0x56000000
-
-# MAC for arge0 is the first 6 bytes of the ART
-hint.arge.0.eeprommac=0x1fff0000
+# hint.arge.0.eeprommac=0x1ffe0004
+# hint.arge.0.readascii=1
 
 # arge1 - lock up to 1000/full
 hint.arge.1.phymask=0x0
@@ -101,11 +126,12 @@ hint.arge.1.media=1000
 hint.arge.1.fduplex=1
 hint.arge.1.miimode=5		# SGMII
 hint.arge.1.pll_1000=0x03000101
-
-# MAC for arge1 is the second 6 bytes of the ART
-hint.arge.1.eeprommac=0x1fff0006
+#hint.arge.1.eeprommac=0x1ffe0018
+#hint.arge.1.readascii=1
 
 # ath0: Where the ART is - last 64k in the flash
+# Note: ath0 MAC is default (00:11:22:33:44:55) and thus
+# requires replacing via the board MAC address map.
 hint.ath.0.eepromaddr=0x1fff0000
 hint.ath.0.eepromsize=16384
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504052056.t35Kuqff053539>