mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
hw/riscv: Add Microblaze V generic board
Add a basic board with interrupt controller (intc), timer, serial (uartlite), small memory called LMB@0 (128kB) and DDR@0x80000000 (configured via command line eg. -m 2g). This is basic configuration which matches HW generated out of AMD Vivado (design tools). But initial configuration is going beyond what it is configured by default because validation should be done on other configurations too. That's why wire also additional uart16500, axi ethernet(with axi dma). GPIOs, i2c and qspi is also listed for completeness. IRQ map is: (addr) 0 - timer (0x41c00000) 1 - uartlite (0x40600000) 2 - i2c (0x40800000) 3 - qspi (0x44a00000) 4 - uart16550 (0x44a10000) 5 - emaclite (0x40e00000) 6 - timer2 (0x41c10000) 7 - axi emac (0x40c00000) 8 - axi dma (0x41e00000) 9 - axi dma 10 - gpio (0x40000000) 11 - gpio2 (0x40010000) 12 - gpio3 (0x40020000) Signed-off-by: Sai Pavan Boddu <sai.pavan.boddu@amd.com> Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20241125134739.18189-1-sai.pavan.boddu@amd.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
fc560153b4
commit
77aad42ee2
6 changed files with 242 additions and 0 deletions
42
docs/system/riscv/microblaze-v-generic.rst
Normal file
42
docs/system/riscv/microblaze-v-generic.rst
Normal file
|
@ -0,0 +1,42 @@
|
|||
Microblaze-V generic board (``amd-microblaze-v-generic``)
|
||||
=========================================================
|
||||
The AMD MicroBlaze™ V processor is a soft-core RISC-V processor IP for AMD
|
||||
adaptive SoCs and FPGAs. The MicroBlaze™ V processor is based on the 32-bit (or
|
||||
64-bit) RISC-V instruction set architecture (ISA) and contains interfaces
|
||||
compatible with the classic MicroBlaze™ V processor (i.e it is a drop in
|
||||
replacement for the classic MicroBlaze™ processor in existing RTL designs).
|
||||
More information can be found in below document.
|
||||
|
||||
https://docs.amd.com/r/en-US/ug1629-microblaze-v-user-guide/MicroBlaze-V-Architecture
|
||||
|
||||
The MicroBlaze™ V generic board in QEMU has following supported devices:
|
||||
|
||||
- timer
|
||||
- uartlite
|
||||
- uart16550
|
||||
- emaclite
|
||||
- timer2
|
||||
- axi emac
|
||||
- axi dma
|
||||
|
||||
The MicroBlaze™ V core in QEMU has the following configuration:
|
||||
|
||||
- RV32I base integer instruction set
|
||||
- "Zicsr" Control and Status register instructions
|
||||
- "Zifencei" instruction-fetch
|
||||
- Extensions: m, a, f, c
|
||||
|
||||
Running
|
||||
"""""""
|
||||
Below is an example command line for launching mainline U-boot
|
||||
(xilinx_mbv32_defconfig) on the Microblaze-V generic board.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ qemu-system-riscv32 -M amd-microblaze-v-generic \
|
||||
-display none \
|
||||
-device loader,addr=0x80000000,file=u-boot-spl.bin,cpu-num=0 \
|
||||
-device loader,addr=0x80200000,file=u-boot.img \
|
||||
-serial mon:stdio \
|
||||
-device loader,addr=0x83000000,file=system.dtb \
|
||||
-m 2g
|
Loading…
Add table
Add a link
Reference in a new issue