Piotr Dymacz [Tue, 24 Nov 2015 12:38:35 +0000 (13:38 +0100)]
Remove infinite loop from new QC/A SPI driver
It seems that we really don't need and don't want this loop here.
In case of missing FLASH chip, we should get 0x0 from SPI shift in register after the command, because other chips are silent during their CS high.
What's more, it seems that the access to SPI shift in register is somehow locked until the SOC shifts out all previously programmed bits.
That is only a theory after some tests on scope and still needs more tests.
Piotr Dymacz [Mon, 23 Nov 2015 17:35:58 +0000 (18:35 +0100)]
Add missing copyright/license info
Piotr Dymacz [Sun, 22 Nov 2015 21:51:58 +0000 (22:51 +0100)]
Add initial version of new QC/A SPI FLASH driver
Instead of using so called bit banging/blasting mode, as the old one driver from Atheros SDK does, this driver utilizes SPI shift registers.
With this approach, we need to only setup one register and let the built-in SPI controller do the rest.
SPI shift registers and how they work exactly are not described very well in QC/A WiSoCs datasheets, so som things had to be tested in practice.
This driver has been already successfully tested on all supported platforms, including:
- Atheros AR933x (SPI shift registers are not mentioned in its datasheet!)
- Atheros AR9341/4
- Qualcomm Atheros QCA953x
Tests on scope showed that with this driver, clock for SPI is the same as the one set in SPI_CONTROL register (depends on platform, between 25 and 30 MHz).
With old driver, clock was around 4-6 MHz, which means that new driver may drastically increase SPI operations speed.
In practical tests, for operations like sector erase, time needed by chip to finish the operation, is more significant, so there is no difference at all.
Comparison for other operations, like page program, has not been done yet.
Piotr Dymacz [Mon, 16 Nov 2015 11:46:31 +0000 (12:46 +0100)]
WIP: clean little bit ap143.h
Piotr Dymacz [Mon, 16 Nov 2015 11:16:40 +0000 (12:16 +0100)]
Add support for LED and button in TL-WR820N
Piotr Dymacz [Mon, 16 Nov 2015 11:06:06 +0000 (12:06 +0100)]
Drop executable file attrib for original U-Boot images
Piotr Dymacz [Mon, 16 Nov 2015 11:01:42 +0000 (12:01 +0100)]
Add original U-Boot image for TP-Link TL-WR820N v1 for China market
Piotr Dymacz [Mon, 16 Nov 2015 11:00:47 +0000 (12:00 +0100)]
Update .gitignore: track original u-boot images
Piotr Dymacz [Mon, 16 Nov 2015 02:15:39 +0000 (03:15 +0100)]
Include all files from TP-Link GPL sources needed to make TL-WR820N based on QCA953x compile and work... we will clean this mess later
Piotr Dymacz [Mon, 16 Nov 2015 02:14:18 +0000 (03:14 +0100)]
Add initial definition for TL-WR820N CH in U-Boot Makefile
Piotr Dymacz [Mon, 16 Nov 2015 02:11:57 +0000 (03:11 +0100)]
Remove not used anymore config CONFIG_HORNET_1_1_WAR
Piotr Dymacz [Mon, 16 Nov 2015 02:10:56 +0000 (03:10 +0100)]
Remove old configs CONFIG_AR7240 and CONFIG_AR7100
Piotr Dymacz [Mon, 16 Nov 2015 01:52:17 +0000 (02:52 +0100)]
Add TL-WR820N CH definition in top level Makefile
Piotr Dymacz [Mon, 16 Nov 2015 01:49:20 +0000 (02:49 +0100)]
Rework start(_bootstrap).S files
Piotr Dymacz [Mon, 16 Nov 2015 01:16:51 +0000 (02:16 +0100)]
More cleans, this time with AR934x low level related code and forgotten changes in Makefile for AR933x low level code
Piotr Dymacz [Mon, 16 Nov 2015 01:08:18 +0000 (02:08 +0100)]
Clean mess with AR933x low level related code
Piotr Dymacz [Mon, 16 Nov 2015 00:03:21 +0000 (01:03 +0100)]
Add qca_gpio_init.S file with lowlevel initialization of GPIO, for platforms based on QC/A SOCs
Piotr Dymacz [Sun, 15 Nov 2015 23:14:49 +0000 (00:14 +0100)]
Add GPIO MUX related definitions in qca_soc_common.h header file, plus some minor fixes
Piotr Dymacz [Sun, 15 Nov 2015 23:13:28 +0000 (00:13 +0100)]
Adjust QC/A SOC related code to the new bitmask SOC_TYPE values
Piotr Dymacz [Sun, 15 Nov 2015 23:11:24 +0000 (00:11 +0100)]
Don't include linux/bitops.h header in ASM code
Piotr Dymacz [Sun, 15 Nov 2015 16:07:00 +0000 (17:07 +0100)]
Fix wrong bitwise operators used for SOC_TYPE defines
Piotr Dymacz [Sun, 15 Nov 2015 14:12:11 +0000 (15:12 +0100)]
Use new bitmask for SOC_TYPE in QC/A common registers definition header
Piotr Dymacz [Sun, 15 Nov 2015 14:02:26 +0000 (15:02 +0100)]
Use bitmasks for SOC types and SOC families selection
That will allow us to not only select specific SOC,
like QCA9558, but also the family, ex. QCA955x
Piotr Dymacz [Sat, 14 Nov 2015 20:43:00 +0000 (21:43 +0100)]
Rework code related with CPU reset, plus minor fixes
Piotr Dymacz [Sat, 14 Nov 2015 19:18:15 +0000 (20:18 +0100)]
Add bit fields definitions for RST_RESET register in QC/A common register definition header, plus some minor fixes
Piotr Dymacz [Sat, 14 Nov 2015 01:15:33 +0000 (02:15 +0100)]
Fix definitions for QCA953x revisions
Piotr Dymacz [Sat, 14 Nov 2015 14:25:56 +0000 (15:25 +0100)]
Add support for reading MIPS CPU type and print it during booting
Piotr Dymacz [Fri, 13 Nov 2015 02:07:23 +0000 (03:07 +0100)]
Remove old serial and clock drivers, we don't need them anymore
Piotr Dymacz [Fri, 13 Nov 2015 02:04:40 +0000 (03:04 +0100)]
Adjust code in ar7240_flash.c to work after last changes
It's really ugly and need to be rewritten soon... for now, keep it as it is
Piotr Dymacz [Fri, 13 Nov 2015 02:01:44 +0000 (03:01 +0100)]
Some code cleans and formatting fixes
Includes:
- cleaning in ap121.c and db12x.c (remove unused code, formatting)
- get rid of board related stuff in board.c, formating, minor changes
- formating and minor changes in bootstrap_board.c
- add some missing functions definitions in common.h header
Piotr Dymacz [Fri, 13 Nov 2015 01:58:21 +0000 (02:58 +0100)]
Start using new QC/A related code plus minor fixes in ag7240.c and ag934x.c
Piotr Dymacz [Fri, 13 Nov 2015 01:56:12 +0000 (02:56 +0100)]
Add forgotten define name change in soc_common.h
Piotr Dymacz [Fri, 13 Nov 2015 01:50:40 +0000 (02:50 +0100)]
New, common file for board related, common functions
Piotr Dymacz [Fri, 13 Nov 2015 01:17:48 +0000 (02:17 +0100)]
Add new code/drivers for QC/A WiSoCs
New, more universal and clean code for:
- High Speed UART (old AR933x UART driver)
- Low Speed UART (for AR934x and QCA95xx)
- system clocks calculation
- SOC version and revision
Work still in progress (some TODO left in code)
Piotr Dymacz [Thu, 12 Nov 2015 21:56:23 +0000 (22:56 +0100)]
Introduce new header files for SoC register defines
As it turned out, most of QC/A WiSoC are very similar
from register structures and addresses point of view.
What's more, it seems that even when some registers
or fields are slightly different in name, they still
mean the same and work in exactly same way.
So, instead of using approach from old Atheros SDK,
where we have hundreds of different header files,
for different chips, we will use only one. And in
case of different address for the same register or
different fields size/position, etc., we will use
preprocessor and SOC_TYPE value.
Add also MediaTek/Ralink headers file, we are going
to fill it soon.
Piotr Dymacz [Wed, 11 Nov 2015 23:04:32 +0000 (00:04 +0100)]
Another helper macro moved to include/linux/bitops.h
Piotr Dymacz [Wed, 11 Nov 2015 23:00:36 +0000 (00:00 +0100)]
Export new SOC_TYPE defines into include/config.h, we are going to use that with new QC/A related code
Piotr Dymacz [Wed, 11 Nov 2015 22:54:57 +0000 (23:54 +0100)]
Add git short hash in U-Boot version string
Piotr Dymacz [Mon, 9 Nov 2015 13:41:48 +0000 (14:41 +0100)]
Add BIT/S() macro helpers in u-boot/include/linux/bitops.h
Piotr Dymacz [Sun, 8 Nov 2015 19:37:34 +0000 (20:37 +0100)]
Change BOARD_CUSTOM_STRING for all supported devices, we will use it as board name in future
Piotr Dymacz [Thu, 5 Nov 2015 20:29:42 +0000 (21:29 +0100)]
Merge branch 'pull_request_82'
Piotr Dymacz [Thu, 5 Nov 2015 20:27:44 +0000 (21:27 +0100)]
Cosmetic fix
Piotr Dymacz [Thu, 5 Nov 2015 19:45:49 +0000 (20:45 +0100)]
Merge branch 'pull_request_79'
Piotr Dymacz [Thu, 5 Nov 2015 19:45:39 +0000 (20:45 +0100)]
Use longer name for Black Swift board defines, BSB doesn't say too much
Piotr Dymacz [Thu, 5 Nov 2015 19:20:16 +0000 (20:20 +0100)]
Merge branch 'pull_request_67'
Piotr Dymacz [Thu, 5 Nov 2015 17:41:46 +0000 (18:41 +0100)]
Update both README files: add shorter and tested instruction for update in DD-WRT
Piotr Dymacz [Thu, 5 Nov 2015 15:00:52 +0000 (16:00 +0100)]
Update both README files: add description for OpenWrt update method, using dedicated images from official releases
Piotr Dymacz [Thu, 5 Nov 2015 12:52:17 +0000 (13:52 +0100)]
Merge branch 'update_readme'
Piotr Dymacz [Thu, 5 Nov 2015 12:46:01 +0000 (13:46 +0100)]
Update both README files, add information about different FLASH map, update instruction for TFTP/UART method, add new images
Tobias Diedrich [Wed, 21 Oct 2015 20:05:26 +0000 (22:05 +0200)]
Fix warning in tinf.h: function declaration isn't a prototype
Tobias Diedrich [Wed, 21 Oct 2015 20:03:35 +0000 (22:03 +0200)]
Replace crc32 with tinf_crc32 everywhere.
Tobias Diedrich [Wed, 21 Oct 2015 19:37:42 +0000 (21:37 +0200)]
Make compressed image compile again.
Tobias Diedrich [Wed, 21 Oct 2015 19:33:36 +0000 (21:33 +0200)]
Allow overriding CROSS_COMPILE on the commandline.
Tobias Diedrich [Tue, 20 Oct 2015 22:39:49 +0000 (00:39 +0200)]
Remove local modifications from tinfgzip.c that were included accidentally.
Tobias Diedrich [Tue, 20 Oct 2015 22:30:29 +0000 (00:30 +0200)]
Avoid "implicit declaration of function 'tinf_crc32'"
Tobias Diedrich [Tue, 20 Oct 2015 22:20:35 +0000 (00:20 +0200)]
Drop in tinflate lib.
Adds compatibility-macro for crc32.
Setting first arg (crc) to anything but 0 is not supported, but all
callers already conform to this.
This is asserted at compile time through macro trickery.
Reduces uncompressed code size by ~1KB:
Without this change: Data Size: 127348 Bytes = 124.36 kB = 0.12 MB
After this change: Data Size: 126084 Bytes = 123.13 kB = 0.12 MB
Tobias Diedrich [Tue, 20 Oct 2015 21:50:00 +0000 (23:50 +0200)]
Remvove unused zlib.h and bzlib.h
Tobias Diedrich [Mon, 19 Oct 2015 20:40:41 +0000 (22:40 +0200)]
Move milisecdelay into include/common.h
Tobias Diedrich [Mon, 19 Oct 2015 17:46:22 +0000 (19:46 +0200)]
Do not set -DCOMPRESSED_UBOOT=0
The code only checks for existance, so -DCOMPRESSED_UBOOT=0
leads to "#ifdef COMPRESSED_UBOOT" protected sections to be wrongly
included.
Tobias Diedrich [Mon, 19 Oct 2015 17:36:59 +0000 (19:36 +0200)]
Fix memory initialization in ag7240.c
Only the first sizeof(ptr) bytes were initialized correctly.
This leads to a crash in ag7250_send() if mac->next_tx is uninitialized
(if the memory returned by malloc() is not nulled).
Tobias Diedrich [Mon, 19 Oct 2015 17:32:12 +0000 (19:32 +0200)]
Log a message when sbrk fails and return the correct error code.
Returning NULL leads to subtle corruption and malloc returning memory
addresses in the user mode space range (0x00000000-0x7fffffff).
This in turn also breaks everything that implicitly relies on malloc()ed
memory to be zeroed at the beginning (since the malloc arena is
initially zeroed).
Antony Pavlov [Sat, 26 Sep 2015 19:59:28 +0000 (22:59 +0300)]
README*: add Black Swift board info
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Dmitriy Zherebkov [Sat, 26 Sep 2015 19:51:04 +0000 (22:51 +0300)]
add Black Swift board support
Black Swift is a tiny coin-sized embedded computer based on AR9331 SoC.
See http://www.black-swift.com/ for details.
See also Black Swift kickstarter page:
https://www.kickstarter.com/projects/
1133560316/black-swift-tiny-wireless-computer
Signed-off-by: Dmitriy Zherebkov <dzh@black-swift.com>
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Antony Pavlov [Sun, 24 May 2015 18:57:48 +0000 (21:57 +0300)]
net: fix ag934x.c and ag7240.c formatting
This patch makes evident that ag934x.c is based on ag7240.c
and the changes are not very significant so we can decrease
code duplication in the future by joing the files.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Antony Pavlov [Sun, 24 May 2015 20:46:36 +0000 (23:46 +0300)]
drop useless extern function declarations
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Antony Pavlov [Sun, 24 May 2015 19:18:54 +0000 (22:18 +0300)]
u-boot/cpu/mips/ar7240/ag934x.c: dos2unix
Here is file's program output on ag934x:
u-boot_mod$ file u-boot/cpu/mips/ar7240/ag934x.c
u-boot/cpu/mips/ar7240/ag934x.c: C source, ASCII text, with CRLF, LF line terminators
see also
http://stackoverflow.com/questions/
2466959/git-removing-carriage-returns-from-source-controlled-files
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Piotr Dymacz [Wed, 29 Apr 2015 17:49:28 +0000 (19:49 +0200)]
Enable loadb/loady commands by default for most of supported devices
Piotr Dymacz [Wed, 29 Apr 2015 17:48:08 +0000 (19:48 +0200)]
Cosmetic changes in cmd_load.c, tested, working
Piotr Dymacz [Wed, 29 Apr 2015 14:02:00 +0000 (16:02 +0200)]
Add missing newline in setclk command description.
Piotr Dymacz [Wed, 29 Apr 2015 14:00:32 +0000 (16:00 +0200)]
Restore support for loadb, loads and saves commands. Still needs some tests and fixes.
Piotr Dymacz [Tue, 28 Apr 2015 22:12:32 +0000 (00:12 +0200)]
Add all supported baud rates in top config. TODO: fix AR934x support (need new serial driver)
Piotr Dymacz [Tue, 28 Apr 2015 22:08:12 +0000 (00:08 +0200)]
Print all available baud rates if selected is not supported
Piotr Dymacz [Tue, 28 Apr 2015 21:39:34 +0000 (23:39 +0200)]
Update list of supported baud rates in new AR933x serial driver.
Piotr Dymacz [Tue, 28 Apr 2015 18:18:14 +0000 (20:18 +0200)]
Switch to target function name for clocks reading
Piotr Dymacz [Tue, 28 Apr 2015 17:50:00 +0000 (19:50 +0200)]
Move serial_init function, that solves problems with support for configurable baudrates in compressed version
Piotr Dymacz [Tue, 28 Apr 2015 14:59:57 +0000 (16:59 +0200)]
Don't enable RTS/CTS by default in new AR933x UART driver, because we are not able to control GPIO17 (LED6) after that... it looks like another mistake in datasheet.
Piotr Dymacz [Tue, 28 Apr 2015 13:10:57 +0000 (15:10 +0200)]
Remove unused, old UART driver and clean Makefile in cpu/mips/ar7240
Piotr Dymacz [Tue, 28 Apr 2015 13:08:51 +0000 (15:08 +0200)]
Function ar933x_40MHz_xtal should be inline
Piotr Dymacz [Sun, 19 Oct 2014 20:19:44 +0000 (22:19 +0200)]
Switch to new UART driver and allow to use more baudrates on Dragino2 board for test purposes. This changes break code on boards with compressed, 64 KB U-Boot image.
Piotr Dymacz [Sun, 19 Oct 2014 20:15:00 +0000 (22:15 +0200)]
New and better AR933x UART driver, with support for baudrate switch, used it upstrem U-Boot version, not yet released for this SoC
Piotr Dymacz [Sun, 19 Oct 2014 20:11:07 +0000 (22:11 +0200)]
Move ar7240_sys_frequency function to external, new file: ar933x_clocks.c
Piotr Dymacz [Sun, 19 Oct 2014 20:09:08 +0000 (22:09 +0200)]
New AR933x SoC registers definitions
Piotr Dymacz [Tue, 28 Apr 2015 12:42:08 +0000 (14:42 +0200)]
Make U-Boot image upgrade scripts in environment variables compatible with bigger images
Piotr Dymacz [Tue, 28 Apr 2015 12:28:40 +0000 (14:28 +0200)]
Remove fake, software FLASH protection command and related function... we really don't need it and all it does is just increase final image size
Piotr Dymacz [Tue, 28 Apr 2015 10:46:45 +0000 (12:46 +0200)]
Add missing echo commands in update scripts, stored in environment variables
Piotr Dymacz [Tue, 28 Apr 2015 10:25:28 +0000 (12:25 +0200)]
Make custom command "defenv" compatible with environment variables block stored not at FLASH sector boundary.
Piotr Dymacz [Tue, 28 Apr 2015 10:24:38 +0000 (12:24 +0200)]
Restore FLASH protection related command and function, they are needed for writable environment variables support
Piotr Dymacz [Tue, 28 Apr 2015 09:51:01 +0000 (11:51 +0200)]
Enable more commands and writable environment support on almost all supported devices, excluding D-Link DIR-505.
On rest devices, we will store environment variables in second FLASH sector, at offset 0x9F01EC00 and limit environment block size to 4 KB (should be enough, can be extended with reduced U-Boot image size).
Simple map of new FLASH organization for TP-Link/GS-Oolite/GL.iNet devices:
0x9F000000 Start of FLASH, start of U-Boot image, 1st 64 KB FLASH sector
..........
0x9F010000 Start of 2nd 64 KB FLASH sector
..........
0x9F01EC00 End of U-Boot image (up to 123 KB), start of 4 KB environment variables block
..........
0x9F01FC00 End of environment variables block, start of 1 KB block with MAC address, model number, WPS pin
..........
0x9F020000 End of MAC block, start of 3rd 64 KB FLASH sector, start of firmware image
..........
D-Link DIR-505 has ART data in second sector, starting from 0x9F011000, which gives us only 4 KB of additional space.
Maybe we can fit environment variables block in the same sector where is stored MAC address, but first we need to find more space for U-Boot image.
Piotr Dymacz [Tue, 28 Apr 2015 07:08:21 +0000 (09:08 +0200)]
Fix line endings (Win->Unix) in u-boot/include/configs/db12x.h
Piotr Dymacz [Tue, 28 Apr 2015 06:24:16 +0000 (08:24 +0200)]
Temporary remove DHCP feature on D-Link DIR505, so that the final image is smaller than 64 KB.
Piotr Dymacz [Mon, 27 Apr 2015 22:22:43 +0000 (00:22 +0200)]
Extend maximum U-Boot image size up to 123 KB (1 KB is reserved for additional data in second sector, in rest 4 KB we will store writable environment) for TP-Link, GS-Oolite and GL.iNet devices, that will allow to include more commands, including environment support.
Piotr Dymacz [Mon, 27 Apr 2015 17:38:23 +0000 (19:38 +0200)]
Allow to upload in web failsafe mode U-Boot images which are not multiple of FLASH erase sector size (like Nx64KB). Backup data from FLASH before U-Boot upgrade - that will allow to extend U-Boot image size on all TP-Link devices.
Piotr Dymacz [Tue, 14 Oct 2014 21:58:10 +0000 (23:58 +0200)]
Use U-Boot max. image size definition from top Makefile in configs
Piotr Dymacz [Tue, 14 Oct 2014 21:56:48 +0000 (23:56 +0200)]
Change name of U-Boot max. image size definition in top Makefile
Piotr Dymacz [Mon, 27 Apr 2015 11:12:18 +0000 (13:12 +0200)]
Add more files in top .gitignore
Piotr Dymacz [Sun, 26 Apr 2015 17:18:48 +0000 (19:18 +0200)]
Merge branch 'pull-request-56'
Antony Pavlov [Mon, 20 Apr 2015 13:00:11 +0000 (16:00 +0300)]
import slightly stripped top .gitignore from mainline U-Boot
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Antony Pavlov [Mon, 20 Apr 2015 12:25:20 +0000 (15:25 +0300)]
treewide: drop executable file attrib for non-executable files
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Piotr Dymacz [Fri, 21 Nov 2014 00:49:55 +0000 (01:49 +0100)]
u-boot-update: fix small typo
Piotr Dymacz [Fri, 21 Nov 2014 00:23:28 +0000 (01:23 +0100)]
Add u-boot-update script, used in last release, in dedicated OpenWrt BB images