Piotr Dymacz [Fri, 16 Jun 2017 11:45:33 +0000 (13:45 +0200)]
Fix {load,save}_baudrate value in saves/load{b,s,y} commands
Piotr Dymacz [Wed, 14 Jun 2017 21:19:01 +0000 (23:19 +0200)]
target_util: improve/rework u-boot-upgrade script
This improves u-boot-upgrade target script:
- fix all warnings/errors pointed out by shellcheck
- generate expected checksum file from md5sums list if it doesn't exist
- check if target mtd device is writable before writing to it
- download and install kmod-mtd-rw if target mtd device is locked for rw
- don't show fatal error if target mtd device content wasn't changed
This closes #155
Piotr Dymacz [Tue, 13 Jun 2017 20:53:04 +0000 (22:53 +0200)]
Add new custom command 'rstbywdt' for last reset reason check
Add a small helper command 'rstbywdt' which returns true if the last
system reset was caused by the SOC watchdog.
It can be used for example to boot different kernel in case of reset
caused by watchdog:
if rstbywdt; then bootm 0x9FE80000; else bootm 0x9F050000; fi
Also, show a warning at boot if last reset was caused by watchodg.
Piotr Dymacz [Tue, 13 Jun 2017 20:36:55 +0000 (22:36 +0200)]
Fix upgrade scripts in u-boot/include/env_scripts.h
As we have now 'tftpboot' and 'tftpput' commands, 'tftp' shortcut
doesn't work (isn't recognized as tftpboot). Use 'tftpb' instead.
Piotr Dymacz [Tue, 13 Jun 2017 19:55:54 +0000 (21:55 +0200)]
Add watchdog timer control register bit fields for QCA
Piotr Dymacz [Tue, 13 Jun 2017 18:25:20 +0000 (20:25 +0200)]
Fix DRAM type detection on Dragino 2
Dragino 2 needs custom DRAM type detection as it doesn't follow general
convention. MEM_TYPE value in BOOT_STRAP register isn't set correctly
on this board because only GPIO28 is used for DRAM type detection.
This fixes DRAM type detection on new Dragino 2 version which is based
on Dragino HE module, with DDR2 memory.
Piotr Dymacz [Tue, 9 May 2017 12:32:20 +0000 (14:32 +0200)]
README: include GigaDevice chips in list of supported FLASH
Piotr Dymacz [Tue, 2 May 2017 19:13:11 +0000 (21:13 +0200)]
Add original U-Boot image for TP-Link TL-WR842N/D v3
Piotr Dymacz [Tue, 2 May 2017 19:08:55 +0000 (21:08 +0200)]
Add support for TP-Link TL-WR842N/D v3 (QCA9531 based)
This closes #143.
Piotr Dymacz [Tue, 2 May 2017 15:50:07 +0000 (17:50 +0200)]
Add support for GigaDevice SPI NOR chips
Piotr Dymacz [Tue, 2 May 2017 15:43:05 +0000 (17:43 +0200)]
Fix indentation in include/flash.h
Piotr Dymacz [Tue, 2 May 2017 15:08:46 +0000 (17:08 +0200)]
Drop unused file: include/hornet_soc.h
Piotr Dymacz [Mon, 24 Apr 2017 19:11:52 +0000 (21:11 +0200)]
Restore workaround for AR9331 hang on soft reset
This workaround was already included in
ff7a030 and then removed in
d9ba54f. As it turned out, it's critical and required.
Tests showed that on some devices with AR9331, CPU PLL doesn't lock
after a soft reset with AHB clock divider lower than 4. In original code
from Qualcomm Atheros SDK, AHB clock divider is set to 4 before CPU PLL
is powered up. Then, when PLL update is done, divider is set to target
value.
Tests were made on multiple devices, with DDR1, DDR2 and different
AR9331 chip revisions: -AL1A, -AL2A and -AL3A. Unfortunately, the
problem exists in every configuration type, isn't related with chip
revision and is reproductible.
Without this workaround, some devices hangs at waiting for CPU PLL
update process to finish and can be recovered from this state only
with a hard reset.
Piotr Dymacz [Sun, 23 Apr 2017 16:00:35 +0000 (18:00 +0200)]
Use -fno-delete-null-pointer-checks for optimized build
This fixes alternative memory test (mtest with CFG_ALT_MEMTEST).
Piotr Dymacz [Wed, 12 Apr 2017 21:22:43 +0000 (23:22 +0200)]
Update README
Piotr Dymacz [Wed, 12 Apr 2017 21:13:38 +0000 (23:13 +0200)]
Set lsdk_kernel env variable to 1 for all TP-Link devices
Piotr Dymacz [Wed, 12 Apr 2017 21:05:13 +0000 (23:05 +0200)]
Fix loading kernel from official vendor firmware
As it turned out, some old kernel versions from Atheros LSDK expect
different arguments passed from bootloader: RAM size (in bytes) in 3rd
parameter and FLASH size (in MB) in 4th.
Most of TP-Link firmware also contains kernel which follows this
'broken' approach.
To make fix more universal, load kernel with different parameters and
their values based on 'lsdk_kernel' environment variable. If it's > 0,
RAM and FLASH size will be passed to satisfy LSDK based kernel
requirements.
Piotr Dymacz [Wed, 12 Apr 2017 19:59:08 +0000 (21:59 +0200)]
Code cleanups in mips_linux.c
Piotr Dymacz [Tue, 11 Apr 2017 18:17:25 +0000 (20:17 +0200)]
Enable optimization for size by default
This saves few kB in code size.
Tested on all supported SOCs (built with LEDE upstream toolchain).
Piotr Dymacz [Mon, 10 Apr 2017 18:48:48 +0000 (20:48 +0200)]
Fix 'maybe-uninitialized' warnings
Piotr Dymacz [Mon, 10 Apr 2017 14:19:06 +0000 (16:19 +0200)]
Fix and cleanup config.mk, use -mtune=34kc by default
Piotr Dymacz [Thu, 6 Apr 2017 18:10:03 +0000 (20:10 +0200)]
Add support for multikey autoboot stop string
This allows to define string (in environment variable 'bootstopkey')
used to interrupt autobooting process. It works in similar way as in
upstream U-Boot version.
If variable is not defined in environment, default approach (any key)
will be used. Variable can be also predefined during compilation with
CONFIG_AUTOBOOT_STOP_STR define.
This closes #136
Piotr Dymacz [Thu, 6 Apr 2017 10:32:50 +0000 (12:32 +0200)]
Drop support for CONFIG_AUTOBOOT_STOP_CHAR
Piotr Dymacz [Wed, 5 Apr 2017 22:06:16 +0000 (00:06 +0200)]
Run recovery script only if 'recovery' variable exists
This partially solves #131
Piotr Dymacz [Wed, 5 Apr 2017 21:46:50 +0000 (23:46 +0200)]
Fix and improve recovery script
- use itest for comparison
- don't loop longer than for 10 seconds
(in extreme cases that could result in endless loop)
- show that counter variable value is hex
- clear cnt variable at script end
- clear stop_boot variable before loop
Piotr Dymacz [Wed, 5 Apr 2017 21:35:03 +0000 (23:35 +0200)]
Comment out getenv_r, we don't use it now anyway
Piotr Dymacz [Wed, 5 Apr 2017 21:15:48 +0000 (23:15 +0200)]
Clear env vars used in recovery script before and after running it
Recovery script uses two variables: a button press time counter (cnt)
and a flag (stop_boot) used later to decide if booting process should be
interrupted.
Clear their values before and after running recovery script as they
could already exist in environment (could be accidentally saved).
Piotr Dymacz [Tue, 4 Apr 2017 20:18:00 +0000 (22:18 +0200)]
README: update toolchains links
This closes #144 and fixes #146.
Piotr Dymacz [Thu, 23 Feb 2017 09:15:42 +0000 (10:15 +0100)]
ap121.h: always try to boot from lower address first
Piotr Dymacz [Thu, 16 Feb 2017 10:44:36 +0000 (11:44 +0100)]
Fix code style and indentation in qca_pci.c
Piotr Dymacz [Sun, 12 Feb 2017 12:31:29 +0000 (13:31 +0100)]
Disable U-Boot env upgrade script for COMFAST devices
Piotr Dymacz [Sun, 12 Feb 2017 12:01:05 +0000 (13:01 +0100)]
Place device name before date and git info in filename
Piotr Dymacz [Sun, 12 Feb 2017 11:57:15 +0000 (12:57 +0100)]
Add original U-Boot image for P&W R602N/CPE505N
Piotr Dymacz [Sun, 12 Feb 2017 11:44:43 +0000 (12:44 +0100)]
Add original U-Boot image for TP-Link TL-WA850RE v2
Piotr Dymacz [Sun, 12 Feb 2017 11:18:21 +0000 (12:18 +0100)]
Disable more features for YunCore CPE870
Disable MAC related commands and upgrade scripts in environment.
This allows image to fit again in 64 KB limit.
Piotr Dymacz [Sun, 12 Feb 2017 11:00:01 +0000 (12:00 +0100)]
Make MAC related commands configurable
Piotr Dymacz [Sat, 11 Feb 2017 20:36:47 +0000 (21:36 +0100)]
Add support for TP-Link TL-WA850RE v2 (QCA9533 based)
Piotr Dymacz [Sat, 11 Feb 2017 20:12:05 +0000 (21:12 +0100)]
README: keep supported boards lists in alphabetical order
Piotr Dymacz [Sat, 11 Feb 2017 19:53:56 +0000 (20:53 +0100)]
Add support for P&W R602N and CPE505N (QCA9531 based)
Piotr Dymacz [Sat, 11 Feb 2017 19:39:56 +0000 (20:39 +0100)]
ap143.h: always try to boot from lower address first
Piotr Dymacz [Sat, 11 Feb 2017 17:51:39 +0000 (18:51 +0100)]
Fix Wallys DR531 bootargs
Piotr Dymacz [Sat, 11 Feb 2017 15:36:14 +0000 (16:36 +0100)]
Drop PL version of README
Piotr Dymacz [Mon, 6 Feb 2017 09:21:31 +0000 (10:21 +0100)]
Include git branch and hash in image filename
Piotr Dymacz [Mon, 6 Feb 2017 08:39:31 +0000 (09:39 +0100)]
Use U_BOOT_VERSION string in U-Boot image header name field
Piotr Dymacz [Sun, 5 Feb 2017 18:50:05 +0000 (19:50 +0100)]
Clean and fix up messy TFTP/RARP related code
Piotr Dymacz [Sun, 5 Feb 2017 15:49:19 +0000 (16:49 +0100)]
Backport tftpput command
This command can be used to backup whole or part of the FLASH content.
For example, to backup ART data (assuming it's stored in last 64 KB
sector in 16 MB FLASH) in 'art_backup.bin' file in TFTP server:
tftpp 0x9FFF0000 0x10000 art_backup.bin
Important notice: option negotiation mechanism must be enabled in
configuration of used TFTP server.
Piotr Dymacz [Sat, 31 Dec 2016 11:41:17 +0000 (12:41 +0100)]
Save some bytes with common printf error/warning functions
Piotr Dymacz [Fri, 23 Dec 2016 13:22:21 +0000 (14:22 +0100)]
Disable AR933x hang on boot workaround for RAM loadable version
Piotr Dymacz [Fri, 23 Dec 2016 10:57:49 +0000 (11:57 +0100)]
Fix TP-Link TL-WDR43x0 board name
Piotr Dymacz [Tue, 22 Nov 2016 20:17:30 +0000 (21:17 +0100)]
Add support for TP-Link TL-WR810N (QCA9531 based)
Piotr Dymacz [Sat, 19 Nov 2016 15:51:15 +0000 (16:51 +0100)]
Do not use REF clock divider higher than 2 on QCA95xx/AR934x
As tests showed, REF clock divider is not reliable with
values higher than 2. Final clock frequency is stable
between restarts, but its value is in range +/- 20-25%
in comparison to expected/calculated frequency.
Instead of using higher REF clock divider values, make
use of fractional part of the multiplier.
This fixes #128
Piotr Dymacz [Thu, 17 Nov 2016 19:50:59 +0000 (20:50 +0100)]
Cosmetic: adjust PLL header files for tab size of 8
Piotr Dymacz [Thu, 17 Nov 2016 12:33:46 +0000 (13:33 +0100)]
Add missing ART offset for supported COMFAST devices
In most devices, last sector is used for storing ART
data. It's true also for COMFAST devices, as it looks
that they have two copies of ART data, inside second
and last FLASH sector (named 'nvram' in OFW).
ART in second sector is (will be) used in OpenWrt/LEDE,
so we will also use it as default one.
Piotr Dymacz [Fri, 11 Nov 2016 18:56:05 +0000 (19:56 +0100)]
Add original U-Boot images for supported YunCore devices
Piotr Dymacz [Fri, 11 Nov 2016 18:33:57 +0000 (19:33 +0100)]
Add support for GL Innovations GL-AR150 (AR9331 based)
Piotr Dymacz [Fri, 11 Nov 2016 10:52:35 +0000 (11:52 +0100)]
Merge branch 'wr841n_v11_orig_bin' into dev
sudden6 [Sat, 15 Oct 2016 16:02:04 +0000 (18:02 +0200)]
Add stock U-Boot image for TP-Link TL-WR841N v11
Piotr Dymacz [Mon, 7 Nov 2016 21:57:47 +0000 (22:57 +0100)]
Allow loading kernel from rootfs+kernel and kernel+rootfs firmware images
Most of the boards with firmware based on official and old QC/A SDK use
rootfs+kernel firmware order. In OpenWrt/LEDE kernel+rootfs order is
prefered (better for growing size of kernel) and more common.
As we don't know what firmware user is using, make it working with both
type of images, with kernel in front or behind the rootfs.
With this change, there is no need to change 'bootcmd' variable when
switching from vendor firmware to OpenWrt/LEDE on YunCore AP90Q/CPE830.
Piotr Dymacz [Mon, 7 Nov 2016 21:40:54 +0000 (22:40 +0100)]
Add support for ALFA NETWORK Hornet-UB (AR9331 based)
This should also work with 16/64 MB version (-64 or x2),
models sold with plastic enclosure (AP121{,U,U-64}) and
rebranded Gargoyle Pocket Router v2.
Piotr Dymacz [Mon, 7 Nov 2016 21:25:39 +0000 (22:25 +0100)]
Cosmetic: fix board order in u-boot/include/configs/ap121.h
Piotr Dymacz [Mon, 7 Nov 2016 16:32:01 +0000 (17:32 +0100)]
Add support for YunCore CPE830 (QCA9531 based)
CPE830 is a clone of AP90Q, with different type of antenna (panel)
and additional 4 LEDs for WiFi signal level indication.
Piotr Dymacz [Wed, 28 Sep 2016 18:25:49 +0000 (20:25 +0200)]
Setup GPIOs available in CF-E320N v2 as inputs
J9 header pinout on Comfast CF-E320N v2 PCB:
1. GPIO14
2. GPIO12
3. GPIO11
4. GPIO16
5. VCC (I/O, 2,62 v)
6. GND
Setup available GPIOs as inputs by default.
This allows to use them later in Linux system.
Piotr Dymacz [Tue, 27 Sep 2016 08:29:25 +0000 (10:29 +0200)]
Add information in README that TL-WR841N/D v10 and v11 are also supported
Piotr Dymacz [Sun, 25 Sep 2016 21:22:54 +0000 (23:22 +0200)]
Add support for YunCore CPE870 (AR9341 based)
Piotr Dymacz [Sun, 25 Sep 2016 21:01:46 +0000 (23:01 +0200)]
Set/unset SRAM REQ ACK bit, based on CPU and AHB clocks in DRAM setup
Piotr Dymacz [Sun, 25 Sep 2016 20:48:18 +0000 (22:48 +0200)]
Fix DDR2 setup on AR934x and QCA95xx
Instead of set/unset a SEL_18 bit field in DDR_CTL_CONFIG register,
without touching values of rest of the fields, the code was writing
value 0x40 (bit 6 set) into register (and clearing other fields).
This bug was causing problems with DDR2 initialization at least on
AR934{1,2} with DDR2 memory type.
Piotr Dymacz [Sat, 24 Sep 2016 20:57:44 +0000 (22:57 +0200)]
Add information about ready snapshot images in both README
Piotr Dymacz [Sat, 24 Sep 2016 11:45:56 +0000 (13:45 +0200)]
Add support for TP-Link TL-WR841N/D v11 (v10 clone, different GPIO LED configuration)
Piotr Dymacz [Sat, 24 Sep 2016 11:32:37 +0000 (13:32 +0200)]
Add support for TP-Link TL-WR841N/D v10 (v9 clone, only higher CPU clock)
Piotr Dymacz [Sat, 24 Sep 2016 08:09:45 +0000 (10:09 +0200)]
Include GPL-2.0 license text
Maybe this will help some companies to understand that
this project is GPL2-licensed...
Piotr Dymacz [Fri, 23 Sep 2016 22:27:10 +0000 (00:27 +0200)]
Fix TP-Link TL-MR3040 GPIO definitions
Piotr Dymacz [Fri, 23 Sep 2016 20:22:15 +0000 (22:22 +0200)]
Always generate fsdata.c and rebuild httpd part
Piotr Dymacz [Fri, 23 Sep 2016 20:20:47 +0000 (22:20 +0200)]
Rework makefsdatac shell script
Piotr Dymacz [Fri, 23 Sep 2016 16:47:01 +0000 (18:47 +0200)]
Split Comfast CF-E520N and CF-E530N profiles, build separate images for them
Piotr Dymacz [Fri, 23 Sep 2016 16:40:20 +0000 (18:40 +0200)]
Split TP-Link TL-WA801NDv2 and TL-WA830REv2 profiles, build separate images for them
Piotr Dymacz [Fri, 23 Sep 2016 16:34:27 +0000 (18:34 +0200)]
Split TP-Link TL-WDR3600 and TL-WDR43x0 profiles, build separate images for them
Piotr Dymacz [Fri, 23 Sep 2016 16:19:02 +0000 (18:19 +0200)]
Get rid off __DATE__ and __TIME__, use value generated with date command
Piotr Dymacz [Fri, 23 Sep 2016 15:56:09 +0000 (17:56 +0200)]
Add original U-Boot image for TP-Link TL-MR22U v1
Piotr Dymacz [Fri, 23 Sep 2016 15:48:20 +0000 (17:48 +0200)]
Use correct/full model names for TP-Link U-Boot dumps
Piotr Dymacz [Fri, 23 Sep 2016 15:41:42 +0000 (17:41 +0200)]
Cosmetic cleanups in u-boot/lib_mips/board.c
Piotr Dymacz [Wed, 21 Sep 2016 13:28:52 +0000 (15:28 +0200)]
Update toolchains information in README, fix some broken links
Piotr Dymacz [Sun, 18 Sep 2016 16:57:30 +0000 (18:57 +0200)]
Small optimization in ap143.h
Piotr Dymacz [Sun, 18 Sep 2016 16:49:20 +0000 (18:49 +0200)]
Add support for YunCore AP90Q (QCA9531 based)
For this board we need a custom delay in low level GPIO init.
AP90Q contains huge capacitor on reset button line which breaks
O/C recovery mode and makes board start always with safe clocks.
Piotr Dymacz [Thu, 15 Sep 2016 23:16:24 +0000 (01:16 +0200)]
Add support for Comfast CF-E314N (QCA9531 based)
Piotr Dymacz [Wed, 14 Sep 2016 20:13:42 +0000 (22:13 +0200)]
Get rid of bc in top Makefile
Piotr Dymacz [Fri, 9 Sep 2016 13:05:23 +0000 (15:05 +0200)]
Comfast CF-E520N and CF-530N are identical, only difference is front panel
Piotr Dymacz [Fri, 9 Sep 2016 12:53:43 +0000 (14:53 +0200)]
Use MK_STR for CONFIG_BOARD_CUSTOM_STRING
Piotr Dymacz [Thu, 8 Sep 2016 19:10:01 +0000 (21:10 +0200)]
Enable defenv cmd only if flash and env cmds are defined
Piotr Dymacz [Thu, 1 Sep 2016 21:21:53 +0000 (23:21 +0200)]
Add support for reading/storing MAC address in env variable
Use ethaddr variable for MAC address. If variable is not set,
try to get MAC from defined FLASH offset or if it's not there,
use fake/static one. Also, set ethaddr with MAC address from
FLASH.
If ethaddr variable is set (ex. user saved it in writable env
or defined during build), set MAC address based on its value.
Piotr Dymacz [Thu, 1 Sep 2016 19:50:25 +0000 (21:50 +0200)]
Both supported Comfast targets use same recipe, so combine them
Piotr Dymacz [Thu, 1 Sep 2016 19:19:06 +0000 (21:19 +0200)]
Set autoload variable to 'no' by default
This will stop running tftpboot after receiving
dhcp/bootp configuration.
Piotr Dymacz [Thu, 1 Sep 2016 15:37:46 +0000 (17:37 +0200)]
Add support for defining hostname, add some defaults, include it in bootp
Piotr Dymacz [Thu, 1 Sep 2016 15:27:41 +0000 (17:27 +0200)]
Cleanups in net/bootp.c
Piotr Dymacz [Thu, 1 Sep 2016 11:05:04 +0000 (13:05 +0200)]
Fix mess with MAC address for QCA953x ethernet
Piotr Dymacz [Wed, 31 Aug 2016 23:36:59 +0000 (01:36 +0200)]
Make web based recovery optional, as configurable httpd command
Piotr Dymacz [Wed, 31 Aug 2016 23:08:13 +0000 (01:08 +0200)]
Cleanups and minor fixes in LZMA related code
Piotr Dymacz [Wed, 31 Aug 2016 23:06:41 +0000 (01:06 +0200)]
Save more space with unused string functions, minor cleanups
Piotr Dymacz [Wed, 31 Aug 2016 20:22:21 +0000 (22:22 +0200)]
Move custom button recovery mode to environment script
This allows to disable it and change easily as from now
whole recovery mode is handled in script, not hard-coded
in C. Plus, get rid of some defines, fix support for boot
without delay and some other minor changes.
Piotr Dymacz [Wed, 31 Aug 2016 20:06:39 +0000 (22:06 +0200)]
Backport echo command
Piotr Dymacz [Wed, 31 Aug 2016 16:57:37 +0000 (18:57 +0200)]
Add two simple, custom commands: led{on,off}