summaryrefslogtreecommitdiffstats
path: root/sys/dev/etherswitch/arswitch/arswitch_7240.c
Commit message (Collapse)AuthorAgeFilesLines
* Add the support for 802.1q and port based vlans for arswitch.loos2013-07-231-4/+9
| | | | | | | | Tested on: RB450G (standalone ar8316), RSPRO (standalone ar8316) and TPLink MR-3220 (ar724x integrated switch). Approved by: adrian (mentor) Obtained from: zrouter
* Fix the arswitch instability problem. It turns out that theloos2013-07-231-6/+0
| | | | | | | | | | | | | | arswitch_writereg() routine was writing the registers in the wrong order. Revert -r241918 as the root problem is now fixed. Remove another workaround from arswitch_ar7240.c. Simplify and fix the code on arswitch_writephy() by using arswitch_writereg(). While here remove a redundant declaration from arswitchvar.h. Approved by: adrian (mentor)
* Setup the CPU port and broadcast map on the AR7240, rather thanadrian2012-05-121-7/+9
| | | | | | | | | | | | | | | depending upon the bootloader initialising it. The aim is to eventually support a full switch set and reinitialisation rather than relying on a consistent bootloader setup. Remove the port flood config from arswitch.c, it's not yet used and it's totally incorrect. Whilst I'm here, also add in a comment describing why the full switch reset is disabled. Obtained from: Linux (OpenWRT) - Values
* .. oops, include setting the MTU.adrian2012-05-121-1/+4
|
* * Remove the AR7240 register defines and reuse the AR8x16 defines.adrian2012-05-121-8/+2
| | | | | | | * Include a new register define to represent "disable port mirroring to CPU port". Obtained from: Patrick Kelsey <kelsey@ieee.org>
* Further arswitch work:adrian2012-05-121-0/+143
* Add in the AR724x support. It probes the same as an AR8216/AR8316, so just add in a hint to force the probe success rather than auto-detecting it. * Add in the missing entries from conf/files, lacking in the previous commit. The register values and CPU port / mirror port initialisation value was obtained from Linux OpenWRT ag71xx_ar7240.c. The DELAY(1000) to let things settle is my local workaround. For some reason, PHY4 doesn't seem to probe very reliably without it. It's quite possible that we're missing some MDIO bus initialisation code in if_arge for the AR724x case. As I dislike DELAY() workarounds in general, it's definitely worth trying to figure out why this is the case. Tested on: AP93 (AR7240) reference design Obtained from: Linux OpenWRT
OpenPOWER on IntegriCloud