Overview
Machine definition files for Zedboard.
zedboard-zynq7.conf
#@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
# u-boot configuration
UBOOT_MACHINE = "zynq_zed_config"
SPL_BINARY ?= "spl/boot.bin"
EXTRA_IMAGEDEPENDS += " \
u-boot-zynq-uenv \
virtual/boot-bin \
virtual/bootloader \
"
SERIAL_CONSOLE = "115200 ttyPS0"
KERNEL_DEVICETREE = "zynq-zed.dtb"
IMAGE_BOOT_FILES += " \
boot.bin \
uEnv.txt \
"
required files
tune-zynq.inc
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"
machine-xilinx-overrides.inc
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}' != '']}"
machine-xilinx-default.inc
# 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"
#Hardware accelaration
PREFERRED_PROVIDER_virtual/libgles1_mali400 = "libmali-xlnx"
PREFERRED_PROVIDER_virtual/libgles2_mali400 = "libmali-xlnx"
PREFERRED_PROVIDER_virtual/egl_mali400 = "libmali-xlnx"
PREFERRED_PROVIDER_virtual/libgl_mali400 = "mesa-gl"
PREFERRED_PROVIDER_virtual/mesa_mali400 = "mesa-gl"
XSERVER ?= " \
xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard \
xf86-video-fbdev \
${XSERVER_EXT} \
"
IMAGE_BOOT_FILES ?= "${@get_default_image_boot_files(d)}"
def get_default_image_boot_files(d):
files = []
# kernel images
kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").split())
kerneltypes |= set((d.getVar("KERNEL_IMAGETYPES") or "").split())
for i in kerneltypes:
files.append(i)
# u-boot image
if d.getVar("UBOOT_BINARY"):
files.append(d.getVar("UBOOT_BINARY"))
# device trees (device-tree only), these are first as they are likely desired over the kernel ones
if "device-tree" in (d.getVar("MACHINE_ESSENTIAL_EXTRA_RDEPENDS") or ""):
files.append("devicetree/*.dtb")
# device trees (kernel only)
if d.getVar("KERNEL_DEVICETREE"):
dtbs = d.getVar("KERNEL_DEVICETREE").split(" ")
dtbs = [os.path.basename(d) for d in dtbs]
for dtb in dtbs:
files.append(dtb)
return " ".join(files)
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"