FreeRTOS: Common I/O
AWS IoT Common I/O library
Return to main page ↑
iot_efuse.h
Go to the documentation of this file.
1 /*
2  * FreeRTOS Common IO V1.0.0
3  * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a copy of
6  * this software and associated documentation files (the "Software"), to deal in
7  * the Software without restriction, including without limitation the rights to
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9  * the Software, and to permit persons to whom the Software is furnished to do so,
10  * subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in all
13  * copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21  *
22  * http://aws.amazon.com/freertos
23  * http://www.FreeRTOS.org
24  */
25 
30 #ifndef _IOT_EFUSE_H_
31 #define _IOT_EFUSE_H_
32 
41 #define IOT_EFUSE_SUCCESS ( 0 )
42 #define IOT_EFUSE_INVALID_VALUE ( 1 )
43 #define IOT_EFUSE_READ_FAIL ( 2 )
44 #define IOT_EFUSE_WRITE_FAIL ( 3 )
45 #define IOT_EFUSE_CLOSE_FAIL ( 4 )
46 #define IOT_EFUSE_FUNCTION_NOT_SUPPORTED ( 5 )
47 #define IOT_EFUSE_ERROR ( 6 )
52 struct IotEfuseDescriptor;
53 
59 typedef struct IotEfuseDescriptor * IotEfuseHandle_t;
60 
69 
81 int32_t iot_efuse_close( IotEfuseHandle_t const pxEfuseHandle );
82 
97 int32_t iot_efuse_read_32bit_word( IotEfuseHandle_t const pxEfuseHandle,
98  uint32_t ulIndex,
99  uint32_t * ulValue );
100 
115 int32_t iot_efuse_write_32bit_word( IotEfuseHandle_t const pxEfuseHandle,
116  uint32_t ulIndex,
117  uint32_t ulValue );
118 
133 int32_t iot_efuse_read_16bit_word( IotEfuseHandle_t const pxEfuseHandle,
134  uint32_t ulIndex,
135  uint16_t * ulValue );
136 
151 int32_t iot_efuse_write_16bit_word( IotEfuseHandle_t const pxEfuseHandle,
152  uint32_t ulIndex,
153  uint16_t value );
154 
158 /* end of group iot_efuse */
159 
160 #endif /* ifndef _IOT_EFUSE_H_ */
int32_t iot_efuse_write_16bit_word(IotEfuseHandle_t const pxEfuseHandle, uint32_t ulIndex, uint16_t value)
Write 16-bit value to the 16-bit efuse word at specified index.
int32_t iot_efuse_write_32bit_word(IotEfuseHandle_t const pxEfuseHandle, uint32_t ulIndex, uint32_t ulValue)
Write 32-bit value to the 32-bit efuse word at specified index.
int32_t iot_efuse_read_32bit_word(IotEfuseHandle_t const pxEfuseHandle, uint32_t ulIndex, uint32_t *ulValue)
Read 32-bit efuse word from specified index.
int32_t iot_efuse_close(IotEfuseHandle_t const pxEfuseHandle)
iot_efuse_close is used to de Initialize things needed to disable efuse access.
int32_t iot_efuse_read_16bit_word(IotEfuseHandle_t const pxEfuseHandle, uint32_t ulIndex, uint16_t *ulValue)
Read 16-bit efuse word from specified index.
IotEfuseHandle_t iot_efuse_open(void)
iot_efuse_open is used to Initialize things needed to access efuse.
struct IotEfuseDescriptor * IotEfuseHandle_t
IotEfuseHandle_t is the handle type returned by calling iot_efuse_open(). This is initialized in open...
Definition: iot_efuse.h:59