Commit graph

3176 commits

Author SHA1 Message Date
Henryk Heisig
e39dc8d823 ar71xx: add support to TP-Link Archer C59v1 and C60v1
TP-Link Archer C59v1 is a dual-band AC1350 router, based on Qualcomm/Atheros
QCA9561+QCA9886.

Specification:

- 775/650/258 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 2T2R 5 GHz
- 5x 10/100 Mbps Ethernet
- USB 2.0 port
- 8x LED (controled by 74HC595), 3x button
- UART header on PCB

TP-Link Archer C60v1 is a dual-band AC1350 router, based on Qualcomm/Atheros
QCA9561+QCA9886.

Specification:

- 775/650/258 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 2T2R 5 GHz
- 5x 10/100 Mbps Ethernet
- 7x LED, 2x button
- UART header on PCB

Currently not working:
- Port LAN1 on C59, LAN4 on C60
- WiFi 5GHz (missing ath10k firmware for QCA9886 chip)
- Update from oficial web interface ( tplink-saveloader not support "product-info")

Flash instruction:
1. Set PC to fixed ip address 192.168.0.66
2. Download lede-ar71xx-generic-archer-cXX-v1-squashfs-factory.bin
and rename it to tp_recovery.bin
3. Start a tftp server with the file tp_recovery.bin in its root directory
4. Turn off the router
5. Press and hold Reset button
6. Turn on router with the reset button pressed and wait ~15 seconds
7. Release the reset button and after a short time
the firmware should be transferred from the tftp server
8. Wait ~30 second to complete recovery.

Flash instruction under U-Boot, using UART:

1. tftp 0x81000000 lede-ar71xx-...-sysupgrade.bin
2. erase 0x9f020000 +$filesize
3. cp.b $fileaddr 0x9f020000 $filesize
4. reset

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
[Jo-Philipp Wich: remove duplicate ATH79_MACH_ARCHER_C59/C60_V1 entries]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 11:38:21 +01:00
Henryk Heisig
eec0c41375 ar71xx: QCA956X: add missing register
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2017-01-26 11:38:20 +01:00
Qian Zheng
b822f29f25 ar71xx: fix netgear wndr3700 v1/v2, wndr3800/wndr3800ch switch port mapping
Signed-off-by: Qian Zheng <sotux82@gmail.com>
2017-01-26 11:38:20 +01:00
Qian Zheng
3d4069fb8e ar71xx: fix netgear wnr2000 v3 switch port mapping
Signed-off-by: Qian Zheng <sotux82@gmail.com>
[Jo-Philipp Wich: fix alphabetical order after merging with gl-ar300 case]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 11:38:20 +01:00
Qian Zheng
810eb8d0ea ar71xx: fix tl-wr841n-v7 switch port mapping
Signed-off-by: Qian Zheng <sotux82@gmail.com>
[Jo-Philipp Wich: fix alphabetical order]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 11:38:20 +01:00
Alex Samorukov
d872b732e7 ar71xx: Fix mikrotik subtarget default profile for device profile selection
Signed-off-by: Alex Samorukov <samm@os2.kiev.ua>
2017-01-25 08:01:25 +01:00
Alex Samorukov
17401b3d5c ar71xx: improve Mikrotik hAP Lite device support
- remove CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
- enable jffs2 support
- fix sysupgrade

Signed-off-by: Alex Samorukov <samm@os2.kiev.ua>
2017-01-25 08:00:11 +01:00
Felix Fietkau
83783f296a uboot-ar71xx: switch to using u-boot.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-24 16:21:24 +01:00
Felix Fietkau
bfdc56d3a2 build: remove mips16 feature flag from target makefiles
It can be implicitly derived from the MIPS32 revision support in the
kernel configuration

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-24 13:15:01 +01:00
John Crispin
236fcedc51 Revert "ar71xx: wrt400n: lift size limit on kernel and rootfs part"
This reverts commit 78c2ec0f47.

The builders were failing with a segfault when generating the image

Signed-off-by: John Crispin <john@phrozen.org>
2017-01-20 06:43:13 +01:00
YuheiOKAWA
261415a660 ar71xx: add support for PQI Air Pen
SoC: AR9331
Ethernet x1, Wireless 2.4G, uSD card slot x1.
USB Power, include Li-Po Battery.

Signed-off-by: YuheiOKAWA <tochiro.srchack@gmail.com>

Changes in v2:
alphabetical ordering, tabs fron spaces.
2017-01-20 00:52:48 +01:00
Yousong Zhou
78c2ec0f47 ar71xx: wrt400n: lift size limit on kernel and rootfs part
While at it, convert to new build method

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-01-20 00:44:46 +01:00
Conor O'Gorman
274546046d ar71xx: add Abicom SC1750 support
Support Abicom International Scorpion SC1750 Board

QCA9550 700MHz Extended Temperature Range
256MB DDR2
256MB Nand Flash
16MB Nor Flash
1x SFP, 1x PCIe
2x 10/100/1000 Ethernet
135x100 mm
802.11ng/g/b
802.11ac/an/a

Signed-off-by: Conor O'Gorman <i@conorogorman.net>
2017-01-20 00:40:40 +01:00
Conor O'Gorman
d38ffd8cd9 ar71xx: add Abicom SC450 support
Support Abicom International Scorpion SC450 Board

QCA9550 700MHz Extended Temperature Range
256MB DDR2
256MB NAND Flash
16MB NOR Flash
10/100/1000 Ethernet
15W Max, 3x3 Mode, Full Power TX Power
802.3-at POE+ & DC Input options
100x 85mm
USB
PCIe
SFP
GPIO/LED

Signed-off-by: Conor O'Gorman <i@conorogorman.net>
2017-01-20 00:40:33 +01:00
Conor O'Gorman
eb97f41fc2 ar71xx: add Abicom SC300M support
Support Abicom International Scorpion SC300M Module

QCA9550 700MHz Extended Temperature Range
256MB DDR2
256MB Nand Flash
16MB SPI Flash
802.11a/na/b/g/ng
GPIO x 22, USB x2, PCIe x2
10/100/1000 Ethernet
23dBm, Optional Onboard Antenna
DC Input, 8-20V DC
85 x 55 mm

Signed-off-by: Conor O'Gorman <i@conorogorman.net>
2017-01-20 00:40:27 +01:00
Svetoslav Neykov
97b52593bc ar71xx: Chipidea USB device support
Changes the platform to use the Chipidea driver instead of the
generic USB host driver which has support for both host and
device modes (selected on boot).

The changes in 930-chipidea-pullup.patch are already in mainline.
I'll upstream 920-usb-chipidea-AR933x-platform-support.patch once I
can test the changes with a newer kernel.

Signed-off-by: Svetoslav Neykov <svetoslav@neykov.name>
2017-01-20 00:37:01 +01:00
Thibaut VARENE
29d0ac35bd ar71xx: mark soft_config mtd part as writeable for RB-941-2nD
The soft_config partition must be writeable for rbcfg to be able to
enact changes to the routerboot configuration.
The read-only flag was a mistake in the initial patch. Removing it
brings mach-rb941.c in line with all other RB platforms.

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
2017-01-18 12:05:43 +01:00
Felix Fietkau
00144d2730 ar71xx: fix up the kernel config for the mikrotik subtarget
Limit enabled devices to routerboards, disable all other devices

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-16 20:40:13 +01:00
Cezary Jackiewicz
05115e9656 ar71xx: fix network config for Mikrotik RB411U
Mikrotik RB411U has only one ethernet port - eth0. This patch allows to create
correct config with one lan section.

Signed-off-by: Cezary Jackiewicz <cezary@eko.one.pl>
2017-01-16 20:40:12 +01:00
Thibaut VARENE
3f7841a70a ar71xx: add support for RB-941-2nD
Add full support for Mikrotik RB-941-2nD (hAP lite)

Original patch by Sergey Sergeev <adron@yapic.net> and
more information is available here:
https://wiki.openwrt.org/toh/mikrotik/rb941_2nd
I updated and adapted the patch to apply cleanly to LEDE trunk
and added proper numbering for the switch ports (matching case
labels).
Tested working on actual hardware with the information
provided in the above webpage. Sysupgrade works.

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-16 20:40:12 +01:00
Felix Fietkau
9db9072d67 ar71xx: convert mikrotik routerboard support to UBI
Remove the wget2nand script, drop the need for manual installation,
use sysupgrade instead.

There are now two different NAND images, one for 64 MiB flashes, the
other for >= 128 MiB

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-16 20:40:12 +01:00
Felix Fietkau
0e547400fb ar71xx: create a proper default profile for the mikrotik subtarget, drop other profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-16 20:40:12 +01:00
João Chaínho
ace9d1fb6f ar71xx: Detect USB port on Mikrotik RB750UP
The USB port on Mikrotik RB750UP isn’t detected. This patch provides a fix. Tested and working.

Signed-off-by: João Chaínho <joaochainho@gmail.com>
2017-01-15 17:43:14 +01:00
Felix Fietkau
1708644f19 kernel: backport MIPS changes introducing a separate IRQ stack
Prevents crashes when IRQs arrive when the current kernel stack context
already contains deeply nested function calls, e.g. when stacking lots
of network devices on top of each other

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-15 18:25:54 +01:00
Felix Fietkau
d6c77b9d99 ar71xx: default to external USB power on RB-912UAG
There's a GPIO that can switch between power to USB pins for the
internal MiniPCIe slot or the external USB port.
People are more likely to use the external one so enable it by default.
Existing configurations should be unaffected

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-13 10:53:05 +01:00
David Varga
d7fd1a0f8d ar71xx: enable serial console on Mikrotik RB411/RB433
This patch adds support for serial console on Mikrotik RB411 and RB433
series devices.

Signed-off-by: David Varga <duvi@duvinet.hu>
[picked from FS#377]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-01-13 08:32:20 +01:00
Felix Fietkau
e21cb649a2 ar71xx: disable sub-page writes on routerboard nand drivers
They seem to fail in tests using UBI, and are not used by yaffs2

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-11 13:10:19 +01:00
Felix Fietkau
b1dbe6028e ar71xx: fix legacy image build error
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-11 13:09:21 +01:00
Felix Fietkau
889272d92d ar71xx: fix RB4xx CPLD SPI device mode setup
Commit af79fdbe4a changed the code to use tx_nbits for dual SPI tx
transfers, however the SPI stack only allows this when the device mode
includes the relevant bit as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-11 13:02:11 +01:00
Felix Fietkau
c3a8b87773 ar71xx: fix RB4xx SPI driver mode bits
Accept SPI_TX_DUAL in device mode to fix the CPLD driver

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-11 13:02:11 +01:00
Stijn Tintel
0d3dc16931 ar71xx: drop references to madwifi
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Felix Fietkau <nbd@nbd.name>
2017-01-10 13:02:00 +01:00
Matthias Schiffer
1fef80f29c
ar71xx: add support for TP-Link WBS210/510
The devices are mostly identical to the CPE210/510, but use external
antennas.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-01-05 16:01:17 +01:00
Felix Fietkau
af79fdbe4a ar71xx: remove a non-upstream spi core patch
- use standard flags instead
- remove dead code from the rb4xx spi drivers

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-05 11:09:13 +01:00
Radek Dostál
3561d89ad6 ar71xx: RE450: enable building of TP-Link RE450
Signed-off-by: Radek Dostál <rd@radekdostal.com>
2016-12-22 14:50:06 +01:00
Tal Keren
9c475eca3e ar71xx: add support for TP-Link RE450
Add full support for TP-Link RE450.
The wireless SoC is similiar to Archer C7: QCA9558 + QCA9880 (pci).
The ethernet interface is AR8035, but the mdio is connected to the gpio and
the chipset builtin mdio bus isn't used, which is unique (and weird), so the
kernel gpio mdio module is used.
The two ethernet leds are connected to the GPIO, so they are both configured,
one to indicate link status and the other to indicate data transfer.

The generation of the image was added to the image Makefile.
The return value of tplink-safeloader is not ignored anymore (to fail on error)

The result factory image is flashable from the stock web ui.

Signed-off-by: Tal Keren <kooolk@gmail.com>
[rd@radekdostal.com: ar71xx: RE450: do not build RE450 for nand]
Signed-off-by: Radek Dostál <rd@radekdostal.com>
[hyniu@o2.pl: ar71xx: RE450: Renaming LED accordance with the standard]
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
[jo@mein.io: squash fixes from Radek and Henryk into original commit]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-12-22 14:50:05 +01:00
Radek Dostál
236fc232bb ar71xx: sort items in 11-ath10k-caldata alphabetically
Requested-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Radek Dostál <rd@radekdostal.com>
2016-12-22 14:50:05 +01:00
Tal Keren
0d9d980ecd firmware-utils: kernel image generator for TP-Link RE450
The firmware image that is used in TP-Link RE450 (and some more devices from
the RE series) is tplink-safeloader.
In the kernel partition, the kernel is compressed in a regular tp-link
firmware that is just used for booting. Since it is only used for compressing
and booting, only four fields are filled in the header:
Vendor, version, kernel load address and kernel entry point.
mktplinkfw-kernel is a simpler version of mktpolinkfw that generate such
images. It also specifies the hardware id (as it is in the product info
section), so when doing a sysupgrade - the existing code will check for
hardware compatibility.

Signed-off-by: Tal Keren <kooolk@gmail.com>
[rd@radekdostal.com: add build target to .../image/tp-link.mk]
Signed-off-by: Radek Dostál <rd@radekdostal.com>
2016-12-22 14:50:05 +01:00
Matthias Schiffer
324bdf3ecc
ar71xx: remove redundant -j from TL-WR1043ND v4 kernel build command
mktplinkfw ignores -j in combined mode, the EOF marker is added by
tplink-safeloader.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-12-21 23:29:00 +01:00
Ludwig Thomeczek
1a4d07c2c5
ar71xx: add support for TP-LINK WR1043ND v4
Signed-off-by: Ludwig Thomeczek <ledesrc@wxorx.net>
2016-12-20 14:38:48 +01:00
Matthias Schiffer
0495181529
ar71xx: rename mktplinkfw-initramfs to more generic mktplinkfw-combined
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-12-20 14:38:48 +01:00
Kevin Darbyshire-Bryant
79abb8f140 kernel: bump to 4.4.39
Bump & refresh patches for all 4.4 targets.

Compile & run tested: ar71xx Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2016-12-20 09:35:36 +01:00
David Lutz
aada15af93
ar71xx: add support for TP-LINK TL-WR940N v4
Signed-off-by: David Lutz <kpanic@hirnduenger.de>
2016-12-16 11:12:46 +01:00
Jo-Philipp Wich
98b14e0906 ar71xx: fix TL-WR842N v2 switch port order
The TL-WR842N v2 has the following switch port layout with swconfig port 0
being connected to eth1:

            Power  LAN4    LAN3    LAN2    LAN1    WAN     USB
             (*) | [...] | [...] | [...] | [...] | [...] | [.]
    swconfig port:   1       4       3       2      n/a
    netdev:        eth1    eth1    eth1    eth1    eth0

Adjust the board defaults to match this model specific layout.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-12-14 18:43:48 +01:00
Gad Krumholz
21cb84435a ar71xx: Added missing support for Linksys E2100L
It's based on the WRT160NL according to
https://wiki.openwrt.org/toh/linksys/e2100l

Based on research done here: https://forum.openwrt.org/viewtopic.php?id=24244
and here: https://forum.openwrt.org/viewtopic.php?pid=120791#p120791 this patch
was conceived.

Signed-off-by: Gad Krumholz <gad.krumholz@gmail.com>
[Jo-Philipp Wich: fix ordering, move addpattern change into separate commit]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-12-14 18:42:48 +01:00
Huan Truong
fd62fa752b ar71xx: Add support for Netgear WNR2000v1
This patch adds supports for the WNR2000v1 board with 4MB flash, and
produces device-specific factory, rootfs, and sysupgrade files for the
WNR2000v1. This board is errorneously claimed as supported on the OpenWRT
wiki as AP81, but AP81 image would not work because of APT81 image
requiring having 8MB of flash, while WNR2000v1 has only 4MB.

The image requires the u-boot bootloader to be modified to fuhry's
bootloader first.

Short specification:

- CPU: Atheros AR9132
- 4x 10/100 Mbps Ethernet, 1x WAN 10/100 Mbps
- 4 MB of Flash
- 32 MB of RAM
- UART header (J1) on board
- 1x button

Factory/Initial flash instructions:

- Set up a TFTP server on your local machine.
- Download the uImage for ar71xx-generic and the rootfs image for
  ar71xx-generic-wnr2000 and save in the tftp server root.
- Gain serial access to the router via the UART port (telnetenable over
  the network only won't work!).
- Upgrade the u-boot bootloader to fuhry's version by running the
  script: http://fuhry.com/b/wnr2000/install-repart.sh
- When the router restarts, interrupt u-boot and gain access to u-boot command line.
- Repartititon the board and flash initial uImage and rootfs as follow.

Commands to type in u-boot:

	# tells u-boot that we have a tftp server on 192.168.1.10
	setenv serverip 192.168.1.10

	# tells u-boot that the router should take the address 192.168.1.1
	setenv ipaddr 192.168.1.1

	# erase the region from 0x050000-0x3f0000
	erase 0xbf050000 +0x3A0000

	# loads sqfs.bin on TFTP server, and put it to memory address 0x81000000
	tftpboot 0x81000000 sqfs.bin
	# it will tell you the length of sqfs.bin in hex, let's say ZZZZZZ
	# copy bit by bit 0xZZZZZZ bytes from offset 0x050000
	cp.b 0x81000000 0xbf050000 0xZZZZZZ

	# same to the uImage.bin, write it right next to sqfs.bin
	# again, 0xYYYYYY is the length that tftpboot reports
	tftpboot 0x81000000 uImage.bin
	cp.b 0x81000000 0xbf2a0000 0xYYYYYY

	# We need to tell the kernel what board it is booting into, and where to find the partitions
	setenv bootargs "board=WNR2000 console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,3712k(firmware),64k(art)ro rootfstype=squashfs,jffs2 noinitrd"

	# Tell u-boot where to find the uImage
	setenv bootcmd "bootm 0xbf2a0000"

	# Tell u-boot to save parameters to the u-boot-env partitions
	saveenv

	# Reset the board
	reset

Tested on:

- WNR2000v1 board.
- Initial flash works.

Known bugs:

- I don't know why factory image doesn't work on initial flash on stock
  firmware in u-boot recovery mode while it should.
- Sysupgrade does not yet work, if you do -f it will mess up your
  installation (requiring a reinstall of sqfs and uImage).

Signed-off-by: Huan Truong <htruong@tnhh.net>
2016-12-14 10:37:01 +01:00
Jing Lin
c9a9f9b8ce ar71xx: Add ath10k-firmware-qca988x for DomyWifi DW33D
The default package selection was missing the correct FW for ath10k to
work.

Signed-off-by: Jing Lin <mumuqz@163.com>
2016-12-14 10:37:01 +01:00
Kevin Darbyshire-Bryant
f5b833b8fe kernel: bump to 4.4.38
Bump & refresh patches for all 4.4 supported targets.

Compile & run tested: ar71xx - Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2016-12-13 08:28:28 +01:00
Matthias Schiffer
fcf54f79d2
ar71xx: simplify model detection for TP-Link Pharos devices
This also makes the detection more flexible, as it doesn't need to check
for each model explicitly.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-12-12 13:45:37 +01:00
Felix Fietkau
8f23ec609c ar71xx: remove obsolete flash chip locking code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-12 10:22:19 +01:00
Felix Fietkau
a5923cd549 ar71xx: remove PB92 reference design board support
Due to flash size limitations, support for this board has not been
functional for years

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-12 10:22:18 +01:00