target-arm queue:
* hw/arm/boot: fix direct kernel boot with initrd
* hw/arm/msf2-som: Exit when the cpu is not the expected one
* i.mx7: fix bugs in PCI controller needed to boot recent kernels
* aspeed: add RTC device
* aspeed: fix some timer device bugs
* aspeed: add swift-bmc board
* aspeed: vic: Add support for legacy register interface
* aspeed: add aspeed-xdma device
* Add new sbsa-ref board for aarch64
* target/arm: code refactoring in preparation for support of
compilation with TCG disabled
-----BEGIN PGP SIGNATURE-----
iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAl0aNvIZHHBldGVyLm1h
eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3uoEEACbv26LfzT5TIu1wlBaqSq5
CynAY3oJnrad6oH4KE0NiFxbgAvBGXj7mKX55uqJnrI6HY2ADVXbDE3rtVK7TG6O
4Swe7CCIOZV62/e5RmrWgqsCwxRsAsyLsQjmnL97WKgVTv/C33+iL6JgP+ApnK5D
4eYAitaxK6GB1+oIl6U6MgPROEOhoVGZ/U6Ejf7itL3dCcn8M5aMqOBn40WR5k/s
rPM8tZASZuEV29qlmQZzatj0yETbjht2BOzO30/A5X9r3q9Lbwq6tP3RyTLE3KtL
a2+nYobV8PP1WxjSZjAUMtwp8GiZvhB4jcaKpfN+CMIF+uhXVvy/idBHXzunclJ+
PZpuBozrSd3jFxmMzCZOddsy0y7MIuZWCw7fdCvYLkw4OSExYJkbTzUxE1jSA5Vb
FbB983WvpYQXX5iT1Q1UGOqKnlgVfVC5eADBSCRGv4mqXOOf6xgoTgIEUgwdL1JN
vKPsUQgogAJxELyddStj9aTrzHO50Qba8ahLLfIQWa0qFday+CckAqxjf5BROguc
ak+jvdV8IoMSQYeZCUp8lmV7YCwbEozQ9cd+OGn4PdEKbPfSexiYFUWPxQgUg3EY
Ul0e+sPXk4EZ1zMEU7752gKFTjZxwJ/0chVtxzjpqfA3cww5I0DR2SAlOCiYUmWq
SRguMEJXOYaXjqaCIjrXVg==
=bjIc
-----END PGP SIGNATURE-----
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20190701' into staging
target-arm queue:
* hw/arm/boot: fix direct kernel boot with initrd
* hw/arm/msf2-som: Exit when the cpu is not the expected one
* i.mx7: fix bugs in PCI controller needed to boot recent kernels
* aspeed: add RTC device
* aspeed: fix some timer device bugs
* aspeed: add swift-bmc board
* aspeed: vic: Add support for legacy register interface
* aspeed: add aspeed-xdma device
* Add new sbsa-ref board for aarch64
* target/arm: code refactoring in preparation for support of
compilation with TCG disabled
# gpg: Signature made Mon 01 Jul 2019 17:38:10 BST
# gpg: using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg: issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg: aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE
* remotes/pmaydell/tags/pull-target-arm-20190701: (46 commits)
target/arm: Declare some M-profile functions publicly
target/arm: Declare arm_log_exception() function publicly
target/arm: Restrict PSCI to TCG
target/arm/vfp_helper: Restrict the SoftFloat use to TCG
target/arm/vfp_helper: Extract vfp_set_fpscr_from_host()
target/arm/vfp_helper: Extract vfp_set_fpscr_to_host()
target/arm/vfp_helper: Move code around
target/arm: Move TLB related routines to tlb_helper.c
target/arm: Declare get_phys_addr() function publicly
target/arm: Move CPU state dumping routines to cpu.c
target/arm: Move the DC ZVA helper into op_helper
target/arm: Fix coding style issues
target/arm: Fix multiline comment syntax
target/arm/helper: Remove unused include
target/arm: Add copyright boilerplate
target/arm: Makefile cleanup (softmmu)
target/arm: Makefile cleanup (KVM)
target/arm: Makefile cleanup (ARM)
target/arm: Makefile cleanup (Aarch64)
hw/arm: Add arm SBSA reference machine, devices part
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
c4e42a9c2b
39 changed files with 2675 additions and 926 deletions
|
|
@ -15,7 +15,9 @@
|
|||
#include "hw/intc/aspeed_vic.h"
|
||||
#include "hw/misc/aspeed_scu.h"
|
||||
#include "hw/misc/aspeed_sdmc.h"
|
||||
#include "hw/misc/aspeed_xdma.h"
|
||||
#include "hw/timer/aspeed_timer.h"
|
||||
#include "hw/timer/aspeed_rtc.h"
|
||||
#include "hw/i2c/aspeed_i2c.h"
|
||||
#include "hw/ssi/aspeed_smc.h"
|
||||
#include "hw/watchdog/wdt_aspeed.h"
|
||||
|
|
@ -23,23 +25,28 @@
|
|||
|
||||
#define ASPEED_SPIS_NUM 2
|
||||
#define ASPEED_WDTS_NUM 3
|
||||
#define ASPEED_CPUS_NUM 2
|
||||
#define ASPEED_MACS_NUM 2
|
||||
|
||||
typedef struct AspeedSoCState {
|
||||
/*< private >*/
|
||||
DeviceState parent;
|
||||
|
||||
/*< public >*/
|
||||
ARMCPU cpu;
|
||||
ARMCPU cpu[ASPEED_CPUS_NUM];
|
||||
uint32_t num_cpus;
|
||||
MemoryRegion sram;
|
||||
AspeedVICState vic;
|
||||
AspeedRtcState rtc;
|
||||
AspeedTimerCtrlState timerctrl;
|
||||
AspeedI2CState i2c;
|
||||
AspeedSCUState scu;
|
||||
AspeedXDMAState xdma;
|
||||
AspeedSMCState fmc;
|
||||
AspeedSMCState spi[ASPEED_SPIS_NUM];
|
||||
AspeedSDMCState sdmc;
|
||||
AspeedWDTState wdt[ASPEED_WDTS_NUM];
|
||||
FTGMAC100State ftgmac100;
|
||||
FTGMAC100State ftgmac100[ASPEED_MACS_NUM];
|
||||
} AspeedSoCState;
|
||||
|
||||
#define TYPE_ASPEED_SOC "aspeed-soc"
|
||||
|
|
@ -49,13 +56,14 @@ typedef struct AspeedSoCInfo {
|
|||
const char *name;
|
||||
const char *cpu_type;
|
||||
uint32_t silicon_rev;
|
||||
hwaddr sdram_base;
|
||||
uint64_t sram_size;
|
||||
int spis_num;
|
||||
const hwaddr *spi_bases;
|
||||
const char *fmc_typename;
|
||||
const char **spi_typename;
|
||||
int wdts_num;
|
||||
const int *irqmap;
|
||||
const hwaddr *memmap;
|
||||
uint32_t num_cpus;
|
||||
} AspeedSoCInfo;
|
||||
|
||||
typedef struct AspeedSoCClass {
|
||||
|
|
@ -68,4 +76,41 @@ typedef struct AspeedSoCClass {
|
|||
#define ASPEED_SOC_GET_CLASS(obj) \
|
||||
OBJECT_GET_CLASS(AspeedSoCClass, (obj), TYPE_ASPEED_SOC)
|
||||
|
||||
enum {
|
||||
ASPEED_IOMEM,
|
||||
ASPEED_UART1,
|
||||
ASPEED_UART2,
|
||||
ASPEED_UART3,
|
||||
ASPEED_UART4,
|
||||
ASPEED_UART5,
|
||||
ASPEED_VUART,
|
||||
ASPEED_FMC,
|
||||
ASPEED_SPI1,
|
||||
ASPEED_SPI2,
|
||||
ASPEED_VIC,
|
||||
ASPEED_SDMC,
|
||||
ASPEED_SCU,
|
||||
ASPEED_ADC,
|
||||
ASPEED_SRAM,
|
||||
ASPEED_GPIO,
|
||||
ASPEED_RTC,
|
||||
ASPEED_TIMER1,
|
||||
ASPEED_TIMER2,
|
||||
ASPEED_TIMER3,
|
||||
ASPEED_TIMER4,
|
||||
ASPEED_TIMER5,
|
||||
ASPEED_TIMER6,
|
||||
ASPEED_TIMER7,
|
||||
ASPEED_TIMER8,
|
||||
ASPEED_WDT,
|
||||
ASPEED_PWM,
|
||||
ASPEED_LPC,
|
||||
ASPEED_IBT,
|
||||
ASPEED_I2C,
|
||||
ASPEED_ETH1,
|
||||
ASPEED_ETH2,
|
||||
ASPEED_SDRAM,
|
||||
ASPEED_XDMA,
|
||||
};
|
||||
|
||||
#endif /* ASPEED_SOC_H */
|
||||
|
|
|
|||
|
|
@ -125,6 +125,9 @@ enum FslIMX7MemoryMap {
|
|||
FSL_IMX7_ADC2_ADDR = 0x30620000,
|
||||
FSL_IMX7_ADCn_SIZE = 0x1000,
|
||||
|
||||
FSL_IMX7_PCIE_PHY_ADDR = 0x306D0000,
|
||||
FSL_IMX7_PCIE_PHY_SIZE = 0x10000,
|
||||
|
||||
FSL_IMX7_GPC_ADDR = 0x303A0000,
|
||||
|
||||
FSL_IMX7_I2C1_ADDR = 0x30A20000,
|
||||
|
|
@ -179,6 +182,9 @@ enum FslIMX7MemoryMap {
|
|||
FSL_IMX7_PCIE_REG_SIZE = 16 * 1024,
|
||||
|
||||
FSL_IMX7_GPR_ADDR = 0x30340000,
|
||||
|
||||
FSL_IMX7_DMA_APBH_ADDR = 0x33000000,
|
||||
FSL_IMX7_DMA_APBH_SIZE = 0x2000,
|
||||
};
|
||||
|
||||
enum FslIMX7IRQs {
|
||||
|
|
@ -207,10 +213,10 @@ enum FslIMX7IRQs {
|
|||
FSL_IMX7_USB2_IRQ = 42,
|
||||
FSL_IMX7_USB3_IRQ = 40,
|
||||
|
||||
FSL_IMX7_PCI_INTA_IRQ = 122,
|
||||
FSL_IMX7_PCI_INTB_IRQ = 123,
|
||||
FSL_IMX7_PCI_INTC_IRQ = 124,
|
||||
FSL_IMX7_PCI_INTD_IRQ = 125,
|
||||
FSL_IMX7_PCI_INTA_IRQ = 125,
|
||||
FSL_IMX7_PCI_INTB_IRQ = 124,
|
||||
FSL_IMX7_PCI_INTC_IRQ = 123,
|
||||
FSL_IMX7_PCI_INTD_IRQ = 122,
|
||||
|
||||
FSL_IMX7_UART7_IRQ = 126,
|
||||
|
||||
|
|
|
|||
30
include/hw/misc/aspeed_xdma.h
Normal file
30
include/hw/misc/aspeed_xdma.h
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* ASPEED XDMA Controller
|
||||
* Eddie James <eajames@linux.ibm.com>
|
||||
*
|
||||
* Copyright (C) 2019 IBM Corp.
|
||||
* SPDX-License-Identifer: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef ASPEED_XDMA_H
|
||||
#define ASPEED_XDMA_H
|
||||
|
||||
#include "hw/sysbus.h"
|
||||
|
||||
#define TYPE_ASPEED_XDMA "aspeed.xdma"
|
||||
#define ASPEED_XDMA(obj) OBJECT_CHECK(AspeedXDMAState, (obj), TYPE_ASPEED_XDMA)
|
||||
|
||||
#define ASPEED_XDMA_NUM_REGS (ASPEED_XDMA_REG_SIZE / sizeof(uint32_t))
|
||||
#define ASPEED_XDMA_REG_SIZE 0x7C
|
||||
|
||||
typedef struct AspeedXDMAState {
|
||||
SysBusDevice parent;
|
||||
|
||||
MemoryRegion iomem;
|
||||
qemu_irq irq;
|
||||
|
||||
char bmc_cmdq_readp_set;
|
||||
uint32_t regs[ASPEED_XDMA_NUM_REGS];
|
||||
} AspeedXDMAState;
|
||||
|
||||
#endif /* ASPEED_XDMA_H */
|
||||
|
|
@ -97,6 +97,9 @@ typedef struct AspeedSMCState {
|
|||
uint8_t r_timings;
|
||||
uint8_t conf_enable_w0;
|
||||
|
||||
/* for DMA support */
|
||||
uint64_t sdram_base;
|
||||
|
||||
AspeedSMCFlash *flashes;
|
||||
|
||||
uint8_t snoop_index;
|
||||
|
|
|
|||
31
include/hw/timer/aspeed_rtc.h
Normal file
31
include/hw/timer/aspeed_rtc.h
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* ASPEED Real Time Clock
|
||||
* Joel Stanley <joel@jms.id.au>
|
||||
*
|
||||
* Copyright 2019 IBM Corp
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
#ifndef ASPEED_RTC_H
|
||||
#define ASPEED_RTC_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "hw/hw.h"
|
||||
#include "hw/irq.h"
|
||||
#include "hw/sysbus.h"
|
||||
|
||||
typedef struct AspeedRtcState {
|
||||
SysBusDevice parent_obj;
|
||||
|
||||
MemoryRegion iomem;
|
||||
qemu_irq irq;
|
||||
|
||||
uint32_t reg[0x18];
|
||||
int offset;
|
||||
|
||||
} AspeedRtcState;
|
||||
|
||||
#define TYPE_ASPEED_RTC "aspeed.rtc"
|
||||
#define ASPEED_RTC(obj) OBJECT_CHECK(AspeedRtcState, (obj), TYPE_ASPEED_RTC)
|
||||
|
||||
#endif /* ASPEED_RTC_H */
|
||||
|
|
@ -27,6 +27,7 @@ typedef struct AspeedWDTState {
|
|||
MemoryRegion iomem;
|
||||
uint32_t regs[ASPEED_WDT_REGS_MAX];
|
||||
|
||||
AspeedSCUState *scu;
|
||||
uint32_t pclk_freq;
|
||||
uint32_t silicon_rev;
|
||||
uint32_t ext_pulse_width_mask;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue