Commit Graph

233 Commits (19570640aaf82a739da1c25f7e21da1d154ac975)

Author SHA1 Message Date
Hauke Mehrtens ac3e4a1200 kernel: b53: detect revision of BCM5325
The revision is stored in a different register than it is in other 
Broadcom switches.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37995 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-15 13:30:49 +00:00
Hauke Mehrtens 593a7b7c77 kernel: b53: fix vlan write for BCM5325 revison 3+
These switches are integrated in some recent BCM53XX and BCM47XX SoCs
like the BCM53572.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37994 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-15 13:29:14 +00:00
Hauke Mehrtens 38484f47f2 kernel: b53: use hard coded switch reset gpio on some boards.
The Linksys wrt310n v1 does not have a robo_reset config variable in 
nvram, but GPIO Pin 8 is the pin needed for resetting the external 
switch, Linksys hard coded it into their source code.

Thank you Devastator for testing.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37988 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-14 16:17:36 +00:00
Hauke Mehrtens 1a3dd5a001 kernel: b53: add soft reset for BCM539x switches
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37987 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-14 16:14:02 +00:00
Jonas Gorski df430c20c5 kernel: b53: support phy ids for BCM5365
BCM5365 (and probably other older variants) use a different phy id, so
the phy driver never attached for them.
Fix this by adding the appropriate phy id to the fixup and the phy
driver.

Reported-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37906 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-05 20:30:34 +00:00
Hauke Mehrtens 4fb01f7d91 kernel: b53: allow access the MIB counters on BCM5365
b53_no_ops has no elements and b53_port_ops has one element, this makes 
the code access some random memory when trying to access the mib 
counter functions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37895 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-04 16:15:10 +00:00
Felix Fietkau b10717fee9 rtl8367: add support for configuring the VLAN FID
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37760 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-08-12 17:25:25 +00:00
Hauke Mehrtens 7b7322f1f2 kernel: b53: use devm_gpio_request_one() to request gpio
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37648 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-08-01 20:46:56 +00:00
Hauke Mehrtens 7e3141d846 kernel: b53: add support for GPIO reset
This is needed for some switches used on bcm47xx SoCs like the one on the Asus RT-N66U.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37645 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-08-01 19:05:34 +00:00
John Crispin 023ed9c87c strict_strtoul is obsolete, use kstrtoul instead
based on http://patchwork.openwrt.org/patch/3827/

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37562 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-27 09:23:18 +00:00
Hauke Mehrtens 4cd2167005 brcm47xx: use b53 phy driver for the switch in kernel 3.10
This makes it possible to use swconfig to controll the switch.

This was tested with devices using b43 and bgmac.
This was not tested on devices using tg3.
This does not support the adm switch used in some very old devices.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37304 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-14 14:11:17 +00:00
Gabor Juhos abb05a413a generic: add port mirroring/monitoring capability to rtl8366rb switch
This patch adds swlib attributes to the RTL8366RB switch/PHY found in the
TL-WR1043ND router that allow to mirror ethernet packets to a monitor port.

Signed-off-by: Colin Leitner <colin.leitner@googlemail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36847 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-04 13:25:52 +00:00
Gabor Juhos 267fc66f77 generic: ar8216: allow to specify SGMII config via platform data
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36798 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-30 17:38:26 +00:00
Gabor Juhos 111bea7cd3 generic: ar8216: add get_port_link callback
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36797 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-30 17:38:22 +00:00
Gabor Juhos d6f871012c generic: ar8216: show chip revision in the kernel log
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36791 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-30 16:25:14 +00:00
Luka Perkov 1b30b7deeb generic: ar8216: add port mirroring
Tested on Buffalo WZR-600DHP with ar8316 switch. Commands used to mirror both
RX and TX traffic from LAN port 1 to LAN port 4:

$ swconfig dev switch0 set enable_mirror_rx 1
$ swconfig dev switch0 set enable_mirror_tx 1
$ swconfig dev switch0 set mirror_monitor_port 4
$ swconfig dev switch0 set mirror_source_port 1

Signed-off-by: Colin Leitner <colin.leitner@googlemail.com>
Tested-by: Luka Perkov <luka@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36713 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-24 13:10:22 +00:00
Felix Fietkau 6d845ff838 kernel: add missing PHY ID for an AR8327 switch variant
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36630 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-13 19:13:27 +00:00
Hauke Mehrtens 8a7edb5896 kernel: b53: use correct oops for bcm5365 switch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36589 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-09 20:01:58 +00:00
John Crispin d8d3d5959b generic: fix rtl8366_smi compile warning
drivers/net/phy/rtl8366_smi.c: In function 'rtl8366_sw_set_vlan_ports':
drivers/net/phy/rtl8366_smi.c:1125:6: warning: 'pvid' may be used uninitialized in this function [-Wuninitialized]

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36442 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-25 19:03:29 +00:00
John Crispin d8aae3517b [geneirc] fix rtl8366s OF binding
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36323 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-12 18:56:05 +00:00
John Crispin 7b7317fc25 [ramips] unbreak portmapping - typo fix
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36293 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-09 14:39:01 +00:00
John Crispin 3dc6fbf96d [swconfig] allow loading port maps from OF
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36283 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-09 14:19:09 +00:00
Gabor Juhos 0a676cdd01 generic: rtl8367: add compatible string with vendor prefix
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36230 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-06 17:19:31 +00:00
Gabor Juhos 37e86c353c generic: rtl8367b: fix rtl8367b_extif_init_of
* disable external interface if its property is not present
* show an error message if the extif property is not valid
* use proper error values intead of -1
* fix memory leak
* wrap long lines

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36229 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-06 17:03:09 +00:00
Gabor Juhos 4455e17963 generic: rtl8367: allow to load extif config from OF
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36220 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-06 12:37:36 +00:00
Gabor Juhos d705fd0c51 generic: rtl8367: fix a typo in MODULE_DEVICE_TABLE macro
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36219 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-06 12:37:34 +00:00
Gabor Juhos b2b815c577 generic: rtl8367: add vendor prefix to the compatible string
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36218 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-06 12:37:32 +00:00
John Crispin 927f4ae6ec [generic] add OF support to rtl8367b driver
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36159 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-03 09:58:33 +00:00
Gabor Juhos 562eca38dc generic: ar8216: start AR8327 switch from the probe routine
The AR8327 switch gets its configuration from platform
data or from the device-tree. This allows to start it
from the probe routine. Doing so makes it usable with
ethernet drivers which only connects to the PHY device
when the ethernet interface is opened.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36050 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-15 16:06:28 +00:00
Gabor Juhos 07e8f60ec8 generic: ar8216: add ar8xxx_start helper
Move switch starting code into a separate function.
This makes it usable from other places.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36049 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-15 16:06:25 +00:00
Gabor Juhos bfcb790085 generic: ar8216: add OF configuration support for AR8327
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36047 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-15 15:50:08 +00:00
Gabor Juhos 74ed419c1c generic: ar8216: separate platform_data based AR8327 code
Move platform_data specific configuration code
into a separate routine. Do it in preparation
for the upcoming OF support.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36046 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-15 15:50:05 +00:00
Gabor Juhos 11d65c1f35 generic: ar8216: don't use platform_data in ar8327_init_port
Fetch the PORT_STATUS values in ar8327_hw_init and
store those in a private data stucture for later use.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36045 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-15 15:50:02 +00:00
Gabor Juhos 74e5f4fdb1 generic: ar8216: move the ar8327_get_port_init_status function
It will be used in ar8327_probe routine.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36044 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-15 15:50:00 +00:00
Gabor Juhos 106519bdbb generic: ar8216: simplify and rename ar8327_config_port
Return with the PORT_STATUS register value instead of
writing that directly into the corresponding register.
Also rename the function to ar8327_get_port_init_status.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36043 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-15 15:49:57 +00:00
Gabor Juhos 0d8238f7b3 generic: ar8216: remove superfluous pdata checks
The presence of the platform data is already verified in
ar8327_hw_init, and the driver does not start without that
anyway.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36042 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-15 15:49:55 +00:00
Jonas Gorski 45d8b5166b generic: b53: clear SM_SW_FWD_MODE unconditionally when enabling VLAN
Setting this bit stops BCM53125 (bgmac actually) from receiving any
packets. This bit is cleared conditionally in b53_switch_reset and it
seems the same is done in bcmrobo.c which never sets that bit again.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35723 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-21 11:45:38 +00:00
Jonas Gorski 1dc038ecb4 generic: b53: remove empty spaces
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35722 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-21 11:45:36 +00:00
Gabor Juhos 0b74564295 generic: ar8216: cleanup function/variable names
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35642 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-17 12:48:25 +00:00
Gabor Juhos f7178a8d09 generic: ar8216: rename struct ar8216_priv to ar8xxx_priv
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35641 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-17 12:48:23 +00:00
Gabor Juhos f31cd4f577 generic: ar8216: move PHY4 RGMII workaround code out of the loop
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35603 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-14 14:55:40 +00:00
Gabor Juhos e4468b8202 generic: ar8216: register the switch from the probe routine
Currently the switch gets registered when an ethernet
driver connects to a PHY of the switch. This method does
not work with the ethernet drivers which are connecting
to the PHY from their ndo_open callback. With those
ethernet drivers, the driver tries to register the switch
each time when the etherned device is opened and this causes
a deadlock.

Move the switch registration into the probe routine to fix
this problem.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35602 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-14 14:01:24 +00:00
Gabor Juhos aa1758313e ar8216: remove superfluous code from ar8216_config_init
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35562 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-11 16:57:31 +00:00
Gabor Juhos 371e090665 generic: ar8216: don't use ethernet device name in register_switch
The switches are accessed via an MDIO bus. Set the alias
to the name of the MDIO bus, and show that in the message
along with the name of the switch switch device.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35560 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-11 16:11:31 +00:00
Gabor Juhos f55f5c681a generic: ar8216: reuse the private data from ar8216_probe
The private data of the switch is already
allocated in ar8216_priv, assign that to
each PHY on the same MDIO bus. Also remove
the redundant code from ar8216_config_init.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35559 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-11 16:11:30 +00:00
Gabor Juhos 6166a1a122 generic: ar8216: use phydev instead of pdev everywhere
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35555 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-11 13:25:43 +00:00
Gabor Juhos da364b7741 generic: ar8216: use pr_* macros for kernel messages
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35554 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-11 13:14:00 +00:00
Gabor Juhos 2092ae2d8f generic: ar8216: fix PHY features setup
Sujith says:

This commit breaks the WAN port on my AP96 - DHCP fails.
Reverting it fixes the issue.

  commit b67cc3a0cdd02973610d4d5a63226d1c44841e94
  Author: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
  Date:   Fri Feb 8 09:13:18 2013 +0000

    generic: ar8216: simplify phy features setup

    Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

    git-svn-id: svn://svn.openwrt.org/openwrt/trunk@355183c298f89-4303-0410-b956-a3cf2f4a3e73

This change restores the previous behaviour and moves
the code into the ar8216_probe function.

Reported-by: Sujith Manoharan <sujith@msujith.org>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Tested-by: Sujith Manoharan <sujith@msujith.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35549 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-11 10:05:35 +00:00
Gabor Juhos 98d4a8b93a generic: ar8216: add ar8xxx_probe_switch helper
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35547 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-10 19:02:01 +00:00
Gabor Juhos a4c045037f generic: ar8216: rename ar8xxx_mib_cleanup to ar8xxx_mib_stop
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35546 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-10 18:42:08 +00:00