summaryrefslogtreecommitdiff
path: root/board/hardkernel/odroid_m1
diff options
context:
space:
mode:
authorSam Protsenko <semen.protsenko@linaro.org>2024-07-23 13:14:36 -0500
committerMinkyu Kang <mk7.kang@samsung.com>2024-07-24 16:37:09 +0900
commitf04e58cc978824872e6a4de40788d65660e502bf (patch)
tree032aab9f23a2625ccb546d073a363da61e5554dd /board/hardkernel/odroid_m1
parentac1a474b38a5170f93b6aaf1c7f74f34530a8ed0 (diff)
downloadu-boot-f04e58cc978824872e6a4de40788d65660e502bf.tar.gz
u-boot-f04e58cc978824872e6a4de40788d65660e502bf.tar.bz2
u-boot-f04e58cc978824872e6a4de40788d65660e502bf.zip
board: samsung: e850-96: Load LDFW firmware on board init
LDFW is a Loadable Firmware which provides additional security capabilities in EL3 monitor. For example, True Random Number Generator (TRNG) block registers can't be accessed from EL1 (where U-Boot and Linux kernel are running), but it's possible to access TRNG capabilities via corresponding SMC calls, which in turn are handled by LDFW. To do so, LDFW firmware has to be loaded first. It's stored on a raw eMMC partition, so it has to be read into NWD (Normal World) RAM buffer, and then loaded to SWD (Secure World) memory using the special SMC call to EL3 monitor program. EL3_MON will load LDFW to SWD memory, more specifically to the area starting at 0xbf700000 (with size of 7.5 MiB). That memory area is reserved in device tree, so there shouldn't be any collisions. After that LDFW becomes functional. Implement LDFW firmware loading on board init. While at it, fix the copyright date in header comments, as this board support was actually added in 2024, not in 2020: it was probably a copy-paste mistake. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'board/hardkernel/odroid_m1')
0 files changed, 0 insertions, 0 deletions