1d5a84eeaSYann Gautier /* 2d5a84eeaSYann Gautier * Copyright (c) 2021, STMicroelectronics - All Rights Reserved 3d5a84eeaSYann Gautier * 4d5a84eeaSYann Gautier * SPDX-License-Identifier: BSD-3-Clause 5d5a84eeaSYann Gautier */ 6d5a84eeaSYann Gautier 7d5a84eeaSYann Gautier #ifndef STM32MP_FCONF_GETTER 8d5a84eeaSYann Gautier #define STM32MP_FCONF_GETTER 9d5a84eeaSYann Gautier 10d5a84eeaSYann Gautier #include <assert.h> 11d5a84eeaSYann Gautier 12d5a84eeaSYann Gautier #include <lib/fconf/fconf.h> 13*41bd8b9eSSughosh Ganu #include <tools_share/uuid.h> 14d5a84eeaSYann Gautier 15d5a84eeaSYann Gautier /* IO policies */ 16d5a84eeaSYann Gautier #define stm32mp__io_policies_getter(id) __extension__ ({ \ 17d5a84eeaSYann Gautier assert((id) < MAX_NUMBER_IDS); \ 18d5a84eeaSYann Gautier &policies[id]; \ 19d5a84eeaSYann Gautier }) 20d5a84eeaSYann Gautier 21d5a84eeaSYann Gautier struct plat_io_policy { 22d5a84eeaSYann Gautier uintptr_t *dev_handle; 23d5a84eeaSYann Gautier uintptr_t image_spec; 24*41bd8b9eSSughosh Ganu struct efi_guid img_type_guid; 25d5a84eeaSYann Gautier int (*check)(const uintptr_t spec); 26d5a84eeaSYann Gautier }; 27d5a84eeaSYann Gautier 28d5a84eeaSYann Gautier extern struct plat_io_policy policies[]; 29d5a84eeaSYann Gautier int fconf_populate_stm32mp_io_policies(uintptr_t config); 30d5a84eeaSYann Gautier 31d5a84eeaSYann Gautier #endif /* STM32MP_FCONF_GETTER */ 32