/*
 * hal_efuse.h
 *
 *  Created on: 2023年6月9日
 *      Author: jinyaoh
 */

#ifndef _HAL_EFUSE_H_
#define _HAL_EFUSE_H_

#include "hal_def.h"
#include "base_space.h"


typedef enum
{
    EFUSE0 = 0x00U,
    EFUSE1,
    EFUSE2,
    EFUSE3,
    EFUSE4,
    EFUSE5,
    EFUSE6,
    EFUSE7,
} HAL_EFUSE_VALUE;

typedef enum
{
    SECTOR0 = 0x00U,
    SECTOR1,
    SECTOR2,
    SECTOR3,
} HAL_EFUSE_SECTOR;


uint32_t hal_efuse_read(HAL_EFUSE_SECTOR sector, HAL_EFUSE_VALUE efuse);
uint8_t hal_efuse_write(HAL_EFUSE_SECTOR sector,HAL_EFUSE_VALUE addr,uint32_t value);
void hal_efuse_program_mode(Options_EnableEnum state);
void hal_efuse_write_bit(uint32_t addr);


#endif /* DRIVER_INCLUDE_HAL_HAL_EFUSE_H_ */
