qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v3 00/10] arm: add ast2500 support


From: Cédric Le Goater
Subject: [Qemu-devel] [PATCH v3 00/10] arm: add ast2500 support
Date: Tue, 2 Aug 2016 19:15:37 +0200

The AST2500 SoC being very close to the AST2400 SoC, the goal of the
changes below is to modify the existing platform palmetto-bmc and the
AST2400 SoC to take into account the small differences and avoid code
duplication. This is mostly inspired by the realview and the rpi2
platforms.

First patches rework the 'palmetto-bmc' platform and the 'ast2400' SoC
models to provide room to other platforms and SoCs which have a common
design. 

The last patches add support for the new AST2500 SoC in the required
controller (SDMC and SCU) and define a new platform for an Aspeed
evaluation board.

Notes :

    On the AST2500, I am still having a little issue under uboot which
    sets the vbar doing :

        mcr     p15, 0, r0, c12, c0, 0  /* Set VBAR */

    and this is trapped as an undefined instruction by qemu.

    Looking at hw/arm/helper.c, the VBAR register seems to be defined
    only for feature ARM_FEATURE_V7 (v7_cp_reginfo). The AST2500 SoC
    uses a arm1176 which defines ARM_FEATURE_EL3 which gives us a
    VBAR_EL3.  According to th specs, the arm1176jzf-s has a Vector
    Base Address Register. So am I missing something in the board
    definition or is uboot being too optimistic on the cpu features ?
    This is confusing for me, some direction would be welcomed :)

A part from that, the SoC behaves fine.

Thanks,

Changes in v3 are :

  - ast2400.c file rename
  - added a AspeedSocClass for each supported SoC
  - the silicon-rev and the cpu model are now constants at the SoC level 
  - more precise definition of the hardware strapping register 

Changes in v2 are :

  - palmetto_bmc.c file rename
  - SCU macros to define the hardware strapping register 

Cédric Le Goater (10):
  ast2400: rename the Aspeed SoC files to aspeed_soc
  ast2400: replace ast2400 with aspeed_soc
  aspeed-soc: provide a framework to add new SoCs
  palmetto-bmc: rename the Aspeed board file to aspeed.c
  palmetto-bmc: replace palmetto_bmc with aspeed
  palmetto-bmc: add board specific configuration
  hw/misc: use macros to define hw-strap1 register on the AST2400 Aspeed
    SoC
  aspeed: add a AST2500 SoC and support to the SCU and SDMC controllers
    controllers
  arm: add support for an ast2500 evaluation board
  palmetto-bmc: remove extra no_sdcard assignement

 hw/arm/Makefile.objs         |   2 +-
 hw/arm/aspeed.c              | 187 ++++++++++++++++++++++++++++++++
 hw/arm/aspeed_soc.c          | 251 +++++++++++++++++++++++++++++++++++++++++++
 hw/arm/ast2400.c             | 229 ---------------------------------------
 hw/arm/palmetto-bmc.c        | 102 ------------------
 hw/misc/aspeed_scu.c         |  45 +++++++-
 hw/misc/aspeed_sdmc.c        |   1 +
 include/hw/arm/aspeed_soc.h  |  59 ++++++++++
 include/hw/arm/ast2400.h     |  44 --------
 include/hw/misc/aspeed_scu.h | 193 +++++++++++++++++++++++++++++++++
 10 files changed, 736 insertions(+), 377 deletions(-)
 create mode 100644 hw/arm/aspeed.c
 create mode 100644 hw/arm/aspeed_soc.c
 delete mode 100644 hw/arm/ast2400.c
 delete mode 100644 hw/arm/palmetto-bmc.c
 create mode 100644 include/hw/arm/aspeed_soc.h
 delete mode 100644 include/hw/arm/ast2400.h

-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]