mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
hw/arm: Introduce BCM2838 SoC
Signed-off-by: Sergey Kambalin <sergey.kambalin@auriga.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20240226000259.2752893-5-sergey.kambalin@auriga.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
08df067636
commit
dcf1d8cdfb
5 changed files with 237 additions and 0 deletions
29
include/hw/arm/bcm2838.h
Normal file
29
include/hw/arm/bcm2838.h
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* BCM2838 SoC emulation
|
||||
*
|
||||
* Copyright (C) 2022 Ovchinnikov Vitalii <vitalii.ovchinnikov@auriga.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef BCM2838_H
|
||||
#define BCM2838_H
|
||||
|
||||
#include "hw/arm/bcm2836.h"
|
||||
#include "hw/arm/bcm2838_peripherals.h"
|
||||
|
||||
#define BCM2838_PERI_LOW_BASE 0xfc000000
|
||||
#define BCM2838_GIC_BASE 0x40000
|
||||
|
||||
#define TYPE_BCM2838 "bcm2838"
|
||||
|
||||
OBJECT_DECLARE_TYPE(BCM2838State, BCM2838Class, BCM2838)
|
||||
|
||||
struct BCM2838State {
|
||||
/*< private >*/
|
||||
BCM283XBaseState parent_obj;
|
||||
/*< public >*/
|
||||
BCM2838PeripheralState peripherals;
|
||||
};
|
||||
|
||||
#endif /* BCM2838_H */
|
36
include/hw/arm/bcm2838_peripherals.h
Normal file
36
include/hw/arm/bcm2838_peripherals.h
Normal file
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* BCM2838 peripherals emulation
|
||||
*
|
||||
* Copyright (C) 2022 Ovchinnikov Vitalii <vitalii.ovchinnikov@auriga.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef BCM2838_PERIPHERALS_H
|
||||
#define BCM2838_PERIPHERALS_H
|
||||
|
||||
#include "hw/arm/bcm2835_peripherals.h"
|
||||
|
||||
|
||||
#define TYPE_BCM2838_PERIPHERALS "bcm2838-peripherals"
|
||||
OBJECT_DECLARE_TYPE(BCM2838PeripheralState, BCM2838PeripheralClass,
|
||||
BCM2838_PERIPHERALS)
|
||||
|
||||
struct BCM2838PeripheralState {
|
||||
/*< private >*/
|
||||
BCMSocPeripheralBaseState parent_obj;
|
||||
|
||||
/*< public >*/
|
||||
MemoryRegion peri_low_mr;
|
||||
MemoryRegion peri_low_mr_alias;
|
||||
MemoryRegion mphi_mr_alias;
|
||||
};
|
||||
|
||||
struct BCM2838PeripheralClass {
|
||||
/*< private >*/
|
||||
BCMSocPeripheralBaseClass parent_class;
|
||||
/*< public >*/
|
||||
uint64_t peri_low_size; /* Peripheral lower range size */
|
||||
};
|
||||
|
||||
#endif /* BCM2838_PERIPHERALS_H */
|
Loading…
Add table
Add a link
Reference in a new issue