WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
efuse_porting.c 文件参考
#include "hal_efuse_v151.h"
#include "chip_io.h"
#include "securec.h"
#include "soc_porting.h"
#include "efuse.h"
#include "efuse_porting.h"
efuse_porting.c 的引用(Include)关系图:

结构体

struct  efuse_stru
 

宏定义

#define EFUSE0_BASE_ADDR   0x44008000
 
#define HAL_EFUSE0_WRITE_BASE_ADDR   (EFUSE0_BASE_ADDR + 0x800)
 
#define HAL_EFUSE0_READ_BASE_ADDR   (EFUSE0_BASE_ADDR + 0x800)
 
#define BIT_SIZE_OF_BYTE   8
 
#define EFUSE_24M_CLK   0x29
 
#define EFUSE_40M_CLK   0x19
 
#define FIRST_MAC_ADDR_START_BIT   1584
 
#define SECOND_MAC_ADDR_START_BIT   1632
 
#define THIRD_MAC_ADDR_START_BIT   1680
 
#define FORTH_MAC_ADDR_START_BIT   1728
 
#define FIRST_MAC_LOCK_BIT   314
 
#define SECOND_MAC_LOCK_BIT   315
 
#define THIRD_MAC_LOCK_BIT   316
 
#define FORTH_MAC_LOCK_BIT   317
 
#define EFUSE_MAC_NUM   4
 
#define EFUSE_MAC_LEN   6
 
#define BIT_TO_BYTE   8
 
#define SLE_MAC_ADDR_START_BIT   1904
 

函数

void efuse_port_register_hal_funcs (void)
 将hal funcs对象注册到hal_efuse模块中
 
void efuse_port_unregister_hal_funcs (void)
 从hal_efuse模块注销hal funcs对象
 
hal_efuse_region_t hal_efuse_get_region (uint32_t byte_addr)
 Get the region of a otp byte address
 
uint16_t hal_efuse_get_byte_offset (uint32_t byte_addr)
 Get the offset addr of a otp byte address
 
uint32_t efuse_read_item (efuse_idx efuse_id, uint8_t *data, uint16_t data_len)
 Get the value from efuse
 
void set_efuse_period (void)
 
uint32_t efuse_write_mac (uint8_t *data, uint16_t data_len)
 
uint32_t efuse_read_mac (uint8_t *data, uint16_t data_len, uint8_t *left_time)
 
uint32_t efuse_write_sle_mac (uint8_t *data, uint16_t data_len)
 
uint32_t efuse_read_sle_mac (uint8_t *data, uint16_t data_len)
 
uint32_t efuse_write_customer_rsvd_efuse (uint8_t *data, uint16_t data_len)
 
uint32_t efuse_write_customer_rsvd2_efuse (uint8_t *data, uint16_t data_len)
 
uint32_t efuse_read_customer_rsvd2_efuse (uint8_t *data, uint16_t data_len)
 

变量

uint32_t g_efuse_boot_done_addr = 0x44008000 + 0x2c
 EFUSE的上电完成地址
 
uint32_t g_efuse_base_addr [1] = { 0x44008000 + 0x30}
 IP的基地址
 
uint32_t g_efuse_region_read_address [1] = { ( 0x44008000 + 0x800) }
 IP的读基地址
 
uint32_t g_efuse_region_write_address [1] = { ( 0x44008000 + 0x800) }
 IP的写基地址
 

宏定义说明

◆ BIT_SIZE_OF_BYTE

#define BIT_SIZE_OF_BYTE   8

◆ BIT_TO_BYTE

#define BIT_TO_BYTE   8

◆ EFUSE0_BASE_ADDR

#define EFUSE0_BASE_ADDR   0x44008000

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2023-2023. All rights reserved.

Description: Provides efuse port template
History:
2023-3-4, Create file.

◆ EFUSE_24M_CLK

#define EFUSE_24M_CLK   0x29

◆ EFUSE_40M_CLK

#define EFUSE_40M_CLK   0x19

◆ EFUSE_MAC_LEN

#define EFUSE_MAC_LEN   6

◆ EFUSE_MAC_NUM

#define EFUSE_MAC_NUM   4

◆ FIRST_MAC_ADDR_START_BIT

#define FIRST_MAC_ADDR_START_BIT   1584

◆ FIRST_MAC_LOCK_BIT

#define FIRST_MAC_LOCK_BIT   314

◆ FORTH_MAC_ADDR_START_BIT

#define FORTH_MAC_ADDR_START_BIT   1728

◆ FORTH_MAC_LOCK_BIT

#define FORTH_MAC_LOCK_BIT   317

◆ HAL_EFUSE0_READ_BASE_ADDR

#define HAL_EFUSE0_READ_BASE_ADDR   (EFUSE0_BASE_ADDR + 0x800)

◆ HAL_EFUSE0_WRITE_BASE_ADDR

#define HAL_EFUSE0_WRITE_BASE_ADDR   (EFUSE0_BASE_ADDR + 0x800)

◆ SECOND_MAC_ADDR_START_BIT

#define SECOND_MAC_ADDR_START_BIT   1632

◆ SECOND_MAC_LOCK_BIT

#define SECOND_MAC_LOCK_BIT   315

◆ SLE_MAC_ADDR_START_BIT

#define SLE_MAC_ADDR_START_BIT   1904

◆ THIRD_MAC_ADDR_START_BIT

#define THIRD_MAC_ADDR_START_BIT   1680

◆ THIRD_MAC_LOCK_BIT

#define THIRD_MAC_LOCK_BIT   316