43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
/*
|
|
* Copyright 2022 NXP
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef _FSL_SILICON_ID_H_
|
|
#define _FSL_SILICON_ID_H_
|
|
|
|
#include "fsl_common.h"
|
|
|
|
#define SILICONID_MAX_LENGTH 16U
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*!
|
|
* @brief Get the silicon ID.
|
|
*
|
|
* @param siliconId[out] Memory address to store silicon ID, array length depends on specific Soc. The
|
|
* SILICONID_MAX_LENGTH is the maximun length of all supported Socs.
|
|
* @param idLen[in/out] Silicon ID byte length. Set the length to read, return the length read out.
|
|
* @retval kStatus_Success Succeed to get silicon ID.
|
|
* @retval kStatus_Fail Fail to get silicon ID.
|
|
*/
|
|
status_t SILICONID_GetID(uint8_t *siliconId, uint32_t *idLen);
|
|
|
|
/*!
|
|
* @brief Get and convert the silicon ID to ethernet MAC address.
|
|
*
|
|
* @param macAddr[out] Memory address to store ethernet MAC address.
|
|
* @retval kStatus_Success Succeed to get silicon ID and finish conversion.
|
|
* @retval kStatus_Fail Fail to get silicon ID and finish conversion.
|
|
*/
|
|
status_t SILICONID_ConvertToMacAddr(uint8_t (*macAddr)[6]);
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
#endif /* _FSL_SILICON_ID_H_ */
|