Hello Jamin,

Thanks for these new models and machine. They are queued for QEMU 7.1.
There are a couple of patchsets adding support for the AST1030 GPIO
controller and the I2C new mode that would be good extensions but
they need review first.

What are the next steps? any plans for network ? The NIC should be a
FTGMAC100 if I am correct.

Thanks,

C.


 On 4/1/22 10:38, Jamin Lin wrote:
Changes from v5:
- remove TYPE_ASPEED_MINIBMC_MACHINE and ASPEED_MINIBMC_MACHINE
- remove ast1030_machine_instance_init function

Changes from v4:
- drop the ASPEED_SMC_FEATURE_WDT_CONTROL flag in hw/ssi/aspeed_smc.c

Changes from v3:
- remove AspeedMiniBmcMachineState state structure and
   AspeedMiniBmcMachineClass class
- remove redundant new line in hw/arm/aspeed_ast10xx.c
- drop the ASPEED_SMC_FEATURE_WDT_CONTROL flag in hw/ssi/aspeed_smc.c

Changes from v2:
- replace aspeed_ast1030.c with aspeed_ast10xx.c for minibmc SOCs family support
- Add "ast1030-evb" machine in aspeed.c and removes aspeed_minibmc.c

Changes from v1:
The patch series supports ADC, SCU, SMC, TIMER, and WDT for AST1030 SoC.
Add avocado test case for "ast1030-evb" machine.

Test steps:
1. Download image from
    
https://github.com/AspeedTech-BMC/zephyr/releases/download/v00.01.04/ast1030-evb-demo.zip
2. Extract the zip file to obtain zephyr.elf
3. Run ./qemu-system-arm -M ast1030-evb -kernel $PATH/zephyr.elf -nographic
4. Test IO by Zephyr command line, commands are refer to Aspeed Zephyr
    SDK User Guide below
    
https://github.com/AspeedTech-BMC/zephyr/releases/download/v00.01.04/Aspeed_Zephy_SDK_User_Guide_v00.01.04.pdf
    - ADC(channel 0):
        uart:~$ adc ADC0 resolution 10
        uart:~$ adc ADC0 calibrate 1
        uart:~$ adc ADC0 read_format 1
        uart:~$ adc ADC0 read 0
        [Result]
        read: 1416mv

    - SCU
        uart:~$ md 7e6e2040
        uart:~$ md 7e6e2080
        uart:~$ md 7e6e20d0
        uart:~$ md 7e6e2200
        uart:~$ md 7e6e2300
        uart:~$ md 7e6e25b0
        [Result]
        The register value should match the value of ast1030_a1_resets
        in aspeed_scu.c

    - Flash(fmc_cs0):
        uart:~$ flash write fmc_cs0 0 0x12345678 0x87654321 0x34127856 
0x78563412
        uart:~$ flash read fmc_cs0 0 10
        [Result]
        00000000: 78 56 34 12 21 43 65 87  56 78 12 34 12 34 56 78 |xV4.!Ce. 
Vx.4.4Vx|

        uart:~$ flash erase fmc_cs0 0
        uart:~$ flash read fmc_cs0 0 10
        [Result]
        00000000: ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff |........ 
........|

    - Timer(TIMER0):
        uart:~$ timer start TIMER0 -p 2000 -t 0
        TIMER0: period 20000 ms, type 0
        [Result]
        timer expired after 2 seconds

    - Watchdog(WDT1):
        uart:~$ mw 7e785008 4755
        uart:~$ mw 7e78500c 1
        [Result]
        soc reset after 22 seconds

Based-on: 20220315075753.8591-3-steven_...@aspeedtech.com
([v2,2/2] hw: aspeed_scu: Introduce clkin_25Mhz attribute)

Jamin Lin (2):
   aspeed: Add an AST1030 eval board
   test/avocado/machine_aspeed.py: Add ast1030 test case

Steven Lee (7):
   aspeed/adc: Add AST1030 support
   aspeed/smc: Add AST1030 support
   aspeed/wdt: Fix ast2500/ast2600 default reload value
   aspeed/wdt: Add AST1030 support
   aspeed/timer: Add AST1030 support
   aspeed/scu: Add AST1030 support
   aspeed/soc : Add AST1030 support

  hw/adc/aspeed_adc.c              |  16 ++
  hw/arm/aspeed.c                  |  66 +++++++
  hw/arm/aspeed_ast10xx.c          | 299 +++++++++++++++++++++++++++++++
  hw/arm/meson.build               |   6 +-
  hw/misc/aspeed_scu.c             |  63 +++++++
  hw/ssi/aspeed_smc.c              | 157 ++++++++++++++++
  hw/timer/aspeed_timer.c          |  17 ++
  hw/watchdog/wdt_aspeed.c         |  34 +++-
  include/hw/adc/aspeed_adc.h      |   1 +
  include/hw/arm/aspeed_soc.h      |   3 +
  include/hw/misc/aspeed_scu.h     |  25 +++
  include/hw/timer/aspeed_timer.h  |   1 +
  include/hw/watchdog/wdt_aspeed.h |   3 +
  tests/avocado/machine_aspeed.py  |  36 ++++
  14 files changed, 724 insertions(+), 3 deletions(-)
  create mode 100644 hw/arm/aspeed_ast10xx.c
  create mode 100644 tests/avocado/machine_aspeed.py



Reply via email to