Age | Commit message (Collapse) | Author |
|
Each Allwinner SoC contains a SoC ID, which can be used to identify
a chip.
Add a function to retrieve this value and print it upon initializing
ATF.
|
|
Improve readability by removing comments that just repeat the code
and trim the line width to fit into 80 characters.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
Drop back into non-secure world into the AArch64 state now.
This allows U-Boot to run in 64-bit mode, so no need to call back
into the firmware to eventually launch 64-bit kernels.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
Without the arisc there is no need to reserve a memory mapping for
later. Remove the entries from the data structure to avoid unneeded
mappings.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
If we soon run in SRAM, the memory mapping code maps .text & friends
anyway, so we can confine the device mapping to the actual memory
region used by devices. We exclude the SRAM/BROM regions.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
Add a function to get the highest implemented exception level and
use that for entering BL3-3 in.
Also we make the bit-size we enter non-secure world a parameter, so that
we can easily switch between AArch32 and AArch64.
(HACK: Keep entering U-Boot still in AArch32 SVC for now.)
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
This function does nothing, apparently it was copied from the FVP
code. Remove its definition and the call.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
We have macros to generate define and populate the memory map
structures, but in fact need only one instance for EL3, as sunxi
does not need EL1 page tables.
Remove the unneeded code.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
The sun50i port only uses BL31, so there is no need for then BL1 and BL2
code files (copied from the FVP port). Remove them.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
|
|
|
|
The architected timer is hardwired to be driven by the 24 MHz clock.
Remove all code that tries to determine this dynamically.
Also fix the actual number, which is not 24 * 2^20, but 24 * 10^6 Hz.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
Add some constants to the console code to make it more readable.
|
|
A lot of code is not needed:
- no need for empty function which have a default implementation
- no need for A57 code and Juno workarounds
- no need for specific core enumeration in a single cluster SoC
|
|
|
|
The Pine64 Wiki[1] links to a BSP tarball, among other things
containing a dump of an ARM Trusted Firmware source tree with
Allwinner changes on top.
Since the tarball does not contain any version history information
about the changes, this commit is just the diff between the ATF 1.0
release and the files from the Allwinner provided tarball.
The executable flag from many source has been removed.
[1] http://wiki.pine64.org/index.php/Pine_A64_Software_Release#Linux_BSP_Related
|