Piotr Dymacz [Sun, 26 Nov 2017 16:46:59 +0000 (17:46 +0100)]
Simplify GPIO configuration
Automatically include:
- reset button in GPIO input mask
- active low/high LEDs masks in GPIO init high/low masks
- GPIO init low/high masks in GPIO output mask
This makes per device GPIO configuration much shorter.
Piotr Dymacz [Thu, 23 Nov 2017 07:39:10 +0000 (08:39 +0100)]
Specify exact SOC version for every supported device
Piotr Dymacz [Thu, 9 Nov 2017 20:31:02 +0000 (21:31 +0100)]
Cosmetic: fix alphabetical order in config files
Piotr Dymacz [Thu, 9 Nov 2017 19:11:14 +0000 (20:11 +0100)]
Cosmetic: be consistent with vendor and board names
Piotr Dymacz [Thu, 9 Nov 2017 16:49:40 +0000 (17:49 +0100)]
README: fix typo and trailing white spaces
Piotr Dymacz [Sat, 4 Nov 2017 20:48:41 +0000 (21:48 +0100)]
Add support for GL.iNet GL-AR300 (AR9344 based)
魏亚祥 [Wed, 30 Aug 2017 12:42:31 +0000 (20:42 +0800)]
Add support for TP-Link TL-WR1041N v2 (AR9342 based)
Signed-off-by: 魏亚祥 <weiyaxiang@gmail.com>
Piotr Dymacz [Sat, 26 Aug 2017 19:50:57 +0000 (21:50 +0200)]
Update QCA956x GPIO OUT functions list
Tomislav Požega [Thu, 17 Aug 2017 13:05:38 +0000 (15:05 +0200)]
Add support for TP-LINK TL-MR22U v1 (QCA9531 based)
Reset button, netconsole and webserver recovery tested and working.
Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Piotr Dymacz [Sun, 20 Aug 2017 11:21:46 +0000 (13:21 +0200)]
Support also version v2 of TP-Link header
This closes #167
Piotr Dymacz [Sun, 20 Aug 2017 10:04:23 +0000 (12:04 +0200)]
Include device version number in TP-Link image/target names
Include version numbers in supported TP-Link devices image/target names
to make clear for users what version it supports. TP-Link is crazy with
different versions of the same model, e.g. we have TL-MR3020 v1 and v3
(yes, there is no v2...), TL-WR802N v1, v2, v3 and v4, etc.
Piotr Dymacz [Sat, 19 Aug 2017 14:55:50 +0000 (16:55 +0200)]
Add original U-Boot image for GL.iNet GL-USB150
Piotr Dymacz [Fri, 18 Aug 2017 22:07:27 +0000 (00:07 +0200)]
Add support for GL.iNet GL-USB150 (AR9331 based)
Piotr Dymacz [Sat, 19 Aug 2017 11:38:09 +0000 (13:38 +0200)]
Update GL.iNet company name
Piotr Dymacz [Wed, 16 Aug 2017 20:32:38 +0000 (22:32 +0200)]
Add low level USB init
In case of some devices (mostly TP-Link), kernel from their vendor
firmware doesn't fully initialize USB. This solves problems with
not-functioning USB in vendor firmware on QCA9531 (for now) based
devices.
Piotr Dymacz [Sat, 19 Aug 2017 17:41:02 +0000 (19:41 +0200)]
Add original U-Boot image for TP-Link TL-MR6400 v2
Piotr Dymacz [Tue, 15 Aug 2017 21:00:09 +0000 (23:00 +0200)]
Add original U-Boot image for TP-Link TL-MR6400 v1
Piotr Dymacz [Wed, 16 Aug 2017 14:36:19 +0000 (16:36 +0200)]
Add support for TP-Link TL-MR6400 v1/v2 (QCA9531 based)
Piotr Dymacz [Wed, 16 Aug 2017 12:20:42 +0000 (14:20 +0200)]
Add support for PHY0/4 swap
Piotr Dymacz [Tue, 15 Aug 2017 19:55:58 +0000 (21:55 +0200)]
Fix strings containing 'v1' defined in preprocessor
Piotr Dymacz [Wed, 12 Jul 2017 08:08:39 +0000 (10:08 +0200)]
Add support for ALFA NETWORK AP121F (AR9331 based)
Piotr Dymacz [Fri, 11 Aug 2017 11:39:09 +0000 (13:39 +0200)]
Add 'gpio' command and enable it by default
This adds 'gpio' command, which allows to manipulate GPIO subsystem:
- change direction
- change output value
- read input value (useful for scripts)
- enable/disable JTAG
- manage special/dedicated GPIO functions
- list current configuration and available functions
For QCA95xx series, this allows full management of GPIO output and
input functionalities (mux). For AR933x, due to its capabilities,
function management is more simple and allows only enabling or
disabling selected bits in GPIO_FUNCTION_{1,2} registers.
Example commands:
- list GPIO configuration: gpio l
- list available functions: gpio l f
- set GPIO10 output to high: gpio s 10
- get GPIO10 input value: gpio i 10
Piotr Dymacz [Sun, 6 Aug 2017 20:59:56 +0000 (22:59 +0200)]
Add simple 'true' command, useful for while loops
Piotr Dymacz [Sun, 6 Aug 2017 17:59:46 +0000 (19:59 +0200)]
Keep TP-Link TL-WR902AC v1 power LED always on
All LEDs in TL-WR902AC v1 are controlled by GPIOs and there is no usual
"power" LED, connected to the VCC. This makes one of the LEDs (marked as
"power" on the enclosure) always turned on.
Piotr Dymacz [Wed, 19 Jul 2017 21:57:00 +0000 (23:57 +0200)]
Include JTAG GPIO masks in QCA common header
Piotr Dymacz [Wed, 19 Jul 2017 21:43:26 +0000 (23:43 +0200)]
Add QCA956x GPIO count
Piotr Dymacz [Sun, 16 Jul 2017 17:17:51 +0000 (19:17 +0200)]
Add more sanity checks of GPIO masks in qca_gpio_init.S
Piotr Dymacz [Sun, 16 Jul 2017 16:49:54 +0000 (18:49 +0200)]
Fix QCA955x low level GPIO_OE register setup
Both AR933x and QCA955x WiSoC series mark output GPIOs in GPIO_OE
register with bit set (and reset for inputs).
Piotr Dymacz [Tue, 11 Jul 2017 16:22:40 +0000 (18:22 +0200)]
Indicate enabled web recovery mode with pulsing LEDs
Piotr Dymacz [Tue, 11 Jul 2017 11:29:45 +0000 (13:29 +0200)]
Don't use JTAG related pins as regular GPIOs if JTAG is enabled
This allows to build RAM dedicated image or regular image with enabled
JTAG interface without changing predefined GPIO mask.
Piotr Dymacz [Mon, 10 Jul 2017 16:39:25 +0000 (18:39 +0200)]
Start web recovery mode if bootcmd execute fails
Piotr Dymacz [Sun, 9 Jul 2017 20:08:15 +0000 (22:08 +0200)]
In case of missing recovery script in env, copy it from default one
In case of update from some old version on device with correct env in
FLASH, recovery script (moved to env variable 'recovery' in
4f11127)
isn't available which results in missing 'button recovery mode'.
This fixes backward compatibility and ensures that the 'recovery'
variable is available in env - in case if it's not available in saved
env, value is copied from default env (the one embedded with image).
This fixes #154 and closes #131
Piotr Dymacz [Sun, 9 Jul 2017 15:18:51 +0000 (17:18 +0200)]
Always use printf_wrn() for printing warnings
Piotr Dymacz [Sat, 8 Jul 2017 20:26:33 +0000 (22:26 +0200)]
README: drop env size from supported devices table
Piotr Dymacz [Sat, 8 Jul 2017 07:21:11 +0000 (09:21 +0200)]
Really fix u-boot/include/configs/db12x.h
Piotr Dymacz [Sat, 8 Jul 2017 07:20:13 +0000 (09:20 +0200)]
Fix u-boot/include/configs/db12x.h
Piotr Dymacz [Fri, 7 Jul 2017 18:24:39 +0000 (20:24 +0200)]
Fix compiler warning in cmd_custom.c/do_default_env()
Piotr Dymacz [Fri, 7 Jul 2017 18:15:03 +0000 (20:15 +0200)]
Trim TL-MR3420 v3 original U-Boot file to 64 KB
yoAeroA00 [Wed, 14 Jun 2017 15:43:08 +0000 (21:13 +0530)]
Add support for TP-Link TL-MR3420 v3 (QCA9531 based)
Marty Plummer [Sun, 16 Apr 2017 07:36:04 +0000 (02:36 -0500)]
Add support for EnGenius ENS202EXT (AR9341 based)
Signed-off-by: Marty Plummer <ntzrmtthihu777@gmail.com>
Piotr Dymacz [Thu, 6 Jul 2017 21:07:36 +0000 (23:07 +0200)]
Add support for TP-Link TL-WR902AC v1 (QCA9531 based)
Piotr Dymacz [Sun, 18 Jun 2017 17:41:11 +0000 (19:41 +0200)]
Add support for CreatComm Technology D3321 (AR9331 based)
Piotr Dymacz [Sat, 17 Jun 2017 19:30:09 +0000 (21:30 +0200)]
host_util: add helper script for U-Boot flashing over serial
This script helps with flashing U-Boot image over serial line (kermit
protocol, 'loadb' command) which can be useful on devices with only
serial interface available. Script requires C-Kermit and includes some
basic checks (start it without any argument to see short usage help).
Tested on C-Kermit 9.0.302
Example run:
$ host_util/u-boot-serial-flash bin/mr3020.bin - - - - -
[INFO]: File to send: 'bin/mr3020.bin'
[INFO]: Serial device: '/dev/ttyUSB0'
[INFO]: Baudrate: '115200'
[INFO]: CLI prompt: 'u-boot> '
[INFO]: Wait string: 'Hit any key to stop booting'
[INFO]: File size: '125952'
[INFO]: Backup size: '131072' (rounded up to 64K block)
[INFO]: Erase size: '0x020000' (hex)
>>>>>> Do you want to continue (type 'y' to continue)? y
[INFO]: Power on device now...
[INFO]: Backuping data in RAM...
[INFO]: Sending command: 'cp.b 0x9f000000 0x80800000 0x020000'
[INFO]: Sending command: 'loadb 0x80800000'
[INFO]: Sending selected file to RAM at 0x80800000 (this may take a while)...
>>>>>> File sent successfully, do you want to write it to FLASH (type 'y' to continue)? y
[INFO]: Erasing FLASH, copying data from RAM to FLASH...
[INFO]: Sending command: 'erase 0x9f000000 +0x020000 && cp.b 0x80800000 0x9f000000 0x020000'
[ OK ]: Done!
>>>>>> Reset board now or switch to U-Boot CLI (type 'y' for reset)? y
[INFO]: Resetting the board...
[INFO]: Sending command: 'reset'
[ OK ]: U-Boot flashed successfully!
>>>>>> Exit now or switch to U-Boot CLI (type 'y' to exit)? y
Piotr Dymacz [Fri, 16 Jun 2017 13:13:40 +0000 (15:13 +0200)]
Set also fileaddr env variable after successful load{b,s,y}
Piotr Dymacz [Fri, 16 Jun 2017 13:07:28 +0000 (15:07 +0200)]
Always prepend file{addr,size} env variables values with 0x
Piotr Dymacz [Fri, 16 Jun 2017 12:48:02 +0000 (14:48 +0200)]
Fix code style and indentation in u-boot/common/cmd_load.c
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