Commit graph

1393 commits

Author SHA1 Message Date
John Crispin
4e31b2e869 ramips: add support for Ubiquiti EdgeRouter X (UBNT-ERX)
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
2015-12-12 07:38:06 +00:00
John Crispin
1c6c9549d6 ramips: add support for Spansion S34ML0[24]G2 flash
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47880
2015-12-12 07:37:53 +00:00
John Crispin
9e5044926b ralink: remove stray "+" from ethernet driver
this is what you get if you manually apply patches with c&p

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47877
2015-12-12 06:42:17 +00:00
John Crispin
8470e30a76 ramips: move partition definitions out of mt7621.dtsi file
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
2015-12-12 06:42:11 +00:00
John Crispin
e610cdfc8a ramips: use gic timer as clocksource for mt7621
* 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
2015-12-12 06:42:05 +00:00
Felix Fietkau
77bedbe80d Revert "ramips: use gic timer as clocksource for mt7621"
This reverts commit 270a2afcc544ca14e79198346e7e186033472ae7.

SVN-Revision: 47872
2015-12-11 19:22:15 +00:00
Jo-Philipp Wich
67e1c87012 all: drop old uci-defaults.sh
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
2015-12-11 15:26:06 +00:00
John Crispin
9f14006809 ramips: add additional support for MQmaker WiTi board
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
2015-12-11 15:04:13 +00:00
John Crispin
6cbb1be464 ramips: Fix support for PBR-M1 board
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
2015-12-11 15:03:50 +00:00
John Crispin
abd11be13c ramips: use gic timer as clocksource for mt7621
* 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
2015-12-11 15:03:39 +00:00
John Crispin
a87272ebfb ramips: enable CPS for mt7621
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
2015-12-11 15:03:27 +00:00
John Crispin
fbc1624d6a ramips: irq handlers do not get irq in 4.3 kernel, update patches
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
2015-12-11 15:03:16 +00:00
John Crispin
4076d12f41 ramips: Fix CM_GCR_CPC_BASE_CPCBASE_{MSK, SHF} values
Update CM_GCR_CPC_BASE_CPCBASE_{MSK,SHF} to match datasheet

Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>

SVN-Revision: 47840
2015-12-11 15:03:08 +00:00
John Crispin
e4ee2402cb ramips: fold gic patch into mt7621 support patch
All gic patch was doing is removing code added by mt7621 support patch.

Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>

SVN-Revision: 47839
2015-12-11 15:02:55 +00:00
John Crispin
ed8775d3c3 ramips: backport series of patches that ensure GCRs of other CPUs are accessed properly
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>

SVN-Revision: 47838
2015-12-11 15:02:50 +00:00
John Crispin
e0d77e68ce ramips: backport batch fixing illegal instruction when booting secodnary CPUs in CPS mode
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>

SVN-Revision: 47837
2015-12-11 15:02:36 +00:00
John Crispin
81c999bbda ramips: mt7621: use symbolic names of gic interrupt settings
This also adds dts nodes for cpc and mc for documentation purposes

Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>

SVN-Revision: 47836
2015-12-11 15:02:13 +00:00
John Crispin
6df4426245 ralink: bump to the target to v4.3
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47831
2015-12-10 19:06:32 +00:00
Felix Fietkau
09335a0a2f build: fix arch used during dts compilation
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
2015-12-10 12:39:32 +00:00
Jo-Philipp Wich
527ec2af59 all: remove dummy ucidef_set_interface_loopback() from board.d
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47744
2015-12-03 23:13:00 +00:00
Jo-Philipp Wich
8f8b702f85 board.d: remove redundant ucidef_set_interfaces_lan_wan() calls
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
2015-12-03 17:30:56 +00:00
Jo-Philipp Wich
9b02e73188 board.d: merge ucidef_add_switch() and ucidef_add_switch_ports()
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
2015-12-03 17:30:24 +00:00
Jo-Philipp Wich
d17a64c7c0 base-files: uci-defaults-new: remove reset/enable args of ucidef_add_switch()
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
2015-12-03 17:30:08 +00:00
Jo-Philipp Wich
de51026515 ramips: switch ucidef_add_switch_vlan() to ucidef_add_switch_ports()
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
2015-12-03 15:46:29 +00:00
John Crispin
06af966094 ramips: remove duplicate patch
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47670
2015-11-28 23:26:03 +00:00
John Crispin
82557aee85 ramips: adapt VoCore to new second spi device code
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 47667
2015-11-28 23:24:52 +00:00
John Crispin
af14fa011c ramips: add second SPI clocks
These clocks were missing in the changes introduced in r47573-47580

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 47666
2015-11-28 23:24:40 +00:00
Jo-Philipp Wich
ecf5b4fab7 ramips: hg255d: replace ucidef_set_led_interface() with ucidef_set_led_netdev()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47657
2015-11-26 12:46:04 +00:00
John Crispin
7b4acdeff6 ralink: renable nand support
CONFIG_MTK_MTD_NAND was incorrectly disabled by r47619.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47640
2015-11-24 22:00:55 +00:00
Felix Fietkau
d8a62fdbc2 ramips: fix typo in image makefile (#18712)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47627
2015-11-24 19:29:56 +00:00
John Crispin
8c1f5141ce ralink: add support for netis WF-2881
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
2015-11-24 18:29:26 +00:00
John Crispin
e9baf8265b ramips: add support for Youku YK1
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
2015-11-24 18:29:02 +00:00
John Crispin
12b6f4cf71 ramips: add second spi master sysclk
for mt7620, rt3883 and rt5350

Signed-off-by: Michael Lee <igvtee@gmail.com>

SVN-Revision: 47616
2015-11-24 18:28:54 +00:00
John Crispin
c550ad3d3a ramips: update dtsi files to support second spi device
Signed-off-by: Michael Lee <igvtee@gmail.com>

SVN-Revision: 47580
2015-11-22 11:49:13 +00:00
John Crispin
a941b34008 ramips: use transfer_one instead of transfer_one_message on rt2880 spi
* 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
2015-11-22 11:49:04 +00:00
John Crispin
95aa28da81 ramips: move rt2880 spi clock and reset init code to spi_prepare_message
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
2015-11-22 11:48:57 +00:00
John Crispin
a58dec6275 ramips: improve rt2880 spi setup
* 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
2015-11-22 11:48:51 +00:00
John Crispin
2ce886f149 ramips: clean up rt2880 spi probe/remove
* 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
2015-11-22 11:48:45 +00:00
John Crispin
bf89d139e1 ramips: improve rt2880 spi wait ready function
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
2015-11-22 11:48:34 +00:00
John Crispin
702c480dfe ramips: remove rt2880 spi lock and clean bit operation
Signed-off-by: Michael Lee <igvtee@gmail.com>

SVN-Revision: 47574
2015-11-22 11:48:21 +00:00
John Crispin
13fbd6fea7 ramips: add rt2880/mt7620 spi register defines
Signed-off-by: Michael Lee <igvtee@gmail.com>

SVN-Revision: 47573
2015-11-22 11:48:10 +00:00
John Crispin
55ee2e0ef7 ralink: add missing nand layer hack
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
2015-11-21 21:25:33 +00:00
John Crispin
40ddc71cc9 ramips: init usb power for Lenovo Y1S
Signed-off-by: Shonn Lu <countrysideboy@qq.com>

SVN-Revision: 47557
2015-11-21 21:24:38 +00:00
Felix Fietkau
b95aed986a ramips: minor fixes for mt7621 profiles
* 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
2015-11-07 12:51:48 +00:00
John Crispin
aebf73f045 ramips: fix previous commit
r47388 accidentially changed 2 files too many

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47389
2015-11-05 10:03:58 +00:00
John Crispin
dc699dd547 ramips: minor tweak to the lks7688 baord name
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47388
2015-11-05 10:01:23 +00:00
John Crispin
2350c149b5 ramips: add feature to blink led on sysupgrade
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47373
2015-11-03 13:32:02 +00:00
John Crispin
165244a222 ramips: add support for ZBT WG2626
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 47351
2015-11-02 10:18:19 +00:00
John Crispin
0f4b153e3d ramips: add eeprom mtd partition to the Asus RP-N53 dts
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
2015-11-02 10:18:09 +00:00
John Crispin
907c67fa87 ramips: preinit: use iproute2 instead of vconfig
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
2015-11-02 10:18:02 +00:00