/** ****************************************************************************** * @file otp.h * @author MCD Application Team * @brief OTP manager interface ****************************************************************************** * @attention * * Copyright (c) 2018-2021 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __OTP_H #define __OTP_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "utilities_common.h" /* Exported types ------------------------------------------------------------*/ typedef PACKED_STRUCT { uint8_t bd_address[6]; uint8_t hse_tuning; uint8_t id; } OTP_ID0_t; /* Exported constants --------------------------------------------------------*/ /* External variables --------------------------------------------------------*/ /* Exported macros -----------------------------------------------------------*/ /* Exported functions ------------------------------------------------------- */ /** * @brief This API return the address (64 bits aligned) of the ID parameter in the OTP * It returns the first ID declaration found from the higher address down to the base address * The user shall fill the OTP from the base address to the top of the OTP so that the more recent * declaration is returned by the API * The OTP manager handles only 64bits parameter * | Id | Parameter | * | 8bits | 58bits | * | MSB | LSB | * * @param id: ID of the parameter to read from OTP * @retval Address of the ID in the OTP - returns 0 when no ID found */ uint8_t * OTP_Read(uint8_t id); #ifdef __cplusplus } #endif #endif /*__OTP_H */