1 /* 2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef IO_STM32IMAGE_H 8 #define IO_STM32IMAGE_H 9 10 #include <drivers/io/io_driver.h> 11 #include <drivers/partition/partition.h> 12 13 #define MAX_LBA_SIZE 512 14 #define MAX_PART_NAME_SIZE (EFI_NAMELEN + 1) 15 #define STM32_PART_NUM (PLAT_PARTITION_MAX_ENTRIES - STM32_TF_A_COPIES) 16 17 struct stm32image_part_info { 18 char name[MAX_PART_NAME_SIZE]; 19 uint32_t binary_type; 20 uintptr_t part_offset; 21 uint32_t bkp_offset; 22 }; 23 24 struct stm32image_device_info { 25 struct stm32image_part_info part_info[STM32_PART_NUM]; 26 unsigned long long device_size; 27 uint32_t lba_size; 28 }; 29 30 int register_io_dev_stm32image(const io_dev_connector_t **dev_con); 31 32 #endif /* IO_STM32IMAGE_H */ 33