xref: /openbmc/qemu/include/hw/misc/max78000_icc.h (revision 0edc2afe0c8197bbcb98f948c609fb74c9b1ffd5)
1*3ec680e6SJackson Donaldson /*
2*3ec680e6SJackson Donaldson  * MAX78000 Instruction Cache
3*3ec680e6SJackson Donaldson  *
4*3ec680e6SJackson Donaldson  * Copyright (c) 2025 Jackson Donaldson <jcksn@duck.com>
5*3ec680e6SJackson Donaldson  *
6*3ec680e6SJackson Donaldson  * SPDX-License-Identifier: GPL-2.0-or-later
7*3ec680e6SJackson Donaldson  */
8*3ec680e6SJackson Donaldson 
9*3ec680e6SJackson Donaldson #ifndef HW_MAX78000_ICC_H
10*3ec680e6SJackson Donaldson #define HW_MAX78000_ICC_H
11*3ec680e6SJackson Donaldson 
12*3ec680e6SJackson Donaldson #include "hw/sysbus.h"
13*3ec680e6SJackson Donaldson #include "qom/object.h"
14*3ec680e6SJackson Donaldson 
15*3ec680e6SJackson Donaldson #define TYPE_MAX78000_ICC "max78000-icc"
16*3ec680e6SJackson Donaldson OBJECT_DECLARE_SIMPLE_TYPE(Max78000IccState, MAX78000_ICC)
17*3ec680e6SJackson Donaldson 
18*3ec680e6SJackson Donaldson #define ICC_INFO       0x0
19*3ec680e6SJackson Donaldson #define ICC_SZ         0x4
20*3ec680e6SJackson Donaldson #define ICC_CTRL       0x100
21*3ec680e6SJackson Donaldson #define ICC_INVALIDATE 0x700
22*3ec680e6SJackson Donaldson 
23*3ec680e6SJackson Donaldson struct Max78000IccState {
24*3ec680e6SJackson Donaldson     SysBusDevice parent_obj;
25*3ec680e6SJackson Donaldson 
26*3ec680e6SJackson Donaldson     MemoryRegion mmio;
27*3ec680e6SJackson Donaldson 
28*3ec680e6SJackson Donaldson     uint32_t info;
29*3ec680e6SJackson Donaldson     uint32_t sz;
30*3ec680e6SJackson Donaldson     uint32_t ctrl;
31*3ec680e6SJackson Donaldson };
32*3ec680e6SJackson Donaldson 
33*3ec680e6SJackson Donaldson #endif
34