#include <compiler.h>
#include <types.h>
#include "sdrv_common.h"
Go to the source code of this file.
- Copyright
- Copyright (c) 2022 Semidrive Semiconductor. All rights reserved.
◆ anonymous enum
Fuse status return code.
| Enumerator |
|---|
| SDRV_FUSE_CTRL_ERROR_OR_BUSY | |
| SDRV_FUSE_CTRL_ERROR | |
◆ fuse_lock_bank_e
Fuse lock bank.
| Enumerator |
|---|
| FUSE_LOCK_BANK1 | |
| FUSE_LOCK_BANK2 | |
| FUSE_LOCK_BANK3 | |
| FUSE_LOCK_BANK4 | |
| FUSE_LOCK_BANK5 | |
| FUSE_LOCK_BANK6 | |
| FUSE_LOCK_BANK7 | |
| FUSE_LOCK_BANK8 | |
| FUSE_LOCK_BANK9 | |
| FUSE_LOCK_BANK10 | |
| FUSE_LOCK_BANK11 | |
| FUSE_LOCK_BANK12 | |
| FUSE_LOCK_BANK13 | |
| FUSE_LOCK_BANK14 | |
| FUSE_LOCK_BANK15 | |
| FUSE_LOCK_BANK16 | |
| FUSE_LOCK_BANK17 | |
| FUSE_LOCK_BANK18 | |
| FUSE_LOCK_BANK19 | |
| FUSE_LOCK_BANK20 | |
| FUSE_LOCK_BANK21 | |
| FUSE_LOCK_BANK22 | |
| FUSE_LOCK_BANK23 | |
| FUSE_LOCK_BANK24 | |
| FUSE_LOCK_BANK25 | |
| FUSE_LOCK_BANK26 | |
| FUSE_LOCK_BANK27 | |
| FUSE_LOCK_BANK28 | |
| FUSE_LOCK_BANK29 | |
| FUSE_LOCK_BANK30 | |
| FUSE_LOCK_BANK31 | |
| FUSE_LOCK_BANK32 | |
◆ fuse_lock_bits_e
Fuse lock types.
| Enumerator |
|---|
| PLOCK | Prohibit programming fuse bank Prohibit reading from the fuse bank, the corresponding shadow registers of the bank, and its output to SEIP.
|
| RLOCK | Prohibit overriding shadow register for the bank.
|
| OLOCK | Same as RLock, but allow output to SEIP
|
| HLOCK | |
◆ sdrv_fuse_ctl_cfg_timing()
| status_t sdrv_fuse_ctl_cfg_timing |
( |
uint32_t |
freq_mhz | ) |
|
Update fuse control timing.
- Parameters
-
| freq_mhz | APB clock frequency. Default hardware setting is based on 150MHz APB clock. |
- Returns
- SDRV_STATUS_OK represents success
◆ sdrv_fuse_ctl_trigger_sw_vio()
Trigger software violation.
- Parameters
-
- Returns
- SDRV_STATUS_OK represents success
◆ sdrv_fuse_get_bank_lock()
Get fuse bank lock type.
- Parameters
-
| bank | The bank to get lock type. |
- Returns
- Lock type bitmask.
◆ sdrv_fuse_lock_bank()
Lock fuse banks.
- Parameters
-
| bank | The bank to lock. |
| lock_bits | Lock type bitmask. |
- Returns
- SDRV_STATUS_OK represents success
◆ sdrv_fuse_program()
| status_t sdrv_fuse_program |
( |
uint32_t |
index, |
|
|
uint32_t |
v |
|
) |
| |
Program fuse.
This function program specified value into fuse area. Redundant bits are programmed as well, for fuse indices protected by redundancy.
- Parameters
-
| index | Fuse index |
| v | Fuse value |
- Returns
- Return SDRV_STATUS_OK or error code
◆ sdrv_fuse_program_raw()
| status_t sdrv_fuse_program_raw |
( |
uint32_t |
index, |
|
|
uint32_t |
val, |
|
|
bool |
ecc |
|
) |
| |
Program raw fuse value.
This function program specified value into fuse area, without redundancy protection bits.
- Parameters
-
| index | Fuse index |
| val | Fuse value |
| ecc | True to enable ECC protection, only for non-redundancy bits |
- Returns
- Return SDRV_STATUS_OK or error code
◆ sdrv_fuse_read()
| uint32_t sdrv_fuse_read |
( |
uint32_t |
index | ) |
|
Read fuse value from shadow register.
This function load fuse value from shadow registers, which are filled automatically by hardware after chip reset.
- Parameters
-
- Returns
- Fuse value
◆ sdrv_fuse_reload()
Reload fuse into shadow registers.
- Returns
- Return SDRV_STATUS_OK or error code
◆ sdrv_fuse_sense()
| status_t sdrv_fuse_sense |
( |
uint32_t |
index, |
|
|
uint32_t * |
data |
|
) |
| |
Load fuse value by software.
This function manually triggers fuse reading operation to specified index, and store fuse value in user buffer.
- Parameters
-
| index | Fuse index |
| data | Buffer to place fuse data |
- Returns
- Return SDRV_STATUS_OK or error code
◆ sdrv_fuse_set_sticky_bit()
| status_t sdrv_fuse_set_sticky_bit |
( |
uint32_t |
id | ) |
|
Set stick bit for specified fuse Id.
- Parameters
-
- Returns
- SDRV_STATUS_OK represents success