summaryrefslogtreecommitdiffstats
path: root/meta-xilinx/meta-xilinx-bsp/conf/machine
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2018-10-02 15:21:57 -0400
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-10-02 15:25:59 -0400
commit286d45cc649a5b852a27b48e61b51bf75e9d1cee (patch)
tree90095cb0d2c571fd8de164caf2ca2f2e4d3f7247 /meta-xilinx/meta-xilinx-bsp/conf/machine
parentd4b38429f6dec208547bf3d250a0c06f5d0fbcb2 (diff)
downloadtalos-openbmc-286d45cc649a5b852a27b48e61b51bf75e9d1cee.tar.gz
talos-openbmc-286d45cc649a5b852a27b48e61b51bf75e9d1cee.zip
Add meta-xilinx subtree
Import git://git.yoctoproject.org/meta-xilinx from 5fccc46503 as meta-xilinx subtree. Change-Id: I3d59bcf3a57cee588aab7f5cdd0287af66450c8a Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-xilinx/meta-xilinx-bsp/conf/machine')
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc42
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc21
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc49
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc18
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc18
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/zynqmp-pmu-config.inc20
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf25
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf27
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf37
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf28
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf24
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf47
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf52
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf81
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf36
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf32
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf43
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf37
21 files changed, 714 insertions, 0 deletions
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc
new file mode 100644
index 000000000..ba9a36be8
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc
@@ -0,0 +1,6 @@
+# Default Xilinx Board settings
+
+EXTRA_IMAGEDEPENDS += "virtual/bootloader"
+
+IMAGE_BOOT_FILES ?= "${KERNEL_IMAGETYPE} ${UBOOT_BINARY}"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
new file mode 100644
index 000000000..77fbec884
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
@@ -0,0 +1,42 @@
+# Default Xilinx BSP Machine settings
+
+MACHINE_FEATURES_BACKFILL_CONSIDERED += "rtc"
+
+# File System Configuration
+IMAGE_FSTYPES ?= "tar.gz cpio cpio.gz.u-boot"
+
+# Kernel Configuration
+XILINX_DEFAULT_KERNEL := "linux-xlnx"
+XILINX_DEFAULT_KERNEL_microblaze := "linux-yocto"
+XILINX_DEFAULT_KERNEL_zynqmp := "linux-yocto"
+PREFERRED_PROVIDER_virtual/kernel ??= "${XILINX_DEFAULT_KERNEL}"
+
+# U-Boot Configuration
+XILINX_DEFAULT_UBOOT := "u-boot-xlnx"
+XILINX_DEFAULT_UBOOT_zynqmp := "u-boot"
+PREFERRED_PROVIDER_virtual/bootloader ??= "${XILINX_DEFAULT_UBOOT}"
+PREFERRED_PROVIDER_virtual/boot-bin ??= "${PREFERRED_PROVIDER_virtual/bootloader}"
+
+UBOOT_SUFFIX ?= "img"
+UBOOT_SUFFIX_zynqmp ?= "bin"
+UBOOT_SUFFIX_microblaze ?= "bin"
+
+UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
+UBOOT_ELF ?= "u-boot"
+UBOOT_ELF_aarch64 ?= "u-boot.elf"
+
+XSERVER ?= " \
+ xserver-xorg \
+ xf86-input-evdev \
+ xf86-input-mouse \
+ xf86-input-keyboard \
+ xf86-video-fbdev \
+ ${XSERVER_EXT} \
+ "
+
+XSERVER_EXT ?= ""
+XSERVER_EXT_zynqmp ?= "xf86-video-armsoc"
+
+# For MicroBlaze default all microblaze machines to use GDB 7.7.1 (for gdbserver/gdb)
+PREFERRED_VERSION_gdb_microblaze = "7.7.1"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc
new file mode 100644
index 000000000..30049bc04
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc
@@ -0,0 +1,21 @@
+SOC_VARIANT ??= ""
+MACHINEOVERRIDES =. "${@['', '${SOC_FAMILY}${SOC_VARIANT}:']['${SOC_VARIANT}' != '']}"
+
+# Here we can extend overrides for the corresponding family and variant
+def get_soc_overrides(fam, var, d):
+ extender = ''
+ if (fam == 'zynqmp'):
+ if (var == 'eg'):
+ extender = 'mali400:'
+ elif (var == 'ev'):
+ extender = 'mali400:vcu:'
+ return extender
+
+# Gets OVERRIDES extender depending on the board
+SOC_OVERRIDES = "${@get_soc_overrides(d.getVar('SOC_FAMILY'),d.getVar('SOC_VARIANT'), d)}"
+
+MACHINEOVERRIDES =. "${SOC_OVERRIDES}"
+
+PACKAGE_EXTRA_ARCHS_append = " ${SOC_FAMILY}"
+PACKAGE_EXTRA_ARCHS_append = "${@['', ' ${SOC_FAMILY}${SOC_VARIANT}']['${SOC_VARIANT}' != '']}"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc
new file mode 100644
index 000000000..dd275f3b4
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc
@@ -0,0 +1,49 @@
+# This include is used to setup default QEMU and qemuboot config for meta-xilinx
+# machines.
+
+# depend on qemu-helper-native, which will depend on QEMU
+EXTRA_IMAGEDEPENDS += "qemu-helper-native"
+
+def qemu_default_dtb(d):
+ if d.getVar("IMAGE_BOOT_FILES", True):
+ dtbs = d.getVar("IMAGE_BOOT_FILES", True).split(" ")
+ # IMAGE_BOOT_FILES has extra renaming info in the format '<source>;<target>'
+ dtbs = [f.split(";")[0] for f in dtbs]
+ dtbs = [f for f in dtbs if f.endswith(".dtb")]
+ if len(dtbs) != 0:
+ return dtbs[0]
+ if d.getVar("KERNEL_DEVICETREE", True):
+ dtbs = d.getVar("KERNEL_DEVICETREE", True).split(" ")
+ dtbs = [os.path.basename(d) for d in dtbs]
+ if len(dtbs) != 0:
+ return d.getVar("KERNEL_IMAGETYPE", True) + "-" + dtbs[0]
+ return ""
+
+def qemu_default_serial(d):
+ if d.getVar("SERIAL_CONSOLE", True):
+ speed, console = d.getVar("SERIAL_CONSOLE", True).split(" ", 1)
+ # zynqmp uses earlycon and stdout (in dtb)
+ if "zynqmp" in d.getVar("MACHINEOVERRIDES", True).split(":"):
+ return ""
+ return "console=%s,%s earlyprintk" % (console, speed)
+ return ""
+
+def qemu_target_binary(d):
+ ta = d.getVar("TARGET_ARCH", True)
+ if ta == "microblazeeb":
+ ta = "microblaze"
+ elif ta == "arm":
+ ta = "aarch64"
+ return "qemu-system-%s" % ta
+
+def qemu_zynqmp_unhalt(d, multiarch):
+ if multiarch:
+ return "-global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true"
+ return "-device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4"
+
+# For qemuboot, default setup across all machines in meta-xilinx
+QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
+QB_DEFAULT_FSTYPE ?= "cpio"
+QB_DTB ?= "${@qemu_default_dtb(d)}"
+QB_KERNEL_CMDLINE_APPEND ?= "${@qemu_default_serial(d)}"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc
new file mode 100644
index 000000000..270e2d937
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc
@@ -0,0 +1,18 @@
+DEFAULTTUNE ?= "cortexa9thf-neon"
+SOC_FAMILY ?= "zynq"
+
+# Available SOC_VARIANT's for zynq:
+# 7zs - Zynq-7000 Single A9 Core
+# 7z - Zynq-7000 Dual A9 Core
+
+SOC_VARIANT ?= "7z"
+
+require conf/machine/include/tune-cortexa9.inc
+require conf/machine/include/soc-family.inc
+
+# Linux Configuration
+KERNEL_IMAGETYPE ?= "uImage"
+
+# Set default load address.
+# Override with KERNEL_EXTRA_ARGS_<board> += "..." in machine file if required
+KERNEL_EXTRA_ARGS_zynq += "UIMAGE_LOADADDR=0x8000"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc
new file mode 100644
index 000000000..225fa65cf
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc
@@ -0,0 +1,18 @@
+DEFAULTTUNE ?= "aarch64"
+SOC_FAMILY ?= "zynqmp"
+
+# Available SOC_VARIANT's for zynqmp:
+# "cg" - Zynq UltraScale+ CG Devices
+# "eg" - Zynq UltraScale+ EG Devices
+# "ev" - Zynq UltraScale+ EV Devices
+
+SOC_VARIANT ?= "eg"
+
+require conf/machine/include/arm/arch-armv8.inc
+require conf/machine/include/soc-family.inc
+
+# Linux Configuration
+KERNEL_IMAGETYPE ?= "Image"
+
+# Support multilib on zynqmp
+DEFAULTTUNE_virtclass-multilib-lib32 ?= "armv7vethf-neon-vfpv4"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/zynqmp-pmu-config.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/zynqmp-pmu-config.inc
new file mode 100644
index 000000000..fd9e98090
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/zynqmp-pmu-config.inc
@@ -0,0 +1,20 @@
+
+# Enable the use of zynqmp-pmu for specific recipes only
+def zynqmp_pmu_enable_for_bpns(d):
+ bpn = d.getVar("BPN")
+ crossbpns = ["binutils", "gcc"]
+ targetbpns = ["libgcc", "newlib", "libgloss"]
+ if bpn in targetbpns:
+ return True
+ if bpn in crossbpns and bb.data.inherits_class('cross', d):
+ return True
+ return False
+
+BBCLASSEXTEND_append = "${@' zynqmp-pmu' if zynqmp_pmu_enable_for_bpns(d) else ''}"
+
+# Add the pkgarch to the extra list, this is done to avoid warnings about
+# missing manifests due to implicit dependency chains on populate_sysroot when
+# a recipe/task depends on a IMAGE_EXTRADEPENDS/do_deploy task which is
+# provided by a zynqmp-pmu-* target.
+PACKAGE_EXTRA_ARCHS_append = " microblazeel-v9.2-bs-cmp"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
new file mode 100644
index 000000000..b777c2496
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
@@ -0,0 +1,25 @@
+#@TYPE: Machine
+#@NAME: kc705-microblazeel
+#@DESCRIPTION: Machine support for Xilinx KC705 Embedded Kit.
+#
+
+require conf/machine/include/tune-microblaze.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+
+TUNE_FEATURES_tune-microblaze += "v10.0 barrel-shift reorder pattern-compare multiply-high divide-hard"
+
+MACHINE_FEATURES = ""
+
+USE_VT = ""
+SERIAL_CONSOLE = "115200 ttyS0"
+
+KERNEL_IMAGETYPE ?= "linux.bin.ub"
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
+
+EXTRA_IMAGEDEPENDS += "virtual/bitstream"
+
+UBOOT_MACHINE ?= "microblaze-generic_config"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
new file mode 100644
index 000000000..9cc97ec57
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
@@ -0,0 +1,33 @@
+#@TYPE: Machine
+#@NAME: microzed-zynq7
+#@DESCRIPTION: Machine support for microZed. (http://www.microzed.org/)
+
+SOC_VARIANT ?= "7z"
+
+require conf/machine/include/tune-zynq.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+
+MACHINE_FEATURES = "ext2 vfat usbhost"
+
+# u-boot configuration
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
+UBOOT_MACHINE = "zynq_microzed_config"
+SPL_BINARY = "spl/boot.bin"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ virtual/boot-bin \
+ "
+
+SERIAL_CONSOLE = "115200 ttyPS0"
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
+
+IMAGE_BOOT_FILES += " \
+ boot.bin \
+ ${MACHINE}.dtb \
+ uEnv.txt \
+ "
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf
new file mode 100644
index 000000000..f4ddb6dfd
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf
@@ -0,0 +1,27 @@
+#@TYPE: Machine
+#@NAME: ml605-qemu-microblazeel
+#@DESCRIPTION: MicroBlaze QEMU machine support ('petalogix-ml605' model)
+
+require conf/machine/include/tune-microblaze.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-qemu.inc
+
+TUNE_FEATURES_tune-microblaze += "v8.50 barrel-shift reorder pattern-compare divide-hard multiply-high fpu-hard"
+
+MACHINE_FEATURES = ""
+
+USE_VT = ""
+SERIAL_CONSOLE = "115200 ttyS0"
+
+KERNEL_IMAGETYPE ?= "linux.bin.ub"
+
+# Use the networking setup from qemuarm
+FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm"
+
+# This machine is a targeting a QEMU model, runqemu setup:
+IMAGE_CLASSES += "qemuboot"
+QB_MEM = "-m 256"
+QB_MACHINE = "-machine petalogix-ml605"
+QB_OPT_APPEND = "-nographic -serial mon:stdio"
+QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
new file mode 100644
index 000000000..8762832b6
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
@@ -0,0 +1,37 @@
+#@TYPE: Machine
+#@NAME: picozed-zynq7
+#@DESCRIPTION: Machine support for picoZed. (http://www.picozed.org/)
+#
+# Note: This machine configuration is intended as a generic config for
+# the picozed SOM. It also covers the multiple SKUs for the picoZed
+# including 7010, 7020, 7015 and 7030.
+
+SOC_VARIANT ?= "7z"
+
+require conf/machine/include/tune-zynq.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+
+MACHINE_FEATURES = "ext2 vfat usbhost usbgadget"
+
+# u-boot configuration
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
+UBOOT_MACHINE = "zynq_picozed_config"
+SPL_BINARY = "spl/boot.bin"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ virtual/boot-bin \
+ "
+
+SERIAL_CONSOLE = "115200 ttyPS0"
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
+
+IMAGE_BOOT_FILES += " \
+ boot.bin \
+ ${MACHINE}.dtb \
+ uEnv.txt \
+ "
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf
new file mode 100644
index 000000000..2c86edb38
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf
@@ -0,0 +1,28 @@
+#@TYPE: Machine
+#@NAME: qemu-zynq7
+#@DESCRIPTION: Zynq QEMU machine support ('xilinx-zynq-a9' model)
+
+SOC_VARIANT ?= "7z"
+
+require conf/machine/include/tune-zynq.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-qemu.inc
+
+MACHINE_FEATURES = "ext2 vfat"
+
+SERIAL_CONSOLE = "115200 ttyPS0"
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
+IMAGE_BOOT_FILES += "${MACHINE}.dtb"
+
+# Use the networking setup from qemuarm
+FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm"
+
+# This machine is a targeting a QEMU model, runqemu setup:
+IMAGE_CLASSES += "qemuboot"
+QB_MEM = "-m 1024"
+QB_MACHINE = "-machine xilinx-zynq-a9"
+QB_OPT_APPEND = "-nographic -serial null -serial mon:stdio"
+QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf
new file mode 100644
index 000000000..3a21eb78e
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@NAME: s3adsp1800-qemu-microblazeeb
+#@DESCRIPTION: MicroBlaze QEMU machine support ('petalogix-s3adsp1800' model)
+
+require conf/machine/include/tune-microblaze.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-qemu.inc
+
+TUNE_FEATURES_tune-microblaze += "v8.00 bigendian barrel-shift pattern-compare multiply-low"
+
+MACHINE_FEATURES = ""
+
+USE_VT = ""
+SERIAL_CONSOLE = "115200 ttyUL0"
+
+KERNEL_IMAGETYPE ?= "linux.bin.ub"
+
+# This machine is a targeting a QEMU model, runqemu setup:
+IMAGE_CLASSES += "qemuboot"
+QB_MEM = "-m 256"
+QB_MACHINE = "-machine petalogix-s3adsp1800"
+QB_OPT_APPEND = "-nographic -serial mon:stdio"
+QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf
new file mode 100644
index 000000000..9b08d1be8
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf
@@ -0,0 +1,47 @@
+#@TYPE: Machine
+#@NAME: zc702-zynq7
+#@DESCRIPTION: Machine support for ZC702 Evaluation Board.
+#
+# For details on the Evaluation board:
+# http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm
+# For documentation and design files for the ZC702:
+# http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/zynq-7000_soc_boards_and_kits/zynq-7000_soc_zc702_evaluation_kit.html
+# For the FSBL 'zynq_fsbl_0.elf' refer to UG873 and the associated design files.
+#
+SOC_VARIANT ?= "7z"
+
+require conf/machine/include/tune-zynq.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+require conf/machine/include/machine-xilinx-qemu.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+
+# u-boot configuration
+UBOOT_MACHINE = "zynq_zc702_config"
+SPL_BINARY = "spl/boot.bin"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ virtual/boot-bin \
+ "
+
+SERIAL_CONSOLE = "115200 ttyPS0"
+
+KERNEL_DEVICETREE = "zynq-zc702.dtb"
+
+IMAGE_BOOT_FILES += "boot.bin uEnv.txt ${KERNEL_IMAGETYPE}-zynq-zc702.dtb"
+
+# Although not fully supported you can run this machine on the mainline QEMU 'xilinx-zynq-a9' machine
+IMAGE_CLASSES += "qemuboot"
+QB_MEM = "-m 1024"
+QB_MACHINE = "-machine xilinx-zynq-a9"
+QB_OPT_APPEND = "-nographic -serial null -serial mon:stdio"
+QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
+
+# Xilinx's fork of QEMU has much better results, so let's default to that
+# Use qemu-xilinx instead of mainline
+PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native"
+
+IMAGE_CLASSES += "qemuboot-xilinx"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf
new file mode 100644
index 000000000..628d4046a
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf
@@ -0,0 +1,52 @@
+#@TYPE: Machine
+#@NAME: zc706-zynq7
+#@DESCRIPTION: Machine support for ZC706 Evaluation Board.
+#
+# For details on the Evaluation board:
+# http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm
+# For documentation and design files for the ZC702:
+# http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/zynq-7000_soc_boards_and_kits/zynq-7000_soc_zc706_evaluation_kit.html
+# For the FSBL 'zynq_fsbl_0.elf' refer to UG873 and the associated design files.
+#
+
+SOC_VARIANT ?= "7z"
+
+require conf/machine/include/tune-zynq.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+require conf/machine/include/machine-xilinx-qemu.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget"
+
+# u-boot configuration
+UBOOT_MACHINE = "zynq_zc706_config"
+SPL_BINARY = "spl/boot.bin"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ virtual/boot-bin \
+ "
+
+SERIAL_CONSOLE = "115200 ttyPS0"
+
+KERNEL_DEVICETREE = "zynq-zc706.dtb"
+
+IMAGE_BOOT_FILES += " \
+ boot.bin \
+ ${KERNEL_IMAGETYPE}-zynq-zc706.dtb \
+ uEnv.txt \
+ "
+
+# Although not fully supported you can run this machine on the mainline QEMU 'xilinx-zynq-a9' machine
+IMAGE_CLASSES += "qemuboot"
+QB_MEM = "-m 1024"
+QB_MACHINE = "-machine xilinx-zynq-a9"
+QB_OPT_APPEND = "-nographic -serial null -serial mon:stdio"
+QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
+
+# Xilinx's fork of QEMU has much better results, so let's default to that
+# Use qemu-xilinx instead of mainline
+PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native"
+
+IMAGE_CLASSES += "qemuboot-xilinx"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
new file mode 100644
index 000000000..d7f19ca6f
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
@@ -0,0 +1,81 @@
+#@TYPE: Machine
+#@NAME: zcu102-zynqmp
+#@DESCRIPTION: Machine support for ZCU102 Evaluation Board.
+
+SOC_VARIANT ?= "eg"
+
+require conf/machine/include/tune-zynqmp.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+require conf/machine/include/machine-xilinx-qemu.inc
+include conf/machine/include/zynqmp-pmu-config.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+
+UBOOT_MACHINE = "xilinx_zynqmp_zcu102_rev1_0_defconfig"
+SPL_BINARY = "spl/boot.bin"
+
+# Default SD image build onfiguration, use qemu-sd to pad
+IMAGE_CLASSES += "image-types-xilinx-qemu"
+IMAGE_FSTYPES += "wic.qemu-sd"
+WKS_FILES ?= "sdimage-bootpart.wks"
+
+SERIAL_CONSOLE = "115200 ttyPS0"
+SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
+
+KERNEL_DEVICETREE = "xilinx/zynqmp-zcu102-rev1.0.dtb"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
+PREFERRED_PROVIDER_virtual/pmu-firmware ?= "zynqmp-pmu-pmu-firmware"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ arm-trusted-firmware \
+ qemu-devicetrees \
+ virtual/pmu-firmware \
+ virtual/boot-bin \
+ "
+
+IMAGE_BOOT_FILES += "uEnv.txt atf-uboot.ub ${KERNEL_IMAGETYPE}-zynqmp-zcu102-rev1.0.dtb"
+
+# This machine has a QEMU model, runqemu setup:
+IMAGE_CLASSES += "qemuboot-xilinx"
+QB_MACHINE = "-machine xlnx-zcu102"
+QB_MEM = "-m 4096"
+QB_OPT_APPEND = "-nographic -serial mon:stdio -serial null"
+QB_NETWORK_DEVICE = "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@"
+
+# Use qemu-xilinx instead of mainline
+PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native"
+
+# Use the multiarch script instead of launching QEMU directly
+QB_SYSTEM_NAME_append = "-multiarch"
+
+# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
+QB_OPT_APPEND_append_qemuboot-xilinx = " \
+ -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zcu102-arm.dtb \
+ ${@qemu_zynqmp_unhalt(d, True)} \
+ -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf,cpu-num=0 \
+ -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \
+ "
+
+# Attach the rootfs disk image to the second SD interface of QEMU (which is SD0)
+QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
+QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=3"
+QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
+
+# PMU instance args
+PMU_ROM ?= "${DEPLOY_DIR_IMAGE}/pmu-rom.elf"
+QB_PMU_OPT = " \
+ -M microblaze-fdt \
+ -display none \
+ -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb \
+ -kernel ${PMU_ROM} \
+ -device loader,file=${DEPLOY_DIR_IMAGE}/pmu-firmware-${MACHINE}.elf \
+ -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 \
+ -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 \
+ "
+QB_OPT_APPEND_append_qemuboot-xilinx = " -pmu-args '${QB_PMU_OPT}'"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf
new file mode 100644
index 000000000..f5a2af976
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf
@@ -0,0 +1,38 @@
+#@TYPE: Machine
+#@NAME: zcu104-zynqmp
+#@DESCRIPTION: Machine support for ZCU104 Evaluation Board.
+#
+
+SOC_VARIANT ?= "ev"
+
+require conf/machine/include/tune-zynqmp.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+include conf/machine/include/zynqmp-pmu-config.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+
+UBOOT_MACHINE = "xilinx_zynqmp_zcu104_revC_defconfig"
+SPL_BINARY = "spl/boot.bin"
+
+SERIAL_CONSOLE ?= "115200 ttyPS0"
+
+SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
+
+KERNEL_DEVICETREE = "xilinx/zynqmp-zcu104-revC.dtb"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
+PREFERRED_PROVIDER_virtual/pmu-firmware ?= "zynqmp-pmu-pmu-firmware"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ arm-trusted-firmware \
+ virtual/pmu-firmware \
+ virtual/boot-bin \
+ "
+IMAGE_BOOT_FILES += "uEnv.txt atf-uboot.ub ${KERNEL_IMAGETYPE}-zynqmp-zcu104-revC.dtb"
+
+MACHINE_HWCODECS = "libomxil-xlnx"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
new file mode 100644
index 000000000..628ec6c1d
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
@@ -0,0 +1,36 @@
+#@TYPE: Machine
+#@NAME: zcu106-zynqmp
+#@DESCRIPTION: Machine support for ZCU106 Evaluation Board.
+
+SOC_VARIANT ?= "ev"
+
+require conf/machine/include/tune-zynqmp.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+include conf/machine/include/zynqmp-pmu-config.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+
+UBOOT_MACHINE = "xilinx_zynqmp_zcu106_revA_defconfig"
+SPL_BINARY = "spl/boot.bin"
+
+SERIAL_CONSOLE = "115200 ttyPS0"
+SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
+
+KERNEL_DEVICETREE = "xilinx/zynqmp-zcu106-revA.dtb"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
+PREFERRED_PROVIDER_virtual/pmu-firmware ?= "zynqmp-pmu-pmu-firmware"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ arm-trusted-firmware \
+ virtual/pmu-firmware \
+ virtual/boot-bin \
+ "
+
+IMAGE_BOOT_FILES += "uEnv.txt atf-uboot.ub ${KERNEL_IMAGETYPE}-zynqmp-zcu106-revA.dtb"
+
+MACHINE_HWCODECS = "libomxil-xlnx"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
new file mode 100644
index 000000000..a329074e3
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
@@ -0,0 +1,32 @@
+#@TYPE: Machine
+#@NAME: zedboard-zynq7
+#@DESCRIPTION: Machine support for ZedBoard. (http://www.zedboard.org/)
+#
+# For details on the Evaluation board:
+# http://www.zedboard.org/content/overview
+# For design files (including 'zynq_fsbl_0.elf') for the ZedBoard:
+# http://www.zedboard.org/reference-designs-categories/zynq-concepts-tools-and-techniques-zedboard
+#
+
+SOC_VARIANT ?= "7z"
+
+require conf/machine/include/tune-zynq.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+
+# u-boot configuration
+UBOOT_MACHINE = "zynq_zed_config"
+SPL_BINARY = "spl/boot.bin"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ virtual/boot-bin \
+ "
+
+SERIAL_CONSOLE = "115200 ttyPS0"
+
+KERNEL_DEVICETREE = "zynq-zed.dtb"
+
+IMAGE_BOOT_FILES += "boot.bin uEnv.txt ${KERNEL_IMAGETYPE}-zynq-zed.dtb"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
new file mode 100644
index 000000000..27b6d072e
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
@@ -0,0 +1,43 @@
+#@TYPE: Machine
+#@NAME: zybo-linux-bd-zynq7
+#@DESCRIPTION: Machine support for zybo-linux-bd project.
+#
+# generated base on ZYBO linux-bd project
+#
+
+SOC_VARIANT ?= "7z"
+
+require conf/machine/include/tune-zynq.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
+
+MACHINE_FEATURES = "ext2 vfat usbhost usbgadget keyboard screen alsa sdio"
+SERIAL_CONSOLE = "115200 ttyPS0"
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
+
+UBOOT_MACHINE = "zynq_zybo_config"
+SPL_BINARY = "spl/boot.bin"
+FORCE_PLATFORM_INIT = "1"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ virtual/boot-bin \
+ virtual/bitstream \
+ "
+
+IMAGE_BOOT_FILES += " \
+ boot.bin \
+ ${MACHINE}.dtb \
+ bitstream \
+ uEnv.txt \
+ "
+
+KERNEL_FEATURES += " \
+ bsp/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.scc \
+ features/v4l2/v4l2-xilinx.scc \
+ "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
new file mode 100644
index 000000000..5b4056379
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
@@ -0,0 +1,37 @@
+#@TYPE: Machine
+#@NAME: zybo-zynq7
+#@DESCRIPTION: Machine support for ZYBO.
+#
+# For details on the ZYBO board:
+# https://www.digilentinc.com/Products/Detail.cfm?Prod=ZYBO
+#
+
+SOC_VARIANT ?= "7z"
+
+require conf/machine/include/tune-zynq.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-board.inc
+
+MACHINE_FEATURES = "ext2 vfat usbhost usbgadget"
+
+# u-boot configuration
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
+UBOOT_MACHINE = "zynq_zybo_config"
+SPL_BINARY = "spl/boot.bin"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ virtual/boot-bin \
+ "
+
+SERIAL_CONSOLE = "115200 ttyPS0"
+
+KERNEL_DEVICETREE = "zynq-zybo.dtb"
+
+IMAGE_BOOT_FILES += " \
+ boot.bin \
+ ${KERNEL_IMAGETYPE}-zynq-zybo.dtb \
+ uEnv.txt \
+ "
+
OpenPOWER on IntegriCloud