aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/drivers
Commit message (Collapse)AuthorAgeFilesLines
* ar8216: Use generic hw_init from ar8236 for ar8216 tooFelix Fietkau2014-11-201-13/+7
| | | | | | | | | | We should make sure that also for ar8216 hw gets initialized. For ar8216 hw_init is a dummy currently. The hw_init used for ar8236 should be generic enough to be usable with ar8216 too. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> SVN-Revision: 43334
* ar8216: simplify PHY fixup/initFelix Fietkau2014-11-201-19/+10
| | | | | | | | | | Move the PHY fixup call to the PHY init loop. Use ar8xxx_has_gige in the PHY init instead of passing the gigE capability via function parameter. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> SVN-Revision: 43333
* ar8216: use genphy_config_aneg also for PHY 0Felix Fietkau2014-11-191-10/+1
| | | | | | | | | | | | | | | | | Kernel 3.14 introduced a switch reset in phy_init_hw in drivers/net/phy causing BMCR_ANENABLE to get cleared. Due to the fact that ar8xxx_phy_config_aneg does nothing for PHY 0 autonegatiation support remains disabled. This can cause ports to operate at 10MBit/half-duplex only. Fix this by calling genphy_config_aneg for PHY 0 too as genphy_config_aneg sets BMCR_ANENABLE if it's not yet set. Fixes: ticket 17800 Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> SVN-Revision: 43332
* ar8216: factor out PHY init code into a generic functionFelix Fietkau2014-11-191-41/+25
| | | | | | | | | | PHY init code in the switch-specific hw_init functions is mainly identical. Factor it out into a generic ar8xxx_phy_init function. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43331
* ar8216: introduce fixup_phys callback in ar8xxx_chipFelix Fietkau2014-11-191-2/+13
| | | | | | | | | Move phy fixup code from the chip-specific hw_init functions into a fixup_phys callback. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> SVN-Revision: 43330
* ar8216: after a switch reset poll until BCMR_RESET is clearedFelix Fietkau2014-11-191-3/+29
| | | | | | | | | | | | Currently there is a fixed 1000ms wait time after the switch was reset. Most if not all switches need much less time to perform a reset. Therefore replace the fixed wait time with polling for BMCR_RESET to be cleared. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43329
* ar8216: introduce global constant for number of PHYsFelix Fietkau2014-11-192-4/+5
| | | | | | | | | | All supported switches have 5 PHYs. Currently partially 5 is hardcoded and partially switch-specific constants exist. Replace them with a global constant. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> SVN-Revision: 43328
* ar8216: fix "unused variable" compiler warningJohn Crispin2014-11-141-1/+1
| | | | | | | | | | Most likely a copy & paste error when deriving ar8327_sw_set_ports from ar8xxx_sw_set_ports. Remove unused variable. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> SVN-Revision: 43273
* ar71xx: add support for Netgear WNR2000v4John Crispin2014-11-031-1/+6
| | | | | | Signed-off-by: Michaël Burtin <mburtin@gmail.com> SVN-Revision: 43173
* swconfig: last vs tailJohn Crispin2014-10-291-1/+1
| | | | | | | | sorry ..... Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 43107
* swconfig: "swconfig list" shows devices in reverse orderJohn Crispin2014-10-291-1/+1
| | | | | | | | | Boards that have more than one swconfig enabled switch will show the devices in reverse order when call swconfig list. Fix this by using list_add_tail(). Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 43106
* ar8216: set the pvid based on runtime state instead of port number to fix ↵Felix Fietkau2014-10-021-3/+1
| | | | | | | | learning with enable_vlan = 0 Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42753
* ar71xx: ar8216: tagged+untagged on ar8327 (#12181)Felix Fietkau2014-09-231-7/+53
| | | | | | | | | | | | | | | | | | This allows tagged and untagged traffic together on the same port on ar8327 switch devices. I looked at the first attempt to do this in r40777 (ar71xx: Fix tagged+untagged operation on AR8327N (#12181)). I also set the vlan and port egress policies like that change. But I change vlan_tagged in an less intrusive way. The tagged/untagged decision is now based on the following rules: - if vid != pvid then traffic is always tagged - if vid == pvid then vlan_tagged stores if the traffic should be tagged Tested on TP-Link WDR-3600 (ar8327N). Signed-off-by: Valentin Spreckels <Valentin.Spreckels@Informatik.Uni-Oldenburg.DE> SVN-Revision: 42653
* ar71xx: ar8216: move policies, pvid to setup_portFelix Fietkau2014-09-231-41/+52
| | | | | | | | | | | | | | This moves ingress, egress policy and pvid decisions to setup_port methods. They arenow device type dependent. This allows policy changes on only one device type which is needed to allow tagged + untagged operation on ar8327. Tested on TP-LINK WDR-3600 (ar8327N). Signed-off-by: Valentin Spreckels <Valentin.Spreckels@Informatik.Uni-Oldenburg.DE> SVN-Revision: 42652
* kernel: add own Kconfig for OpenWrt mtdsplit driversJohn Crispin2014-08-251-0/+24
| | | | | | | | | | | | | There are pretty many OpenWrt patches against mtd subsystem resulting in a bit of mess and growing maintenance cost. My idea is to use an extra "mtdsplit" directory with OpenWrt specific files (including Kconfig). This is the first step to achieve this. This patch adds a "mtdsplit" directory with Kconfig and replaces 4 patches with a single one. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 42287
* ar8216: add new phyid 0x004dd043 (ar8326)John Crispin2014-07-141-0/+1
| | | | | | Used in ubiquity nanostation xw boards SVN-Revision: 41635
* ar8216: disable EEE by default on AR8327 to fix stability issues (#14597)Felix Fietkau2014-07-102-0/+12
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41577
* b53: hardcode reset GPIO for Linksys WRT300N 1.1Hauke Mehrtens2014-07-061-0/+1
| | | | | | | | | | | | According to the thread https://forum.openwrt.org/viewtopic.php?id=48281 b53 uses GPIO 7: [ 4.470000] b53_common: [DBG] b53_switch_reset_gpio using 7 and causes device to self-reboot. GPIO 8 was found in CFE boot log: "Reset switch via GPIO 8 ..." Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 41526
* adm6996: the GPIO interface for the adm6996l does not support switch statistics.Hauke Mehrtens2014-07-051-2/+9
| | | | | | | | | This patch deactivates the statistics, adds a missing lock initialization and fixes a waring. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 41511
* coding style cleanups, drop old kernel supportImre Kaloz2014-06-211-21/+8
| | | | | | Signed-off-by: Imre Kaloz <kaloz@openwrt.org> SVN-Revision: 41293
* Revert "ar71xx: Fix tagged+untagged operation on AR8327N (#12181)"Jo-Philipp Wich2014-05-241-154/+72
| | | | | | | | | Revert the tagged + untagged rework for now due to regressions in vlan setup on certain AR83xx switches. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 40842
* ar71xx: Fix tagged+untagged operation on AR8327N (#12181)Jo-Philipp Wich2014-05-191-72/+154
| | | | | | | | | | | | | | Replace the global "vlan_tagged" variable with an array storing the tagging state per vlan. The code was taken from #12181, tested and cleaned up by Saverio Proto with additional bug fixes supplied by Álvaro Fernández. Tested-by: Jo-Philipp Wich <jow@openwrt.org> Signed-off-by: Saverio Proto <zioproto@gmail.com> Signed-off-by: Álvaro Fernández <noltari@gmail.com> SVN-Revision: 40777
* kernel: fix warning in swconfig.c with kernel 3.14Hauke Mehrtens2014-05-081-6/+10
| | | | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 40733
* kernel/generic: modify mtd related patches for 3.14Hauke Mehrtens2014-05-085-25/+19
| | | | | | | | | | | | | | | | | Function register_mtd_parser always returned 0 (at least since v3.3) before being changed to return void in v3.14-rc1~65^2~93 (mtd: make register_mtd_parser return void), so it's not needed to check the return value of this function. Also add __init flag to caller. This fix compile errors in 3.14 kernel like: drivers/mtd/mtdsplit_seama.c: In function 'mtdsplit_seama_init': drivers/mtd/mtdsplit_seama.c:99:2: error: void value not ignored as it ought to be return register_mtd_parser(&mtdsplit_seama_parser); ^ Signed-off-by: Zhao, Gang <gamerh2o@gmail.com> SVN-Revision: 40731
* linux/generic: add MIB counters and port status to ADM6996 switchJohn Crispin2014-04-222-0/+144
| | | | | | | | | | | | | | 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> SVN-Revision: 40542
* revert: kernel: rtl8306: fix max pvid & remove port isolationJohn Crispin2014-03-301-76/+37
| | | | | | | | apparently this one was nt a good idea to merge Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 40330
* kernel: rtl8306: fix vlan support on lantiq ar9 p2601hnfxJohn Crispin2014-03-301-0/+4
| | | | | | | | | | 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> SVN-Revision: 40305
* kernel: rtl8306: fix max pvid & remove port isolationJohn Crispin2014-03-301-37/+76
| | | | | | | | | | - 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> SVN-Revision: 40304
* kernel: rtl8306: cosmetic changes for swconfigJohn Crispin2014-03-301-21/+26
| | | | | | | | | | | 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> SVN-Revision: 40303
* b53: Make b53_switch_init staticJonas Gorski2014-02-221-1/+1
| | | | | | | | Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Patchwork: http://patchwork.openwrt.org/patch/4869/ Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 39683
* b53: Add BCM53128 switch supportJonas Gorski2014-02-223-2/+18
| | | | | | | | Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Patchwork: http://patchwork.openwrt.org/patch/4867/ Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 39682
* kernel: rtl8306: update reset functionLuka Perkov2014-02-151-7/+2
| | | | | | Signed-off-by: Antonios Vamporakis <ant@area128.com> SVN-Revision: 39589
* ar71xx: swconfig: use the local helper to set LED brightness on link downGabor Juhos2014-01-261-1/+1
| | | | | | | | | | | | 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> SVN-Revision: 39402
* kernel/3.1x: add split code for LZMA compressed kernel based firmwaresGabor Juhos2014-01-241-0/+95
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39387
* Revert "kernel: create firmware partition from MyLoader partition parser"Gabor Juhos2014-01-241-13/+2
| | | | | | | | | | | | | | | This reverts r38197. The automatically created firmware partition includes the partition_table partition. Apart from the partition table, this partition contains sensitive data on some Compex devices which data can be destroyed when the firmware partition gets modified. Revert the change to prevent that. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39382
* modules: swconfig.c: update the error path on 3.13, and behave nicely with ↵Zoltan Herpai2014-01-211-3/+2
| | | | | | | | return Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> SVN-Revision: 39360
* modules: update swconfig.c to compile on 3.13 (compile-tested)Zoltan Herpai2014-01-211-0/+8
| | | | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> SVN-Revision: 39359
* b53: use drvdata to store driver dataHauke Mehrtens2014-01-203-10/+6
| | | | | | | | we should not abuse the platform_data pointer. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 39354
* b53: make b53_switch_reset_gpio() staticHauke Mehrtens2014-01-201-1/+1
| | | | SVN-Revision: 39353
* generic: ar8216: add custom LED support for the AR8327 switchGabor Juhos2014-01-202-0/+368
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39338
* generic: ar8216: allow to use chip specific cleanup callbackGabor Juhos2014-01-201-0/+5
| | | | | | | | It will be used for AR8327. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39337
* generic: ar8216: add optimized rmw operationGabor Juhos2014-01-201-20/+44
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39336
* generic: ar8216: Enable jumbo frames on AR8327 by defaultGabor Juhos2013-12-151-2/+2
| | | | | | | | | | 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> SVN-Revision: 39076
* generic: ar8216: add AR8337N switch supportGabor Juhos2013-11-292-6/+27
| | | | | | | | | | | | | | | | | 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> SVN-Revision: 38952
* generic: ar8216: remove trailing whitespacesGabor Juhos2013-11-291-9/+9
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38951
* kernel: b53: fix untagged shift for BCM5365Hauke Mehrtens2013-11-132-4/+8
| | | | | | | | | | | 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> SVN-Revision: 38793
* kernel: b53: add initial support for switches in BCM5301XHauke Mehrtens2013-11-102-3/+87
| | | | | | | | This is also known as BCM470{7,8,9}. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 38712
* kernel: adm6996: add support for ADM6996L and GPIO interfaceHauke Mehrtens2013-11-092-127/+467
| | | | | | | | | | | | | | | | | 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> SVN-Revision: 38698
* generic: mtdsplit_uimage: add uImage magic for the WRN2200 boardGabor Juhos2013-10-301-0/+2
| | | | | | | | | Should fix boot failure on the WNR2200 boards. Compile tested only. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38594
* kernel: make swconfig checkpath compliantFlorian Fainelli2013-10-241-35/+40
| | | | | | | | Fix the warnings and errors reported by checkpatch on swconfig.c Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 38523