summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core/conf/machine/zynqmp-generic.conf
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx-core/conf/machine/zynqmp-generic.conf')
-rw-r--r--meta-xilinx-core/conf/machine/zynqmp-generic.conf85
1 files changed, 85 insertions, 0 deletions
diff --git a/meta-xilinx-core/conf/machine/zynqmp-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-generic.conf
new file mode 100644
index 00000000..eb9d4bc4
--- /dev/null
+++ b/meta-xilinx-core/conf/machine/zynqmp-generic.conf
@@ -0,0 +1,85 @@
1#@TYPE: Machine
2#@NAME: Generic zynqmp
3#@DESCRIPTION: zynqmp devices
4
5# CG is the lowest common demoninator, so use this by default
6SOC_VARIANT ?= "cg"
7
8require conf/machine/include/soc-zynqmp.inc
9require conf/machine/include/machine-xilinx-default.inc
10require conf/machine/include/machine-xilinx-qemu.inc
11require conf/machine/include/xilinx-board.inc
12
13# Machine features must result in a superset
14# Basic features:
15MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost"
16# Ultra96 features:
17MACHINE_FEATURES += " usbgadget wifi bluetooth"
18
19EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
20
21UBOOT_MACHINE ?= "xilinx_zynqmp_virt_defconfig"
22SPL_BINARY ?= "spl/boot.bin"
23
24# Default SD image build onfiguration, use qemu-sd to pad
25IMAGE_CLASSES += "image-types-xilinx-qemu"
26IMAGE_FSTYPES += "wic.qemu-sd"
27WKS_FILES ?= "sdimage-bootpart.wks"
28
29SERIAL_CONSOLES ?= "115200;ttyPS0"
30
31MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
32
33# We need a generic one that works with QEMU...
34HDF_MACHINE = "zcu102-zynqmp"
35
36EXTRA_IMAGEDEPENDS += " \
37 u-boot-zynq-uenv \
38 arm-trusted-firmware \
39 qemu-devicetrees \
40 virtual/boot-bin \
41 virtual/bootloader \
42 u-boot-zynq-scr \
43 "
44
45IMAGE_BOOT_FILES += " \
46 uEnv.txt \
47 atf-uboot.ub \
48 ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
49 boot.scr \
50 "
51
52# This machine has a QEMU model, runqemu setup:
53QB_MEM = "-m 4096"
54QB_OPT_APPEND ?= "-nographic -serial mon:stdio -serial null"
55QB_NETWORK_DEVICE = "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@"
56
57# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
58QB_OPT_APPEND:append:qemuboot-xilinx = " \
59 -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zcu102-arm.dtb \
60 ${@qemu_zynqmp_unhalt(d, True)} \
61 -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf,cpu-num=0 \
62 -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \
63 -device loader,file=${DEPLOY_DIR_IMAGE}/system.dtb,addr=0x100000 \
64 "
65
66# Attach the rootfs disk image to the second SD interface of QEMU (which is SD0)
67QB_DEFAULT_FSTYPE:qemuboot-xilinx = "wic.qemu-sd"
68QB_OPT_APPEND:append:qemuboot-xilinx = " -boot mode=5"
69QB_ROOTFS_OPT:qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
70
71QB_PMU_OPT = " \
72 -M microblaze-fdt \
73 -display none \
74 -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb \
75 -kernel ${PMU_ROM} \
76 -device loader,file=${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf \
77 -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 \
78 -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 \
79 "
80QB_OPT_APPEND:append:qemuboot-xilinx = " -pmu-args '${QB_PMU_OPT}'"
81
82do_write_qemuboot_conf[depends] += "u-boot-zynq-uenv:do_deploy"
83
84# Board specific overrides
85include conf/machine/include/board/ultra96.inc