Commit Graph

258 Commits (5e4a3e57db5a185f65d0633182d5eea57da8f3c4)

Author SHA1 Message Date
John Crispin 4fb275842c linux/generic: add MIB counters and port status to ADM6996 switch
This patch adds port status information and MIB counters to the ADM6996
switch driver.

The driver supports also the older ADM6996L-variant, but I'm not able to
test this patch on that chip. According to the datasheet the same
registers exist there as well, so I think it should work, but any
feedback is appreciated.

Signed-off-by: Matti Laakso <malaakso at elisanet.fi>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40542 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-04-22 08:08:02 +00:00
John Crispin cf0a74c480 revert: kernel: rtl8306: fix max pvid & remove port isolation
apparently this one was nt a good idea to merge

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40330 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-30 10:04:55 +00:00
John Crispin 20ff405f6e kernel: rtl8306: fix vlan support on lantiq ar9 p2601hnfx
If the CPU port is not forced up, the link, at least on this board, is lost after
changes are applied. This makes sure that the link is restored. Regression tests
should confirm it doesn't break other boards.

Signed-off-by: Antonios Vamporakis <ant@area128.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40305 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-30 09:15:16 +00:00
John Crispin 13ca88f729 kernel: rtl8306: fix max pvid & remove port isolation
- hide port pvid - vlan index relation
- switch initialises with vlans disabled so port isolation is not used
- remove special treatment of cpu port

Signed-off-by: Antonios Vamporakis <ant@area128.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40304 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-30 09:15:11 +00:00
John Crispin 61973eb97b kernel: rtl8306: cosmetic changes for swconfig
Changes to:
- show the correct "enable_vlan" value under "Global attributes"
- show tagged ports under "Vlan: ports"
- use get_port_link method to report link status

Signed-off-by: Antonios Vamporakis <ant@area128.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40303 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-30 09:15:07 +00:00
Jonas Gorski d6bd83b3b5 b53: Make b53_switch_init static
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Patchwork: http://patchwork.openwrt.org/patch/4869/
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39683 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-22 11:16:58 +00:00
Jonas Gorski 46c26870ba b53: Add BCM53128 switch support
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Patchwork: http://patchwork.openwrt.org/patch/4867/
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39682 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-22 11:16:56 +00:00
Luka Perkov bf883b3ca2 kernel: rtl8306: update reset function
Signed-off-by: Antonios Vamporakis <ant@area128.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39589 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-15 22:54:35 +00:00
Gabor Juhos 20d37251ae ar71xx: swconfig: use the local helper to set LED brightness on link down
Use the 'swconfig_trig_set_brightness' function to set
the brightness value of the LED when the link goes down.
This ensures that the last brighness value is saved into
a local variable which is used to track the actual LED
status.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39402 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-26 16:46:21 +00:00
Zoltan HERPAI 784084850a modules: swconfig.c: update the error path on 3.13, and behave nicely with return
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>



git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39360 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-21 14:43:50 +00:00
Zoltan HERPAI 6e1ec287bf modules: update swconfig.c to compile on 3.13 (compile-tested)
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>



git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39359 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-21 14:24:45 +00:00
Hauke Mehrtens e6007e192a b53: use drvdata to store driver data
we should not abuse the platform_data pointer.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39354 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-20 20:01:22 +00:00
Hauke Mehrtens 6bb0e2caf4 b53: make b53_switch_reset_gpio() static
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39353 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-20 19:07:18 +00:00
Gabor Juhos e4e8b26a37 generic: ar8216: add custom LED support for the AR8327 switch
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39338 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-20 10:22:56 +00:00
Gabor Juhos 313b626705 generic: ar8216: allow to use chip specific cleanup callback
It will be used for AR8327.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39337 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-20 10:22:55 +00:00
Gabor Juhos c0ce66837e generic: ar8216: add optimized rmw operation
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39336 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-20 10:22:54 +00:00
Gabor Juhos 09fb8ac34c generic: ar8216: Enable jumbo frames on AR8327 by default
This patch enables jumbo frames on AR8327 switch by default.
I have tested it on TP-Link TL-WDR3600.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39076 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-15 22:18:04 +00:00
Gabor Juhos b7ca4137f5 generic: ar8216: add AR8337N switch support
This patch is needed to use the switch inside the Sitecom WLR-8100;
it was unusable and detected as Generic-Phy before.

since ar8337 is behaving like ar8327
generally do the same thing
see: https://forum.openwrt.org/viewtopic.php?pid=214218#p214218
forward-ported to trunk

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
Patchwork: http://patchwork.openwrt.org/patch/4469/
[juhosg: merge chip_is_ar83[23]7 statements in ar8xxx_phy_config_init]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38952 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-29 20:18:48 +00:00
Gabor Juhos c2bf799a23 generic: ar8216: remove trailing whitespaces
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38951 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-29 20:18:46 +00:00
Hauke Mehrtens 80e55b973f kernel: b53: fix untagged shift for BCM5365
The BCM5365 needs a shift of 7 bits and not 6 bits like the BCM5325 for 
the untagged ports.

Thank you Russell for reporting this and testing the patch.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38793 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-13 18:04:39 +00:00
Hauke Mehrtens 42f929f6db kernel: b53: add initial support for switches in BCM5301X
This is also known as BCM470{7,8,9}.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38712 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-10 23:29:59 +00:00
Hauke Mehrtens a7735a2d91 kernel: adm6996: add support for ADM6996L and GPIO interface
This patch makes it possible to use adm6996.c on first generation 
BCM47XX devices with ADM switches.
The GPIO bit banging protocol implementation was copied from the old 
switch driver and adapted to this driver and changed to the mainline 
kernel GPIO interface.
The ADM6996L is different from the ADM6996M which is supported, for 
both specs are available in the Internet.

This was tested on a WRT54GS version 1.0, thank you Dirk Neukirchen for 
the device.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38698 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-09 19:27:27 +00:00
Florian Fainelli e363ec8000 kernel: make swconfig checkpath compliant
Fix the warnings and errors reported by checkpatch on swconfig.c

Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38523 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-24 00:25:52 +00:00
Hauke Mehrtens 1e03d9f0ee kernel: b53: add switch name into printk when it fails.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38307 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-06 22:35:28 +00:00
Hauke Mehrtens 8e9dab5d1c kernel: b53: add Register Access Bridge Registers (SRAB) interface
The SRAB interface is used on BCM4707 and BCM5301X SoCs.

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


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38198 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-25 21:44:28 +00:00
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