mirror of
https://github.com/mii443/qemu.git
synced 2025-12-16 17:18:49 +00:00
hw/misc/sifive_u_otp: Add write function and write-once protection
- Add write operation to update fuse data bit when PWE bit is on. - Add array, fuse_wo, to store the 'written' status for all bits of OTP to block the write operation. Signed-off-by: Green Wan <green.wan@sifive.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Bin Meng <bin.meng@windriver.com> Tested-by: Bin Meng <bin.meng@windriver.com> Message-id: 20201020033732.12921-2-green.wan@sifive.com Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
committed by
Alistair Francis
parent
33a9a57d2c
commit
a54d259157
@@ -36,6 +36,8 @@
|
||||
#define SIFIVE_U_OTP_PTRIM 0x34
|
||||
#define SIFIVE_U_OTP_PWE 0x38
|
||||
|
||||
#define SIFIVE_U_OTP_PWE_EN (1 << 0)
|
||||
|
||||
#define SIFIVE_U_OTP_PCE_EN (1 << 0)
|
||||
|
||||
#define SIFIVE_U_OTP_PDSTB_EN (1 << 0)
|
||||
@@ -75,6 +77,7 @@ struct SiFiveUOTPState {
|
||||
uint32_t ptrim;
|
||||
uint32_t pwe;
|
||||
uint32_t fuse[SIFIVE_U_OTP_NUM_FUSES];
|
||||
uint32_t fuse_wo[SIFIVE_U_OTP_NUM_FUSES];
|
||||
/* config */
|
||||
uint32_t serial;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user