Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sunxi spl: Add minimal FEL SPL (CONFIG_SPL_FEL)
Allwinner CPUs supports an USB bootmode called FEL where the USB host can upload code via a simple USB protocol. To execute anything bigger than a few KB the board first needsto be initialized and that is the job of the FEL SPL.
- Loading branch information
Showing
6 changed files
with
99 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/* Intentionally empty. Only needed to get FEL SPL link line right */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") | ||
OUTPUT_ARCH(arm) | ||
ENTRY(s_init) | ||
SECTIONS | ||
{ | ||
. = 0x00002000; | ||
. = ALIGN(4); | ||
.text : | ||
{ | ||
*(.text.s_init) | ||
*(.text*) | ||
} | ||
. = ALIGN(4); | ||
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } | ||
. = ALIGN(4); | ||
.data : { | ||
*(.data*) | ||
} | ||
. = ALIGN(4); | ||
. = .; | ||
. = ALIGN(4); | ||
.rel.dyn : { | ||
__rel_dyn_start = .; | ||
*(.rel*) | ||
__rel_dyn_end = .; | ||
} | ||
.dynsym : { | ||
__dynsym_start = .; | ||
*(.dynsym) | ||
} | ||
. = ALIGN(4); | ||
.note.gnu.build-id : | ||
{ | ||
*(.note.gnu.build-id) | ||
} | ||
_end = .; | ||
. = ALIGN(4096); | ||
.mmutable : { | ||
*(.mmutable) | ||
} | ||
.bss_start __rel_dyn_start (OVERLAY) : { | ||
KEEP(*(.__bss_start)); | ||
__bss_base = .; | ||
} | ||
.bss __bss_base (OVERLAY) : { | ||
*(.bss*) | ||
. = ALIGN(4); | ||
__bss_limit = .; | ||
} | ||
.bss_end __bss_limit (OVERLAY) : { | ||
KEEP(*(.__bss_end)); | ||
} | ||
/DISCARD/ : { *(.dynstr*) } | ||
/DISCARD/ : { *(.dynamic*) } | ||
/DISCARD/ : { *(.plt*) } | ||
/DISCARD/ : { *(.interp*) } | ||
/DISCARD/ : { *(.gnu*) } | ||
/DISCARD/ : { *(.note*) } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters