blob: 18884ae06ca3540ee64849c1985afbfd59295d85 [file] [log] [blame]
Yann Gautier29f1f942021-07-13 18:07:41 +02001/*
2 * Copyright (c) 2021, STMicroelectronics - All Rights Reserved
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef STM32MP_FCONF_GETTER
8#define STM32MP_FCONF_GETTER
9
10#include <assert.h>
11
12#include <lib/fconf/fconf.h>
Sughosh Ganu57c6f902021-11-10 15:24:56 +053013#include <tools_share/uuid.h>
Yann Gautier29f1f942021-07-13 18:07:41 +020014
15/* IO policies */
16#define stm32mp__io_policies_getter(id) __extension__ ({ \
17 assert((id) < MAX_NUMBER_IDS); \
18 &policies[id]; \
19})
20
21struct plat_io_policy {
22 uintptr_t *dev_handle;
23 uintptr_t image_spec;
Sughosh Ganu57c6f902021-11-10 15:24:56 +053024 struct efi_guid img_type_guid;
Yann Gautier29f1f942021-07-13 18:07:41 +020025 int (*check)(const uintptr_t spec);
26};
27
28extern struct plat_io_policy policies[];
29int fconf_populate_stm32mp_io_policies(uintptr_t config);
30
31#endif /* STM32MP_FCONF_GETTER */