1dcf1d8cdSSergey Kambalin /* 2dcf1d8cdSSergey Kambalin * BCM2838 SoC emulation 3dcf1d8cdSSergey Kambalin * 4dcf1d8cdSSergey Kambalin * Copyright (C) 2022 Ovchinnikov Vitalii <vitalii.ovchinnikov@auriga.com> 5dcf1d8cdSSergey Kambalin * 6dcf1d8cdSSergey Kambalin * SPDX-License-Identifier: GPL-2.0-or-later 7dcf1d8cdSSergey Kambalin */ 8dcf1d8cdSSergey Kambalin 9dcf1d8cdSSergey Kambalin #ifndef BCM2838_H 10dcf1d8cdSSergey Kambalin #define BCM2838_H 11dcf1d8cdSSergey Kambalin 12dcf1d8cdSSergey Kambalin #include "hw/arm/bcm2836.h" 13*96b22ee5SSergey Kambalin #include "hw/intc/arm_gic.h" 14dcf1d8cdSSergey Kambalin #include "hw/arm/bcm2838_peripherals.h" 15dcf1d8cdSSergey Kambalin 16dcf1d8cdSSergey Kambalin #define BCM2838_PERI_LOW_BASE 0xfc000000 17dcf1d8cdSSergey Kambalin #define BCM2838_GIC_BASE 0x40000 18dcf1d8cdSSergey Kambalin 19dcf1d8cdSSergey Kambalin #define TYPE_BCM2838 "bcm2838" 20dcf1d8cdSSergey Kambalin 21dcf1d8cdSSergey Kambalin OBJECT_DECLARE_TYPE(BCM2838State, BCM2838Class, BCM2838) 22dcf1d8cdSSergey Kambalin 23dcf1d8cdSSergey Kambalin struct BCM2838State { 24dcf1d8cdSSergey Kambalin /*< private >*/ 25dcf1d8cdSSergey Kambalin BCM283XBaseState parent_obj; 26dcf1d8cdSSergey Kambalin /*< public >*/ 27dcf1d8cdSSergey Kambalin BCM2838PeripheralState peripherals; 28*96b22ee5SSergey Kambalin GICState gic; 29dcf1d8cdSSergey Kambalin }; 30dcf1d8cdSSergey Kambalin 31dcf1d8cdSSergey Kambalin #endif /* BCM2838_H */ 32