Piotr Dymacz [Tue, 15 Dec 2015 11:45:53 +0000 (12:45 +0100)]
Allow to define particular stop character for autoboot
This would be useful for boards which share serial console with some
other device, like MCU, which may unintentionally interrupt boot process.
It is fast and simple solution, for future we should restore functionality
from original U-Boot code, with string stop sequences.
Piotr Dymacz [Mon, 14 Dec 2015 12:07:50 +0000 (13:07 +0100)]
Add some missing field defines in SPI FLASH related register
Piotr Dymacz [Thu, 10 Dec 2015 14:48:12 +0000 (15:48 +0100)]
Use macros for bit fiels definition in QC/A common header file
Piotr Dymacz [Thu, 10 Dec 2015 14:33:14 +0000 (15:33 +0100)]
Allow to use bit mask in asm code
Piotr Dymacz [Thu, 10 Dec 2015 13:54:52 +0000 (14:54 +0100)]
Fix wrong DPLL2 in SRIF area register definitions for QCA953x
As usual... you should not trust QC/A datasheets!
They are so buggy and contain lot of copy&paste mistakes.
DPLL2 register in SRIF for QCA953x seems to be totally different
than in other QCA95xx WiSOCs. Happily, definitions in original code
from SDK seem to be correct, so we will use it instead.
Clock settings based on setting default and SRIF PLL was confirmed on scope.
Piotr Dymacz [Thu, 3 Dec 2015 08:05:44 +0000 (09:05 +0100)]
Update default SPI divider value for QCA953x
Piotr Dymacz [Wed, 2 Dec 2015 23:56:53 +0000 (00:56 +0100)]
Include new FLASH common code file also in ap143 Makefile
Piotr Dymacz [Wed, 2 Dec 2015 18:30:07 +0000 (19:30 +0100)]
Fix SPI clock calculation in setclk command, use new QC/A clocks calculation function
Piotr Dymacz [Wed, 2 Dec 2015 18:24:56 +0000 (19:24 +0100)]
Include new FLASH common code file in Makefiles
Piotr Dymacz [Wed, 2 Dec 2015 18:14:58 +0000 (19:14 +0100)]
Update printing FLASH info in common code, allow to print info about more FLASH banks
Piotr Dymacz [Wed, 2 Dec 2015 18:08:27 +0000 (19:08 +0100)]
Add new file with FLASH related common code for all QCA boards
Piotr Dymacz [Wed, 2 Dec 2015 17:57:42 +0000 (18:57 +0100)]
Include new QC/A SPI FLASH driver in Makefile
Piotr Dymacz [Wed, 2 Dec 2015 16:27:17 +0000 (17:27 +0100)]
Remove from cmd_custom.c include of already removed header file
Piotr Dymacz [Wed, 2 Dec 2015 16:23:15 +0000 (17:23 +0100)]
Refactor FLASH related code
Add more information fields in FLASH description structure, add list of supported chips,
move some defines related with SPI NOR FLASH to flash.h, clean and reformat code.
Piotr Dymacz [Wed, 2 Dec 2015 16:11:14 +0000 (17:11 +0100)]
Remove old, flash related code from Atheros
Piotr Dymacz [Wed, 2 Dec 2015 01:07:46 +0000 (02:07 +0100)]
Add SFDP support in new QC/A SPI driver
SFDP (serial FLASH discoverable parameters) allows to get useful information
about FLASH parameters and we will use it for unknown chip, to get basic data
like size, erase sector size and corresponding erase command.
Plus, some other minor changes:
- remove defines (we will keep it in flash.h)
- use provided sector erase command
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