summaryrefslogtreecommitdiff
path: root/drivers/fpga/fpga.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2025-01-15 18:27:19 -0700
committerTom Rini <trini@konsulko.com>2025-01-22 09:47:50 -0600
commit20ad3fa0e1af3982ddfe824aae1b8221c1f1fa0c (patch)
treeca028a5313bc2c5e327400edc40cff4bd767b54a /drivers/fpga/fpga.c
parentbed7c4599d14c251021b82186ecf558689873486 (diff)
spl: Add support for a relocating jump to the next phase
When one xPL phase wants to jump to the next, the next phase must be loaded into its required address. This means that the TEXT_BASE for the two phases must be different and there cannot be any memory overlap between the code used by the two phases. It also can mean that phases need to be moved around to accommodate any size growth. Having two xPL phases in SRAM at the same time can be tricky if SRAM is limited, which it often is. It would be better if the second phase could be loaded somewhere else, then decompressed into place over the top of the first phase. Introduce a relocating jump for xPL to support this. This selects a suitable place to load the (typically compressed) next phase, copies some decompression code out of the first phase, then jumps to this code to decompress and start the next phase. This feature makes it much easier to support Verified Boot for Embedded (VBE) on RK3399 boards, which have 192KB of SRAM. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/fpga/fpga.c')
0 files changed, 0 insertions, 0 deletions