# Xilinx Zynq board (`xilinx-zynq-a9`)

The Zynq 7000 family is based on the AMD SoC architecture. These products integrate a feature-rich dual or single-core Arm Cortex-A9 MPCore based processing system (PS) and AMD programmable logic (PL) in a single device.

More details here: https://docs.amd.com/r/en-US/ug585-zynq-7000-SoC-TRM/Zynq-7000-SoC-Technical-Reference-Manual

QEMU xilinx-zynq-a9 board supports following devices:
  - A9 MPCORE

      - cortex-a9

      - GIC v1

      - Generic timer

      - wdt

  - OCM 256KB

  - SMC SRAM@0xe2000000 64MB

  - Zynq SLCR

  - SPI x2

  - QSPI

  - UART

  - TTC x2

  - Gigabit Ethernet Controller x2

  - SD Controller x2

  - XADC

  - Arm PrimeCell DMA Controller

  - DDR Memory

  - USB 2.0 x2

## Running

Direct Linux boot of a generic ARM upstream Linux kernel:

    $ qemu-system-aarch64 -M xilinx-zynq-a9 \
          -dtb zynq-zc702.dtb  -serial null -serial mon:stdio \
          -display none  -m 1024 \
          -initrd rootfs.cpio.gz -kernel zImage

For configuring the boot-mode provide the following on the command line:

    -machine boot-mode=qspi

Supported values are jtag, sd, qspi, nor.