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