xref: /openbmc/qemu/include/hw/arm/max78000_soc.h (revision 51eb283dd0e29f29adf1943c063614156ca7cbd7)
1*51eb283dSJackson Donaldson /*
2*51eb283dSJackson Donaldson  * MAX78000 SOC
3*51eb283dSJackson Donaldson  *
4*51eb283dSJackson Donaldson  * Copyright (c) 2025 Jackson Donaldson <jcksn@duck.com>
5*51eb283dSJackson Donaldson  *
6*51eb283dSJackson Donaldson  * SPDX-License-Identifier: GPL-2.0-or-later
7*51eb283dSJackson Donaldson  */
8*51eb283dSJackson Donaldson 
9*51eb283dSJackson Donaldson #ifndef HW_ARM_MAX78000_SOC_H
10*51eb283dSJackson Donaldson #define HW_ARM_MAX78000_SOC_H
11*51eb283dSJackson Donaldson 
12*51eb283dSJackson Donaldson #include "hw/or-irq.h"
13*51eb283dSJackson Donaldson #include "hw/arm/armv7m.h"
14*51eb283dSJackson Donaldson #include "qom/object.h"
15*51eb283dSJackson Donaldson 
16*51eb283dSJackson Donaldson #define TYPE_MAX78000_SOC "max78000-soc"
17*51eb283dSJackson Donaldson OBJECT_DECLARE_SIMPLE_TYPE(MAX78000State, MAX78000_SOC)
18*51eb283dSJackson Donaldson 
19*51eb283dSJackson Donaldson #define FLASH_BASE_ADDRESS 0x10000000
20*51eb283dSJackson Donaldson #define FLASH_SIZE (512 * 1024)
21*51eb283dSJackson Donaldson #define SRAM_BASE_ADDRESS 0x20000000
22*51eb283dSJackson Donaldson #define SRAM_SIZE (128 * 1024)
23*51eb283dSJackson Donaldson 
24*51eb283dSJackson Donaldson struct MAX78000State {
25*51eb283dSJackson Donaldson     SysBusDevice parent_obj;
26*51eb283dSJackson Donaldson 
27*51eb283dSJackson Donaldson     ARMv7MState armv7m;
28*51eb283dSJackson Donaldson 
29*51eb283dSJackson Donaldson     MemoryRegion sram;
30*51eb283dSJackson Donaldson     MemoryRegion flash;
31*51eb283dSJackson Donaldson 
32*51eb283dSJackson Donaldson     Clock *sysclk;
33*51eb283dSJackson Donaldson };
34*51eb283dSJackson Donaldson 
35*51eb283dSJackson Donaldson #endif
36