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