- 11 Feb, 2017 1 commit
-
-
Priit Laes authored
$PATH can contains directories that do not exist, so hide error messages about those entries. Signed-off-by: Priit Laes <plaes@plaes.org>
-
- 03 Feb, 2017 1 commit
-
-
NiteHawk authored
Move thunk code to a dedicated subdirectory, implement fel_clrsetbits_le32()
-
- 27 Jan, 2017 5 commits
-
-
Bernhard Nortmann authored
This function provides bitwise clear/set operations on 32-bit words via FEL. It may help with implementing future functionality, where ARM register manipulations often involve such bit level access. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
These might be useful in case the code requires maintenance/changes. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
"make headers" (which in turn invokes "make -C thunks/" should now build the include files via awk, avoiding the need for ruby. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
Try an 'educated guess' for a suitable toolchain if no explicit CROSS_COMPILE was set (but still default to "arm-none-eabi-"). Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
- 21 Jan, 2017 1 commit
-
-
NiteHawk authored
fel: Implement memory copy operations and "memmove" command
-
- 30 Dec, 2016 1 commit
-
-
Bernhard Nortmann authored
This functionality is now available via "sunxi-fel memmove", so change the fel-gpio script accordingly and remove the thunk code. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
- 28 Dec, 2016 13 commits
-
-
Bernhard Nortmann authored
This also obsoletes fel-copy.c - for details see issue #78. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
The functions represent ARM "thunk" code that can be invoked via FEL to execute arbitrary memory copy operations on the target device, i.e. they deal with overlap and unaligned access. Where possible, the copy operation will use (32-bit) word transfers, otherwise it falls back to bytewise copying. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
NiteHawk authored
SID fix / H3 workaround
-
Bernhard Nortmann authored
Also includes an updated uart0-helloworld-sdboot.sunxi binary. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Icenowy Zheng authored
With fixed SID reading routine, it's now possible to differ H2+ with H3 with SID. Tested on an Orange Pi One and an Orange Pi Zero. Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
-
Bernhard Nortmann authored
The patch also introduces a "sid-register" command for diagnostic purposes. It allows to use/enforce the workaround method for other SoCs, to check if there are any inconsistencies with the values read from memory. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
The new function fel_get_sid_registers() uses ARM code for register access to the SID root key. This is necessary to retrieve correct values for certain SoCs, e.g. when not using this approach the H3 has been observed to return 'mangled' values (when reading SID from memory). See https://groups.google.com/forum/#!topic/linux-sunxi/ynyIP8c61Qs The FEL library provides a uniform fel_get_sid_root_key() wrapper that will automatically use the workaround method for SoCs that are tagged accordingly - so the application program does not have to bother with selecting memory vs. register-based access. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Icenowy Zheng authored
H3 SID controller has some bug, that makes the initial value at 0x01c14200 wrong. This commit workarounds this bug by reading them with register access first. Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> Reviewed-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
This is a preparatory step. Instead of using memory-based access, we might want to retrieve SID keys (e-fuses) via SID registers. For this, it's convenient if the plain base address is available. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
NiteHawk authored
Add support for Allwinner V3s, which is similar to A10/A13/A20 in terms of SRAM mapping and SID address.
-
Icenowy Zheng authored
Add the SoC ID and UART0 pinmux for V3s. Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
-
Icenowy Zheng authored
The V3s SoC looks like A10/13/20 in SRAM mapping and SID address. Add support for it. Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
-
- 21 Dec, 2016 1 commit
-
-
NiteHawk authored
fel: Improve on handling invalid options
-
- 13 Dec, 2016 2 commits
-
-
Bernhard Nortmann authored
This is to make sure that users get notified accordingly if the "sunxi-fel --list" doesn't find any FEL devices. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
For unknown option-style arguments (starting with '-'), exit after printing an error message. This avoids situations where sunxi-fel would not report incorrect options (with no FEL device attached/detected) and fail with "Allwinner USB FEL device not found" instead, which is undesirable. TODO: Might have to eventually migrate this to some better argument parsing, e.g. getopt(3) or something similar. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
- 07 Dec, 2016 2 commits
-
-
Bernhard Nortmann authored
fel: - Minor review of ARM scratch code - POSIX conformance: Use nanosleep() instead of deprecated usleep() README: - revert Unicode dash to standard ASCII Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
- 01 Dec, 2016 5 commits
-
-
Bernhard Nortmann authored
Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
NiteHawk authored
Make use of FEL library to implement device enumeration and selection by SID
-
Bernhard Nortmann authored
Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
"./sunxi-fel --list" enumerates Allwinner USB devices that are in FEL mode. For each device detected, the SoC name/ID and - if available - the SID key will be printed to stdout. The utility then exits with status code 0 (upon success), or 1 if no devices were found. The current implementation treats the list feature as an option, to be able to handle it *before* the first attempt to call feldev_open() - which could fail (with no FEL devices connected). However, a "list" alias is available for users who expect this to be 'command' syntax, so "./sunxi-fel list" works too. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
- 29 Nov, 2016 8 commits
-
-
Bernhard Nortmann authored
Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
open_fel_device() will automatically provide this member field, based on the SoC ID from FEL/BROM version data. The field will either receive a human-readable identifier, or the ID in 4-digit hexadecimal representation (for unknown SoCs). Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
The feldev_handle struct returned by feldev_open() will now contain this additional data, so the main application no longer needs to care about retrieving that. aw_fel_get_version() has thus become a static (= 'private') function. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
The FEL utility had accumulated enough (mostly USB-related) "low-level" code to justify moving that to a separate code unit. This will allow us to keep better focus on the higher level functionality in fel.c. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
This moves claiming / releasing the interface into the respective "open" / "close" functions. The USB code in main() is now trimmed down to: feldev_init(); handle = open_fel_device(...); feldev_done(handle); Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-
Bernhard Nortmann authored
We move USB endpoint detection into the feldev_claim() routine, so higher level code is no longer involved with that. Also make use of the "detached" flag within feldev_handle, instead of relying on an isolated variable. Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
-