summaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/files/drivers
Commit message (Collapse)AuthorAgeFilesLines
...
* ramips: Use doubletagging to disable ramips_esw vlan by default, it seems ↵Gabor Juhos2012-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | more reliable. Use doubletagging to disable ramips_esw vlan by default, it seems more reliable. Daniel Golle found an issue where sometimes (possibly only for RT3352) the default vlan disable method (clearing en_vlan, untag, doubletag and putting all ports into vlan 0) doesn't work and the packets get sent out vlan-tagged with vlan 0. Instead switch to using the doubletagging method (allow doubletagged packets, put all ports into vlan 0 with untag enabled) by default. Unless someone figures out a way to really globally disable vlan for this switch, this seems like the best (most reliable) option. I did some tests regarding maximum packet size and did not see any difference between the two methods, both allow for slightly bigger packets than the ramips_main.c ethernet driver (ping stops going through above "ping -s 1472" (1514 bytes), on the switch packets are recv_good until "ping -s 1490", or about 1532 bytes). Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> SVN-Revision: 33321
* ramips: Power down phy on disabled switch portsGabor Juhos2012-08-291-5/+67
| | | | | | | | | | | | | | Power down phy on disabled switch ports. Haven't measured this myself yet, but according to this http://www.8devices.com/community/viewtopic.php?f=6&t=156 it can save about 300mW of power. [juhosg: fix checkpatch warning] Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> SVN-Revision: 33304
* ramips: Rename POC registersGabor Juhos2012-08-291-31/+31
| | | | | | | | | | | | | | | | | | Rename POC registers. The current code uses POC1-POC3. The datasheet uses: POC1: Port Control 0 POC1: Port Control 1 POC2: Port Control 2 So the first POC1 is a typo that should have been POC0, rename the registers to POC0-POC2 accordingly. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> SVN-Revision: 33302
* ramips: Minor ramips_esw.c cleanupGabor Juhos2012-08-291-59/+3
| | | | | | | | | | | | Stop handling VLAN setup in the kernel. Removes the obsolete RT305X_ESW_VLAN_CONFIG_BYPASS option I added for WL-351 and add some extra comments. Also removes the en_vlan per-port flag that isn't very useful really, it now is only controlled by the global enable_vlan flag. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> SVN-Revision: 33301
* ramips: Add swconfig support to ramips_esw.cGabor Juhos2012-08-292-35/+755
| | | | | | | | | | | | | | | | | | | Add swconfig support to ramips_esw.c This patch adds swconfig support for ramips_esw: Tested on both D-LINK DIR-300 B1 and Sitecom WL-351 (external rtl8366rb on internal port 5). I've made sure that in the enable_vlan=0 case it behaves like a dumb switch, so external switches should work fine with vlans and verified this on the WL-351. The current state shown by swconfig is always read directly from HW registers, new settings only show after 'swconfig dev rt305x set apply'. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> SVN-Revision: 33299
* ramips: ramips_esw.c indentation cleanupGabor Juhos2012-08-291-11/+11
| | | | | | | | | | Minor indentation cleanup. Prepare for the main swconfig patch by cleaning up indentation a bit. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> SVN-Revision: 33298
* ramips: watchdog: use maximum possible timeout by defaultGabor Juhos2012-08-121-6/+6
| | | | | | | | | | | | | As the userspace has no means to determine the maximum possible timeout, use that as the default and let the userspace lower it when necessary. As the result the usual OpenWrt install (with busybox's watchdog trying to set the timeout to 60s on start) is using a 33s timeout on an RT3052 clocked at 384MHz instead of the current 20s default. Signed-off-by: Paul Fertser <fercerpav@gmail.com> SVN-Revision: 33144
* DWC otg usb: compilation fixes and trivial bugfix in slave modeJohn Crispin2012-07-245-5/+45
| | | | | | Signed-of-by: Nikolai Zhubr <n-a-zhubr@yandex.ru> SVN-Revision: 32823
* ramips: Add byte queue limits support to net/ethernet/ramips_main.cGabor Juhos2012-05-231-0/+8
| | | | | | | | | | | | | | Add byte queue limits support to net/ethernet/ramips_main.c "Byte queue limits are a mechanism to limit the size of the transmit hardware queue on a NIC by number of bytes. The goal of these byte limits is too reduce latency (HOL blocking) caused by excessive queuing in hardware (aka buffer bloat) without sacrificing throughput." Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> SVN-Revision: 31844
* ramips: don't read RAMIPS_RX_CALC_IDX0 register in the loopGabor Juhos2012-02-261-1/+3
| | | | SVN-Revision: 30733
* ramips: raeth: add rx_info structureGabor Juhos2012-02-262-24/+57
| | | | | | | | | | | | | This helps to reduce code size on RX path: add/remove: 0/0 grow/shrink: 3/1 up/down: 68/-56 (12) function old new delta ramips_eth_open 1104 1144 +40 ramips_ring_free 212 232 +20 ramips_eth_stop 400 408 +8 ramips_eth_rx_hw 648 592 -56 SVN-Revision: 30732
* ramips: raeth: add tx_info structureGabor Juhos2012-02-262-19/+55
| | | | | | | | | | | | | | This helps to reduce code size on TX path: add/remove: 0/0 grow/shrink: 1/4 up/down: 56/-92 (-36) function old new delta ramips_eth_open 1048 1104 +56 ramips_eth_tx_housekeeping 156 148 -8 ramips_ring_free 224 212 -12 ramips_eth_stop 420 400 -20 ramips_eth_hard_start_xmit 480 428 -52 SVN-Revision: 30731
* ramips: raeth: don't process disabled interruptsGabor Juhos2012-02-251-5/+11
| | | | | | Also rename the 'fe_int' variable. SVN-Revision: 30713
* ramips: raeth: show interrupt statistics in debugfsGabor Juhos2012-02-223-0/+105
| | | | SVN-Revision: 30681
* ramips: raeth: add debugfs supportGabor Juhos2012-02-225-1/+91
| | | | SVN-Revision: 30680
* ramips: raeth: rename main source fileGabor Juhos2012-02-222-0/+2
| | | | SVN-Revision: 30679
* ramips: raeth: add missing Kconfig and MakefileGabor Juhos2012-02-212-0/+18
| | | | SVN-Revision: 30671
* ramips: move the ethernet driver into a separate directoryGabor Juhos2012-02-213-0/+0
| | | | | | Also clean up the Kconfig symbols. SVN-Revision: 30670
* ramips: rename the spi driverGabor Juhos2012-02-211-0/+0
| | | | SVN-Revision: 30669
* ramips: merge 3.2 fixesGabor Juhos2012-02-191-1/+1
| | | | SVN-Revision: 30652
* ramips: raeth: separate ring allocation and setupGabor Juhos2012-02-161-44/+90
| | | | SVN-Revision: 30573
* ramips: raeth: add a helper function for skb allocationGabor Juhos2012-02-151-6/+16
| | | | SVN-Revision: 30555
* ramips: raeth: use netdev_alloc_skbGabor Juhos2012-02-151-2/+3
| | | | SVN-Revision: 30554
* ramips: raeth: add '__packed __aligned(4)' annotation to dma descritor ↵Gabor Juhos2012-02-151-2/+2
| | | | | | | | structures This helps GCC to generare more efficient code. SVN-Revision: 30553
* ramips: raeth: use 're' instead of 'priv' everywhereGabor Juhos2012-02-151-73/+73
| | | | SVN-Revision: 30552
* ramips: raeth: force link down in ramips_phy_stopGabor Juhos2012-02-151-7/+6
| | | | SVN-Revision: 30550
* ramips: raeth: serialize ramips_link_adjust callsGabor Juhos2012-02-151-0/+8
| | | | SVN-Revision: 30549
* ramips: raeth: add PHYLIB supportGabor Juhos2012-02-152-8/+220
| | | | SVN-Revision: 30547
* ramips: raeth: enable MDIO code for RT3883Gabor Juhos2012-02-131-2/+2
| | | | SVN-Revision: 30497
* ramips: add preliminary support for the RT3662/RT3883 SoCsGabor Juhos2012-02-132-0/+323
| | | | SVN-Revision: 30495
* ramips: include 'linux/module.h' in the ramips_spi driverGabor Juhos2012-02-121-0/+1
| | | | SVN-Revision: 30475
* ramips: add MDIO bus support for RT288XGabor Juhos2012-02-112-2/+154
| | | | SVN-Revision: 30455
* ramips: raeth: make debugging messages configurableGabor Juhos2012-02-111-3/+9
| | | | SVN-Revision: 30450
* ramips: raeth: use device pointer in DMA API callsGabor Juhos2012-02-111-11/+12
| | | | SVN-Revision: 30449
* ramips: raeth: add netdev pointer to private structureGabor Juhos2012-02-112-0/+2
| | | | SVN-Revision: 30448
* ramips: raeth: cleanup DMA API usage in ramips_eth_hard_start_xmitGabor Juhos2012-02-111-5/+4
| | | | SVN-Revision: 30447
* ramips: raeth: unmap rx DMA address in ramips_cleanup_dmaGabor Juhos2012-02-111-1/+4
| | | | SVN-Revision: 30446
* ramips: raeth: add rx_dma array to store the DMA address of the rx packetsGabor Juhos2012-02-112-10/+17
| | | | SVN-Revision: 30445
* ramips: raeth: use dma_addr_t for the descriptorsGabor Juhos2012-02-112-9/+10
| | | | SVN-Revision: 30444
* ramips: raeth: unmap DMA memory when a packet is receivedGabor Juhos2012-02-111-0/+4
| | | | SVN-Revision: 30443
* ramips: raeth: add a temporary pktlen variableGabor Juhos2012-02-111-3/+6
| | | | SVN-Revision: 30442
* ramips: raeth: protect macro parametersGabor Juhos2012-02-111-4/+4
| | | | SVN-Revision: 30441
* ramips: raeth: indicate dropped packets in statsGabor Juhos2012-02-111-0/+2
| | | | SVN-Revision: 30440
* ramips: raeth: use the NUM_TX_DESC for the tx_skb arrayGabor Juhos2012-02-111-1/+1
| | | | SVN-Revision: 30439
* ramips: Rework ramips_eth to not require irqsave locking anymoreJohn Crispin2012-01-171-6/+9
| | | | | | | | | | | | | | | | | Previously the tx housekeeping was done in a spin_lock_irqsave critical section which causes irqs to be disabled during that time. Since the housekeeping is already prepared to be scheduled as a tasklet process the housekeeping only in softirq context and revise the locking between the tx path and the housekeeping tasklet by using a normal spin_lock which in most situations will be a NOP anyway. This makes sure that interrupts are only disabled for a short time since in the worst case the housekeeping might have to free up to 256 skbs. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> SVN-Revision: 29762
* ramips: initial support for Sitecom WL-351 v1 002Gabor Juhos2011-12-231-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This add support for the Sitecom WL-351 v1 002. In principle the Engenius ESR9850 should also work with this, but I don't have the hardware to test it. Since an external gigabit switch (RTL8366RB) is used, I had to modify the ramips_esw driver to add a 'bypass' mode, which just configures it to not filter the vlan tags. Also two initialization words (FCT2 and FPA2) are set to different values by u-boot than what the driver is using and it only seems to work correctly when they not overridden by the driver, so I added them to the platform specific data as reg_initval_fct2 and reg_initval_fpa2. With this wired lan works as expected, however I'm still having some trouble with the wireless lan: It only works after I rmmod & re-insmod rt2800pci and then reconfigure it in the webinterface, but not directly after rebooting. The symptom of this is wpad saying: Dec 20 15:45:09 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> IEEE 802.11: associated (aid 1) Dec 20 15:45:09 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> WPA: pairwise key handshake completed (RSN) Dec 20 15:45:22 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> IEEE 802.11: authenticated But wpa_supplicant on the client saying: Authentication with <wl351mac> timed out. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> SVN-Revision: 29604
* ramips: add support for the Senao/EnGenius ESR-9753 boardGabor Juhos2011-12-231-0/+12
| | | | | | Signed-off-by: Artur Wronowski <arteqw@gmail.com> SVN-Revision: 29603
* ramips: rt305x: add dwc_otg driverGabor Juhos2011-08-1519-0/+24342
| | | | | | Based on a patch by Layne Edwards <ledwards@astrumtech.net> SVN-Revision: 27997
* ramips: allow to specify port layout for the switch of the RT305x/RT3350Gabor Juhos2011-08-151-13/+44
| | | | | | Based on a patch by Roman Yeryomin <roman@advem.lv> SVN-Revision: 27990
* ramips: add SPI controller driverGabor Juhos2011-07-281-0/+558
| | | | | | Based on a patch by Sergiy <piratfm@gmail.com> SVN-Revision: 27809