- 27 Jan, 2017 1 commit
-
-
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>
-
- 28 Dec, 2016 4 commits
-
-
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
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>
-
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>
-
- 29 Nov, 2016 6 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>
-