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