Commit graph

319 commits

Author SHA1 Message Date
John Crispin
af0cd76937 make ramips ethernet use a register mapping table
SVN-Revision: 33547
2012-09-25 14:46:58 +00:00
John Crispin
223db72385 D-Link DAP-1350; Avoid bricking esw config
This is a patch to connect eth0.1 (lan) to the only
ethernet connector available.

D-Link DAP-1350 goes bricked with AA 12.09-beta.

This is because the current esw configuration for the
board connects eth0.2 (wan) to the *ONE and ONLY*
ethernet connector available, preventing initial access
to the board through 192.168.1.1 on eth0.1 after flashing,
effectively bricking the board.

There are things that should be done to make this board
really useful, but for AA 12.09, this one liner is
indispensable.

Signed of by Yoichi Shinoda <shinoda@jaist.ac.jp>

SVN-Revision: 33411
2012-09-15 09:28:28 +00:00
Gabor Juhos
0a42b02126 ramips/rt305x: add initial support for Rt5350 SoC
Somehow detecting the RAM size in common/setup.c doesn't
work here, it always detects 64M and then crashes on devices
with less RAM.
Probably using MEMC_REG_SDRAM_CFG1 to know the RAM size is how
it could be, for now I use the mem=32M kernel parameter to get
stuff working.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 33381
2012-09-12 19:03:12 +00:00
Gabor Juhos
d8b2fef763 ramips: Add missing andmask to ramips_esw register read for recv_good value.
Add missing andmask to ramips_esw register read for recv_good value.

Without the mask, recv_bad leaks into the recv_good packet count.
Didn't notice the bug before since you don't usually get bad
packets, so I only saw it when I was playing with overlength packets
earlier...

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

SVN-Revision: 33322
2012-09-05 20:08:43 +00:00
Gabor Juhos
04c6143ca9 ramips: Use doubletagging to disable ramips_esw vlan by default, it seems 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
2012-09-05 20:08:42 +00:00
Gabor Juhos
54d8a55eed ramips: make built-in switch transparent for ALL0256N and ALL5002
This allows them to transparently communicate with an external VLAN switch.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 33305
2012-08-29 10:37:47 +00:00
Gabor Juhos
bc4763a399 ramips: Power down phy on disabled switch ports
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
2012-08-29 10:37:45 +00:00
Gabor Juhos
1617f226a9 ramips: Add support for 8devices Carambola dev board.
Add support for 8devices Carambola dev board.

The Carambola is a small RT3050-based development board with two
ethernet ports, on-board chip antenna, usb and plenty of accessible
gpio ports, sold by 8devices.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

SVN-Revision: 33303
2012-08-29 10:37:43 +00:00
Gabor Juhos
bb0785880a ramips: Rename POC registers
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
2012-08-29 10:37:41 +00:00
Gabor Juhos
f1b9d77912 ramips: Minor ramips_esw.c cleanup
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
2012-08-29 10:37:40 +00:00
Gabor Juhos
3b17f1deb8 ramips: Add swconfig support to ramips_esw.c
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
2012-08-29 10:37:36 +00:00
Gabor Juhos
358c7e47f2 ramips: ramips_esw.c indentation cleanup
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
2012-08-29 10:37:35 +00:00
Gabor Juhos
67e6461ad7 ramips: add board alias for the ALL0239-3G
Generate image for the ALL0239-3G which can be flashed through the
chipset-vendor SDK based firmware's web-interface and bootloader.

The bootloader seems to ignore uImage checksum errors, but does complain about
them once the 0xDEADC0DE was replaced by an actual JFFS2 page.

I'm working on implementing fixtrx for uImage in the mtd package to solve this.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 33206
2012-08-17 17:56:07 +00:00
Gabor Juhos
89606b61b1 ramips: add support for D-Link DIR-615 H1
rt2x00 still needs some patching as the radio doesn't come to life.
Installation via webflash.

[juhosg: fix whitespace issues, remove rt305x_register_usb
from machine setup because the board has no USB port]

Signed-off-by: Mikko Hissa <mikko.hissa@uta.fi>

SVN-Revision: 33205
2012-08-17 17:56:05 +00:00
Gabor Juhos
82759a1716 ramips: rename rt3352 usb platform devices
In order to get OHCI/EHCI working on the Rt3352, the platform device must be
named so rt3883-?hci will recognize it.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 33145
2012-08-12 12:48:31 +00:00
Gabor Juhos
1525620b0e ramips: watchdog: use maximum possible timeout by default
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
2012-08-12 12:48:28 +00:00
Gabor Juhos
9365113040 ramips: add D-Link DIR-620 A1 support
Full functionality runtime tested, installation via OEM web-interface requires
a follow-up patch.

Thanks go to Sergey Vasilyugin for his patch that pointed me at the missing
bits (including the antiparallel wps led).

Signed-off-by: Paul Fertser <fercerpav@gmail.com>

SVN-Revision: 33142
2012-08-12 12:48:24 +00:00
John Crispin
5e52619b76 DWC otg usb: compilation fixes and trivial bugfix in slave mode
Signed-of-by: Nikolai Zhubr <n-a-zhubr@yandex.ru>

SVN-Revision: 32823
2012-07-24 20:38:55 +00:00
John Crispin
799d6deab0 D-Link DAP-1350 initial support
The initial support for the D-Link DAP-1350.
USB related functionality is not tested.

Signed-off-by: Yoichi Shinoda <shinoda@jaist.ac.jp>

SVN-Revision: 32821
2012-07-24 20:38:43 +00:00
John Crispin
e219c3ac3a enable OHCI/EHCI glue on Rt305x, so it is available for Rt3352F.
Hope that this works, didn't have a chance to actually test it...

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 32815
2012-07-24 20:38:08 +00:00
John Crispin
0a08a776fb add support for Allnet ALL5002 to kernel
support ALL5002 in ramips/rt305x branch of the kernel.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 32813
2012-07-24 20:37:56 +00:00
John Crispin
6641024f50 uart_clk on Rt3352F is always 40MHz
Currently, sys_clk/10 is used which is just wrong.
cpu_clk/10 would work for systems with 400MHz CPU clock.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 32812
2012-07-24 20:37:50 +00:00
Gabor Juhos
372945185d ramips: rt305x: add support for Edimax 3G-6200N
Support for Edimax 3G-6200N router with USB.

Signed-off-by: Lukasz Golebiowski <lgolebio@gmail.com>

SVN-Revision: 32682
2012-07-12 13:29:46 +00:00
Gabor Juhos
833b4af816 ramips: rt305x: add support for the Petatel PSR-680W Wireless CDMA Router
This patch adds support for the Korean made Petatel PSR-680W Wireless CDMA Router.
The platform is based on Ralink RT3052.
http://wiki.openwrt.org/toh/petatel/psr-680w

Signed-off-by: Dmitry Shmygov <shmygov at rambler.ru>

SVN-Revision: 32450
2012-06-19 09:52:15 +00:00
Gabor Juhos
c71838faa1 ramips: WAN LED for D-Link DIR-300-B1
Add led devices for D-Link DIR-300-B1 WAN LED.

Note that the GPIO state is also ANDed with the esw switch port 4
LED state, which is why I've set the amber LED to default-on.

Closes: https://dev.openwrt.org/ticket/11326

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

[ juhosg:
- fix comment style in mach-dir-300-revb.c,
- remove the PPP specific LED setup, not everyone uses a PPP connection
  on the WAN interface]

SVN-Revision: 31989
2012-05-29 16:39:03 +00:00
Gabor Juhos
1c552ba8e5 ramips: rt3883: add device registration code for the SPI controller
SVN-Revision: 31922
2012-05-27 17:10:00 +00:00
Gabor Juhos
78a750dcce ramips: rt3883: fix GPIO reservation for the SPI pins
SVN-Revision: 31920
2012-05-27 17:09:56 +00:00
Gabor Juhos
0622fdd82c ramips: rt305x: remove superfluous controller_data assignment
SVN-Revision: 31919
2012-05-27 17:09:52 +00:00
Gabor Juhos
e4720dfa95 ramips: Add byte queue limits support to net/ethernet/ramips_main.c
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
2012-05-23 21:05:23 +00:00
Gabor Juhos
b0449ccf04 ramips: W306R V2.0 - GPIO and Network fixes
Fixed: GPIO typos and confirmed GPIO_BUTTON_RESET
Fixed: Lan & Wan reversed: swaped "eth0.2" with "eth0.1" by
       removing a line(default is correct), and reversed the
       Lan/wan layout LLLLW to WLLLL.

Added: image/Makefile now builds -factory.bin files. I am
       unsure of the accepted way to change the makefile but
       the name of the image needs to be 'linkn Kernel Image'
       in order to be accepted by the OEM firmware.

Known issue: eth0 (internal switch i think has mac address:
       00:11:22:33:44:55  but i think it should be same as
       the lan).
Known issue: Pressing the reset button has no noticable effect,
       i would expect the router to boot failsafe if being
       pressed on boot, reboot if short press and reset all
       to default if long press.

[juhosg: remove mtdlayout_W306R and use mtdlayout_4M instead]

Signed-off-by: David Pearce <david_18051985@hotmail.com>

SVN-Revision: 31557
2012-05-02 19:17:59 +00:00
Gabor Juhos
1ab80c7817 ramips: rt305x: add support for the UR-336UN board
Patch-by: Lebedev Dmitry <lebedev@trendnet.ru>

SVN-Revision: 31451
2012-04-23 16:56:06 +00:00
Gabor Juhos
3626444c6d ramips: rt305x: add support for the Asus WL-330N3G board
This patch adds support for the ASUS WL-330N3G

Comparing to the WL-330N, It have 32MB ram, usb support and a bicolor led.

The bi-color led is driven by 2 gpio.
I don't know how to handle this, so I simply made 2 leds : one red, one blue.
But the red light takes precedence over the blue one according to the chart below.

r = led is red
b = led is blue
0 = led is off

xy= x->r for red, b for blue led, y->value of brightness in /sys/class/leds/x/brughtness

initial state	action	 led	gpio state

r0	b0	r0->r1	 r  	r0	b0
r0	b0	b0->b1   b	r0	b1

r1	b0	r1->r0	 0	r0	b0
r1	b0	b0->b1	 r	r1	*b1*

r1	b1	r1->r0   b	r0	b1
r1	b1	b1->b0   r	r1	b0

r0	b1	r0->r1   r	r1	*b1*
r0	b1	b1->b0   0	r0	r0

Signed-off-by: Frédéric Leroy <fredo@starox.org>

SVN-Revision: 31450
2012-04-23 16:56:05 +00:00
Gabor Juhos
7f902c962b ramips: rt305x: add OHCI/EHCI registration code for RT3352
SVN-Revision: 31402
2012-04-21 12:30:48 +00:00
Gabor Juhos
1645928135 ramips: rt305x: fix CPU clock detection on RT3352
SVN-Revision: 31401
2012-04-21 12:30:47 +00:00
Gabor Juhos
fb69e28eaf ramips: rt305x: use different memory size setup for RT3352
SVN-Revision: 31400
2012-04-21 12:30:45 +00:00
Gabor Juhos
fc88a363c0 ramips: rt305x: add initial support for Tenda W306R V2.0
More device info at: http://wiki.openwrt.org/toh/tenda/w306r

Signed-off-by: David Pearce <David_18051985@hotmail.com.au>
[juhosg: fix checkpatch errors, remove kmod-phy and luci-ssl packages
from the profile, change broken GPIO number]

SVN-Revision: 31396
2012-04-21 12:30:40 +00:00
Jo-Philipp Wich
e9c4d3d1f2 ramips: add support for the ARC FreeStation5 board, also fix WCR-150GN network setup while we're at it - thanks Pau Escrich <p4u@dabax.net> for the implementation
SVN-Revision: 31144
2012-03-29 16:03:04 +00:00
Gabor Juhos
d495277d9f ramips: rt305x: build image for the DIR-615 rev D boards
Patch from #10105.

SVN-Revision: 31101
2012-03-27 19:29:59 +00:00
Gabor Juhos
e4e24c5512 ramips: rt305x: add add support for the Asus WL-330N board
[juhosg: reorder several lines in order to keep things sorted
alphabetically]

Signed-off-by: Frédéric Leroy <fredo@starox.org>

SVN-Revision: 31100
2012-03-27 19:29:57 +00:00
Gabor Juhos
0f77d0b2ba ramips: add RT3350 detection
SVN-Revision: 30900
2012-03-12 16:12:13 +00:00
Gabor Juhos
05d3f559f5 ramips: rt305x: rewrite SoC detection
SVN-Revision: 30890
2012-03-11 19:05:59 +00:00
Gabor Juhos
8cf8ee8f9d ramips: rt305x: rename SYSTEM_CONFIG_* defines to RT305X_SYSCFG_*
SVN-Revision: 30889
2012-03-11 19:05:57 +00:00
Gabor Juhos
acb4ad86e5 ramips: replace RALINK_SOC_* macros with global variables
SVN-Revision: 30888
2012-03-11 19:05:56 +00:00
Gabor Juhos
8cff770eb3 ramips: introduce ramips_soc_prom_init and move SoC detection into that
SVN-Revision: 30887
2012-03-11 19:05:53 +00:00
Gabor Juhos
4e15457e0e ramips: allow to use DSP ASE on RT3xxx
SVN-Revision: 30879
2012-03-11 16:39:26 +00:00
Gabor Juhos
0e486d2fd2 ramips: add support for unbranded XDX-RN502J board
This patch adds support for routers using a PCB marked XDX-RN502J
V2.0, such as some unbranded routers like this:

http://www.mediafire.com/?8acv87h6snn9fj6
http://www.mediafire.com/?do7xonw7scor4kn
http://www.mediafire.com/?1ad49zvx3e7jyix
http://www.mediafire.com/?i46cqiq66maa197

http://www.aliexpress.com/product-fm/516397994-Free-Shipping-300M-3G-WAN-Wireless-N-WiFi-USB-AP-Router-2-Antennas-wholesalers.html

some reports also state the Aceex 22Y uses the same board.

more information can be found in the following openwrt forum post
https://forum.openwrt.org/viewtopic.php?id=34878

[juhosg: fix checkpatch warnings, use the GENERIC_4M template]

Signed-off-by: bruno schwander <bruno@tinkerbox.org>

SVN-Revision: 30809
2012-03-04 16:09:13 +00:00
Gabor Juhos
44c8b396f9 ramips: board support for Asus RT-N10+
[juhosg: fix indentation in platform scripts, and remove debug
messages from 06_set_iface_mac]

Signed-off-by: Patrick van Staveren <trick@vanstaveren.us>

SVN-Revision: 30808
2012-03-04 16:09:11 +00:00
Gabor Juhos
72599f0c61 ramips: don't read RAMIPS_RX_CALC_IDX0 register in the loop
SVN-Revision: 30733
2012-02-26 10:54:13 +00:00
Gabor Juhos
100f76a010 ramips: raeth: add rx_info structure
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
2012-02-26 10:54:12 +00:00
Gabor Juhos
32e7b1c7d9 ramips: raeth: add tx_info structure
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
2012-02-26 10:54:10 +00:00