xref: /openbmc/qemu/include/hw/nvram/aspeed_otp.h (revision 12ef88d8cdcd26ee5db3bfb5516c2dddc601aadb)
1 /*
2  *  ASPEED OTP (One-Time Programmable) memory
3  *
4  *  Copyright (C) 2025 Aspeed
5  *
6  *  SPDX-License-Identifier: GPL-2.0-or-later
7  */
8 
9 #ifndef ASPEED_OTP_H
10 #define ASPEED_OTP_H
11 
12 #include "system/memory.h"
13 #include "hw/block/block.h"
14 #include "system/address-spaces.h"
15 
16 #define TYPE_ASPEED_OTP "aspeed-otp"
17 OBJECT_DECLARE_SIMPLE_TYPE(AspeedOTPState, ASPEED_OTP)
18 
19 typedef struct AspeedOTPState {
20     DeviceState parent_obj;
21 
22     BlockBackend *blk;
23 
24     uint64_t size;
25 
26     AddressSpace as;
27 
28     MemoryRegion mmio;
29 
30     uint8_t *storage;
31 } AspeedOTPState;
32 
33 #endif /* ASPEED_OTP_H */
34