初始提交
This commit is contained in:
65
dtest/efuse_write_test/efuse_write_test.c
Normal file
65
dtest/efuse_write_test/efuse_write_test.c
Normal file
@@ -0,0 +1,65 @@
|
||||
|
||||
#include "os_types.h"
|
||||
#include "dbg_io.h"
|
||||
#include "efuse.h"
|
||||
#define BIT(b) (1<<(b))
|
||||
|
||||
#define EF_SFC_CLK 6
|
||||
#define EF_SFC_CS 43
|
||||
#define EF_SFC_D0 5
|
||||
#define EF_SFC_D1 16
|
||||
#define EF_SFC_D2 17
|
||||
#define EF_SFC_D3 7
|
||||
|
||||
void efuse_test_write()
|
||||
{
|
||||
int value;
|
||||
|
||||
#define download_enable (1)
|
||||
#define security_mode (0)
|
||||
#define boot_mode (0)
|
||||
|
||||
/* SFC HASH_IV */
|
||||
efuse_write(0, BIT(19)|BIT(23)); /* SFC VALID */
|
||||
value = (EF_SFC_D0<<24)|(EF_SFC_CS<<16)|(EF_SFC_CLK<<8);
|
||||
efuse_write(4, value); /* D0,CS,CLK, MAC */
|
||||
value = (0x03<<24)|(EF_SFC_D3<<16)|(EF_SFC_D2<<8)|EF_SFC_D1;
|
||||
efuse_write(8, value); /* CMD,D3,D2,D1 */
|
||||
efuse_write(64, 0x01234567); /* HASH */
|
||||
efuse_write(68, 0x89ABCDEF); /* HASH */
|
||||
efuse_write(72, 0x01234567); /* HASH */
|
||||
efuse_write(76, 0x89ABCDEF); /* HASH */
|
||||
|
||||
efuse_write(24, 0x19966); /* reset cmd & valid */
|
||||
efuse_write(28, 0x8000000); /* valid */
|
||||
|
||||
value = BIT(17)|BIT(25); /* e_config.u_config.cfg_valid */
|
||||
efuse_write(32, value);
|
||||
value = 0;
|
||||
if(!security_mode)
|
||||
value |= BIT(7)|BIT(23); /* e_config.u_config.security_mode */
|
||||
if(!boot_mode)
|
||||
value |= BIT(8)|BIT(24); /* e_config.u_config.boot_mode */
|
||||
if(download_enable)
|
||||
value |= BIT(10)|BIT(26); /* e_config.u_config.download_enable */
|
||||
efuse_write(36, value);
|
||||
|
||||
return ;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
dbg_uart_init();
|
||||
#if 0
|
||||
efuse_write(0, 0xa5a5a5a5);
|
||||
efuse_write(1, 0x5a5a5a5a);
|
||||
efuse_write(2, 0x5a5aa5a5);
|
||||
efuse_write(3, 0x12345678);
|
||||
efuse_write(63, 0x87654321);
|
||||
#endif
|
||||
efuse_test_write();
|
||||
|
||||
while(1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user