This patchset introduces Axiado SoC AX3000 and a EVK SCM3003 for emulation
The model for Axiado SoC AX3000 supports
4 Cortex-A53 CPUs
Arm Generic Interrupt Controller v3
4 Cadence UARTs
1 SDHCI controller with PHY
8 Cadence GPIOs
Verified the machine "axiado-scm3003" with following command
qemu-system-aarch64 \
-m 4G \
-machine axiado-scm3003 \
-device loader,file=u-boot.bin,addr=0x3C000000,cpu-num=0 \
-nographic \
-serial null \
-serial null \
-serial null \
-serial mon:stdio \
-drive if=sd,file=obmc-phosphor-image-evk-axiado-qemu.wic,format=raw
Refer Axiado website for more product information
https://axiado.com/products/
Changes in v5:
1. Include Reviewed-by tag in reviewed patches
2. Add arm_load_kernel() in ax3000-boards
3. Add axiado_clk to support AXIADO_CLK
Changes in v4:
1. Remove ERRP_GUARD from axiado_sdhci
2. Optimize ISR update function of cadence gpio with logical operation
Changes in v3:
1. Add a new patch for Axiado SD host controller
2. Fill in valid/impl parameters of MemoryRegionOps in
ax3000-soc/cadence_gpio/axiado_sdhci
3. Follow C99 standard to declare variable in for-loop
4. Remove comment "TBD" from empty function
5. Define marco for bit definition in axiado_sdhci
6. Move object_initialize_child() to instance_init() from realize() in
axiado_sdhci
7. Remove callback of get_default_cpu_type() from ax3000-soc and set
type of CPU to A53
8. Update the command to run "axiado-scm3003" in QEMU
Changes in v2:
1. Move axiado-* to ax3000-* in hw/arm and include/hw/arm
2. Add axiado_sdhci to support AXIADO_SDHCI
3. Move implementation for eMMC PHY device to axiado_sdhci
4. Use UNIMP to create dummy device "timerctrl"
5. Add cadence_gpio to support CADENCE_GPIO
6. Enable Cadence GPIO controllers on AX3000 SoC
Kuan-Jui Chiu (8):
hw/arm: Add Axiado SoC AX3000
hw/misc: Add AX3000 clock control
hw/arm: ax3000-soc: Enable Ax3000 clock control
hw/sd: Add Axiado SD host controller with eMMC PHY
hw/arm: ax3000-soc: Enable Axiado SD host controller
hw/arm: Add Axiado EVK SCM3003
hw/gpio: Add Cadence GPIO controller
hw/arm: ax3000-soc: Enable Cadence GPIO controllers
MAINTAINERS | 9 +
hw/arm/Kconfig | 15 ++
hw/arm/ax3000-boards.c | 56 +++++++
hw/arm/ax3000-evk.c | 27 +++
hw/arm/ax3000-soc.c | 238 +++++++++++++++++++++++++++
hw/arm/meson.build | 6 +
hw/gpio/Kconfig | 3 +
hw/gpio/cadence_gpio.c | 292 +++++++++++++++++++++++++++++++++
hw/gpio/meson.build | 1 +
hw/gpio/trace-events | 5 +
hw/misc/Kconfig | 3 +
hw/misc/axiado_clk.c | 73 +++++++++
hw/misc/meson.build | 3 +
hw/sd/Kconfig | 4 +
hw/sd/axiado_sdhci.c | 114 +++++++++++++
hw/sd/meson.build | 1 +
include/hw/arm/ax3000-boards.h | 28 ++++
include/hw/arm/ax3000-soc.h | 98 +++++++++++
include/hw/gpio/cadence_gpio.h | 55 +++++++
include/hw/misc/axiado_clk.h | 26 +++
include/hw/sd/axiado_sdhci.h | 21 +++
21 files changed, 1078 insertions(+)
create mode 100644 hw/arm/ax3000-boards.c
create mode 100644 hw/arm/ax3000-evk.c
create mode 100644 hw/arm/ax3000-soc.c
create mode 100644 hw/gpio/cadence_gpio.c
create mode 100644 hw/misc/axiado_clk.c
create mode 100644 hw/sd/axiado_sdhci.c
create mode 100644 include/hw/arm/ax3000-boards.h
create mode 100644 include/hw/arm/ax3000-soc.h
create mode 100644 include/hw/gpio/cadence_gpio.h
create mode 100644 include/hw/misc/axiado_clk.h
create mode 100644 include/hw/sd/axiado_sdhci.h
--
2.34.1