arm-trusted-firmware/plat/imx/common/include/plat_common.h
Sascha Hauer 7eae1db027 feat(imx): add helper to take params from BL2
So far the i.MX BL31 doesn't take any parameters. This means the BL32
image base address and whether or not a BL32 image is used at all has to
be hardcoded in BL31.

This adds a helper function that allows to take params from BL2 safely.
On i.MX BL2 is usually U-Boot SPL which passes random values in arg0,
so make sure arg0 is within the internal SRAM range before accessing it
as a pointer. Also make sure arg0 is sufficiently aligned and the header
type and version is correct.

Change-Id: Idab8013a1d6dabf50a83c75f3e6f831de4a537e9
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2024-04-26 11:04:56 +02:00

17 lines
401 B
C

/*
* Copyright (c) 2024, Pengutronix, Inc. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef PLAT_COMMON_H
#define PLAT_COMMON_H
#include <stdint.h>
#include <common/bl_common.h>
int imx_bl31_params_parse(uintptr_t arg0, uintptr_t ocram_base,
uintptr_t ocram_size,
entry_point_info_t *bl32_info,
entry_point_info_t *bl33_info);
#endif /* PLAT_COMMON_H */