diff options
Diffstat (limited to 'meta-xilinx-core/conf/machine/zynqmp-generic.conf')
-rw-r--r-- | meta-xilinx-core/conf/machine/zynqmp-generic.conf | 85 |
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 | ||
6 | SOC_VARIANT ?= "cg" | ||
7 | |||
8 | require conf/machine/include/soc-zynqmp.inc | ||
9 | require conf/machine/include/machine-xilinx-default.inc | ||
10 | require conf/machine/include/machine-xilinx-qemu.inc | ||
11 | require conf/machine/include/xilinx-board.inc | ||
12 | |||
13 | # Machine features must result in a superset | ||
14 | # Basic features: | ||
15 | MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost" | ||
16 | # Ultra96 features: | ||
17 | MACHINE_FEATURES += " usbgadget wifi bluetooth" | ||
18 | |||
19 | EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native" | ||
20 | |||
21 | UBOOT_MACHINE ?= "xilinx_zynqmp_virt_defconfig" | ||
22 | SPL_BINARY ?= "spl/boot.bin" | ||
23 | |||
24 | # Default SD image build onfiguration, use qemu-sd to pad | ||
25 | IMAGE_CLASSES += "image-types-xilinx-qemu" | ||
26 | IMAGE_FSTYPES += "wic.qemu-sd" | ||
27 | WKS_FILES ?= "sdimage-bootpart.wks" | ||
28 | |||
29 | SERIAL_CONSOLES ?= "115200;ttyPS0" | ||
30 | |||
31 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" | ||
32 | |||
33 | # We need a generic one that works with QEMU... | ||
34 | HDF_MACHINE = "zcu102-zynqmp" | ||
35 | |||
36 | EXTRA_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 | |||
45 | IMAGE_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: | ||
53 | QB_MEM = "-m 4096" | ||
54 | QB_OPT_APPEND ?= "-nographic -serial mon:stdio -serial null" | ||
55 | QB_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) | ||
58 | QB_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) | ||
67 | QB_DEFAULT_FSTYPE:qemuboot-xilinx = "wic.qemu-sd" | ||
68 | QB_OPT_APPEND:append:qemuboot-xilinx = " -boot mode=5" | ||
69 | QB_ROOTFS_OPT:qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw" | ||
70 | |||
71 | QB_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 | " | ||
80 | QB_OPT_APPEND:append:qemuboot-xilinx = " -pmu-args '${QB_PMU_OPT}'" | ||
81 | |||
82 | do_write_qemuboot_conf[depends] += "u-boot-zynq-uenv:do_deploy" | ||
83 | |||
84 | # Board specific overrides | ||
85 | include conf/machine/include/board/ultra96.inc | ||