ipq806x: Load TZBSP blob from coreboot ramstage

Hardware / Coreboot - Vikas Das [codeaurora.org] - 15 April 2015 14:56 UTC

Read the TZBSP blob from CBFS and run it. A side effect of the blob execution is switching the processor into User mode.

Starting TZBSP requires processor running in Supervisor mode, TZBSP code is compiled for ARM. Coreboot is executing in System mode and is compiled for Thumb. An assembler wrapper switches the execution mode and interfaces between Thumb and ARM modes.

BUG=chrome-os-partner:34161 BRANCH=Storm TEST=manual With the preceeding patches the system successfully loads to depthcharge in recovery mode.

Change-Id: I812b5cef95ba5562a005e005162d6391e502ecf8

08f249e ipq806x: Load TZBSP blob from coreboot ramstage
src/mainboard/google/storm/mainboard.c | 2 +
src/soc/qualcomm/ipq806x/Makefile.inc | 2 +
src/soc/qualcomm/ipq806x/blobs_init.c | 55 ++++++----
src/soc/qualcomm/ipq806x/include/soc/memlayout.ld | 4 +-
.../qualcomm/ipq806x/include/soc/soc_services.h | 5 +
src/soc/qualcomm/ipq806x/tz_wrapper.S | 106 ++++++++++++++++++++
6 files changed, 155 insertions(+), 19 deletions(-)

Upstream: review.coreboot.org


  • Share