This router is based on MT7621 SoC, no wifi, no usb, nand.
Works:
* Boots.
* Ethernet.
* Switch.
* Button (reset).
* Flashing OpenWrt from stock firmware.
* Upgrading OpenWrt.
Doesn't work:
* No GPIO leds. All leds are controlled by switch,
but stock firmware was able to control them.
* SoC has crypto engine but no open driver.
* SoC has nat acceleration, but no open driver.
* This router has 2MB spi flash soldered in but MT
nand/spi drivers do not support pin sharing,
so it is not accessable and disabled. Stock
firmware could read it and it was empty.
* PoE out.
Router has serial pins populated. If looking at the top
of the router, then counting from Eth sockets pins go as:
'GND, RX, TX, GND'. 3.3v, 57600.
U-boot bootloader supports tftpboot, controlled from serial.
This router has two kernel partitions: 'live' and 'backup'.
They are swapped during flashing (on both stock and OpenWrt).
Active partition is controlled by a flag in a factory partition.
U-boot has custom command to switch active kernel partition.
Kernel partitions are 'bare flash' 3MB. Stock bootloader has
no UBI support. Stock rootfs is UBIFS.
Flashing procedure.
Stock firmware uses custom kernel patch to mount squashfs
from a file that is located on UBIFS volume. This makes wiping
out this volume from within stock firmware difficult.
Instead this patch builds image that is flashable by stock firmware
and contains initrams image (with minimal set of packages
to fit into kernel partition). Once this is flashed one can reboot
into initramfs OpenWrt and use sysupgrade to flash OpenWrt including
rootfs into nand.
Note: factory image is only built if initramfs image is enabled.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47881
Partitions defined in parent dtsi cannot be undefined in children.
This moves partitions defined in mt7621.dtsi into board's device tree.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47876
* Switches clocksource to gic timer.
* Moves frequency definitions to dtsi since frequency was hardcoded anyway
Will work on proper frequency detection later.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47875
Replace former uci-defaults.sh implementation with the uci-defaults-new.sh one
and update all users accordingly.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47867
The board is based on mt7621AT cpu, and has 16mb nor flash, 256mb of ram,
2 sata ports, microsd card slot, 1 USB 3.0 port and at least one 2.4 and
one 5 ghz antenna.
This is the 6th submission that adds support for XHCI in the device tree
file, along with switching the location of the 2 radio's and addition of
the kmod-i2c-mt7621 in the default packages of the profile.
Signed-off-by: Sebastian Careba <nitroshift@yahoo.com>
SVN-Revision: 47845
The PBR-M1 support in current OpenWrt is for the early demo board and it doesn't work on the final board.This patch fixes the support for it.
The LED called pbr-m1:buzzer is a beeper connected to GPIO26 so I used gpio-beeper instead of gpio-leds.
Signed-off-by: 郭传鈜 <gch981213@gmail.com>
SVN-Revision: 47844
* Switches clocksource to gic timer.
* Moves frequency definitions to dtsi since frequency was hardcoded anyway
Will work on proper frequency detection later.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47843
Enables CPS multiprocessing instead ob obsoleted CMP for mt7621.
This patch fixes a few issues currently existing on 4.3 kernel with at least ubnt-erx:
* iperf shows only 50Mbits on direct gigabit connection to desktop,
* ping times jump to 5-6ms to dorectly connected desktop
* /proc/interrupts shows spurious interrups (ERR)
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47842
This resolves compilation warnings like this:
drivers/gpio/gpio-mt7621.c: In function 'mediatek_gpio_probe':
drivers/gpio/gpio-mt7621.c:328:46: warning: passing argument 2 of 'irq_set_chained_handler' from incompatible pointer type [-Wincompatible-pointer-types]
irq_set_chained_handler(mediatek_gpio_irq, mediatek_gpio_irq_handler);
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47841
Use kernel arch for dts compilation.
Also use Image/BuildDTB to build dts for ramips.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47823
This removes calls to ucidef_set_interfaces_lan_wan() and
ucidef_set_interfaces_lan() on boards where all relevant info can be
inferred from the switch definition.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47722
This changes uci-defaults-new.sh, config_generate and all relevant board.d
files in order combine ucidef_add_switch() and ucidef_add_switch_ports() into
a single function.
Also removes now superfluous enable and reset arguments.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47721
Out of 69 switch definitions, only 3 pass something different than "1" as
values for reset and enable, with one of those three being invalid.
This change ...
* removes the reset and enable arguments from ucidef_add_switch()
* unconditionally writes reset:1 and enable:1 to JSON
* converts the three users of nonstandard values to ucidef_add_switch_attr()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47720
This migrates the final board.d user of ucidef_add_switch_vlan() to the new
ucidef_add_switch_ports() approach, fixing some logic errors for a few boards
along the way.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47717
netis WF-2881 is an MT7621AT based router with MT7602EN, MT7612EN.
It has 128MB DDR3, 128MB SLC NAND FLASH, 5-port Gbps switch and 1x USB 3.0.
The following patch adds support for this device.
this device only works on top of UBI.
Tested and working:
* ethernet
* both WiFi radios
* USB 3.0
* buttons (reset button)
* ethernet switch and USB diag LEDs
* UART
* GPIOs
* sysupgrade
Tested and not working
* failsafe
Signed-off-by: YounJae Rho <luxflow@live.com>
SVN-Revision: 47619
Changes since V1:
I resend this patch for current trunk.The former V1 patch is for CC branch.
Signed-off-by: Shonn Lu <countrysideboy@qq.com>
SVN-Revision: 47617
* use kernel buildin transfer_one_message. we only need to implement
transfer_one and set_cs function
* should support use gpio as cs pin
* deselected the spi device when setup and add debug info
* only reset device when first driver probe
Signed-off-by: Michael Lee <igvtee@gmail.com>
SVN-Revision: 47579
before spi transfer. use spi_prepare_message to setup spi hardware. it
will setup MSB, spi mode and speed
remove sys_freq member and speed check code
Signed-off-by: Michael Lee <igvtee@gmail.com>
SVN-Revision: 47578
* check clock rate, SPI mode, and word sizes
* setup spi polarity
* enable spi1 hw if need
Signed-off-by: Michael Lee <igvtee@gmail.com>
SVN-Revision: 47577
* fill struct according to the member order
* add error clean up
* set min/max spi speed. so we don't need to check again
Signed-off-by: Michael Lee <igvtee@gmail.com>
SVN-Revision: 47576
use loops_per_jiffy, spi clock speed and write bytes to get the
spi loop count. if loop to 0 than spi operation timeout.
remove usleep. we only write 1 byte to spi device. use busy loop
would be better.
Signed-off-by: Michael Lee <igvtee@gmail.com>
SVN-Revision: 47575
It turned out that mtk_nand driver uses some sophisticated accounting and a
general nand code must be patched.
This patch adds required read and erase calls to a general nand code. I
used a code for re6500 released by Linksys as a reference.
All required operations (erase, write and read) are usable. However I found
that jffs2 filesystem can be created only on top of a ubi volume. I tried
to create jffs2 directly on mtd device but pages with clean markers are
became uncorrectable.
Signed-off-by: Kirill Berezin <fyiwdt@gmail.com>
SVN-Revision: 47565
* remove references to non-existing kmod-usb3-mt7621
* ZTB WG2626 doesn't have an RTC (thanks to Piotr Dymacz!)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 47407
This patch adds the eeprom property to the dts for the Asus RP-N53. It is necessary to get the wifi in the soc working.
Signed-off-by: Alberto Mattea <alberto@mattea.info>
SVN-Revision: 47350
Replace use of vconfig with the corresponding iproute2 syntax in
/lib/preinit/07_set_preinit_iface_ramips
The switch reset work-around needed on some ramips targets used the
deprecated vconfig tool to bring up the pre-init/failsafe interface.
This doesn't work on recent builds where vconfig is no longer being
deployed, resulting in the device being unreachable when triggered
into failsafe mode.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 47349
Add support for Dovado tiny AC wifi router.
Soc: mt7620a
ram: 64MB
flash: 8MB
1x usb 2.0
two gigabit lan ports
5ghz wlan is not supported on this board since there is no gpl driverfor mt7610e wifi chip.
Signed-off-by: Andrej Vlasic <andrej.vlasic0@gmail.com>
SVN-Revision: 47348
Some boards like dovado tiny ac have generic ralink mac in onflash wifi eeprom.
Add eeprom_set_macaddr function to rt2x00 eeprom extract script which changes mac addr insde eeprom dump.
Signed-off-by: Andrej Vlasic <andrej.vlasic0@gmail.com>
SVN-Revision: 47347
Add missing icplus phy driver kernel config symbol to mt7620 subtarget.
This is needed since some mt7620 devices have icplus ip1001 ethernet transceiver
Signed-off-by: Andrej Vlasic <andrej.vlasic0@gmail.com>
SVN-Revision: 47346
This patch adds a case for the Asus RP-N53 in the "02_network" boot script. Without this, the lan interface does not get configured on startup, effectively bricking the device.
Signed-off-by: Alberto Mattea <alberto@mattea.info>
SVN-Revision: 47345
add the SDK alsa driver. this has only been tested on mt7628/88 and wm8960.
mt7620 is only compile tested.
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 47205
When talking to an atmel controller we need 9600 or 250000 baud.
as 250000 does not exist we use 2500000.
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 47204
when sleep mode is disable use MIPS as clocksource and clockevent instead of systick.
because MIPS timer has higher resolution 5ns less than systick 20us and
larger counter bits 32 > 16.
clean interrupt by write compare register at isr.
fix typo cause sleep mode not enable.
Signed-off-by: Michael Lee <igvtee@gmail.com>
SVN-Revision: 47122
Due to datasheet of rt3883 SoC rgmii1 port handles pins 84-95 and rgmii2 port handles pins 72-83. When this function ports gets added to rt3883_pinmux_data there's wrong pinmux bits set (RT3883_GPIO_MODE_GE1 manages 84-95 pins and RT3883_GPIO_MODE_GE2 manages 72-83). So when enabling rgmii2 as GPIO driver confuses hardware and nothing work, neither rgmii nor gpio.
Also in '0030-pinctrl-ralink-add-pinctrl-driver.patch' typo in name of rgmii2 port.
Signed-off-by: Nick Leiten <nickleiten@gmail.com>
SVN-Revision: 47118
The default switch frame size (with FCS + header) is 1536 bytes. But the
GMAC only accepted frames up to 1522 bytes. Setting it to 1536 allows to
receive ethernet frames using the full of MTU 1500 + an extra VLAN header +
VLAN header added by the switch.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 47117
The driver assumes that the maximum received buffer for non-jumbo frames is
1536 bytes. But the allocation of the rx fragment doesn't reflect that. It
currently allocates fragments which will only be large enough to be used as
rx buffer with the size of 1534 bytes. This is problematic because the GMAC
will now try to write to 2 bytes which don't belong to its receive buffer
when a large enough ethernet frame is received.
This may already be a problem on existing chips but will at least become a
problem when the 1536 byte rx modus is enabled on MT7621a. It is required
on this SoC to receive ethernet frames which use their full 1500 bytes MTU
and a VLAN header next to the switch VLAN tag.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 47116
The length of the DMA rx buffer was always set to 0 because the function
for extracting the length was used to calculate the value for setting it.
Instead the macro has to be split in a get and set function similar to the
TX_DMA_(GET_|)PLEN(0|1) macro.
No problem was noticed on MT7621a before this was changed and thus maybe it
was hidden by different problem which is not yet fixed.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 47115
The MT7530 switch driver with enable_vlan set will automatically set all
ports to the user port mode. The hardware will remove the incoming vlan tag
on these ports and use it for its internal vlan. This is usually not wanted
and makes it impossible to communicate via vlan over the switch in both
directions.
It is possible to configure a switch port to "transparent mode" when this
port is only used as untag in the switch VLANs. This will disable the VLAN
untagging of packets when they were received on this port. The tagging on
"tag" ports based on the vlan id is still working.
The transparent port mode cannot be used when a port is both used in a VLAN
as "tag" and in another one as "untag" port.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 47114
HiWiFi HC5661/5761/5861 models are manufactured by http://www.hiwifi.com <http://www.hiwifi.com/>. These models have similar hardware specs(MT7620A + 128M DDR2 + 16M flash). This patch adds support for them.
The original author is Justin Liu (rssnsj@gmail.com). I ported the patch to trunk and submitted it here with his approval.
v3 fix
1: Spaces -> Tabs
2: Removed some packages
Signed-off-by: Xiaoning Kang <kangxn@163.com>
SVN-Revision: 47113
HiWiFi HC5661/5761/5861 models are manufactured by http://www.hiwifi.com. These models have similar hardware specs(MT7620A + 128M DDR2 + 16M flash). This patch adds support for them.
The original author is Justin Liu (rssnsj@gmail.com). I ported the patch to trunk and submitted it here with his approval.
v3 fix
1: Merged most stuff into dtsi file
2: Remove unnecessary empty lines.
Signed-off-by: Xiaoning Kang <kangxn@163.com>
SVN-Revision: 47112
HiWiFi HC5661/5761/5861 models are manufactured by http://www.hiwifi.com. These models have similar hardware specs(MT7620A + 128M DDR2 + 16M flash). This patch adds support for them.
The original author is Justin Liu (rssnsj@gmail.com). I ported the patch to trunk and submitted it here with his approval.
v3 fix
1: Fixed model order
2: Remove manufacturer name from model name
3: Use a hacky but prettier way to get mac address.
Signed-off-by: Xiaoning Kang <kangxn@163.com>
SVN-Revision: 47111
The pinctrl-rt2880 code doesn't support multiple functions with the same
name. This will result in a incorrect pinmux configuration.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 46963
This patch is to add the WIZnet WizFi630A board as a new platform. The board is in mini pci express form factor.
Signed-off-by: Tobias Welz <tw@wiznet.eu>
SVN-Revision: 46921
This patch add support for Planex DB-WRT01. DANBOARD route on
the MT7620A SoC with two Ethernet port and a 802.11n 2.4 GHz radio.
DANBOARD is Cartoon character.
Signed-off-by: YuheiOKAWA <tochiro.srchack@gmail.com>
SVN-Revision: 46918
The PBR-M1 and other upcoming MT7621 boards have RTC chips on them. The
PBR-M1 also selects the kmod-rtc-pcf8563 by default. But the module itself
will not be build because CONFIG_RTC_CLASS is currently not enabled for its
kernel.
Enabling this option should fix the problem of the missing rtc device on
these boards.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 46857