Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
zed_machine_conf [2019/05/05 09:43] – created rpjdayzed_machine_conf [2019/05/05 16:06] (current) – [machine-xilinx-default.inc] rpjday
Line 1: Line 1:
 ===== Overview ===== ===== Overview =====
  
 +Machine definition files for Zedboard.
  
 +
 +
 +===== zedboard-zynq7.conf =====
 +
 +<code>
 +#@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 \
 +                "
 +</code>
 +
 +===== required files =====
 +
 +==== tune-zynq.inc ====
 +
 +<code>
 +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"
 +</code>
 +
 +==== machine-xilinx-overrides.inc ====
 +
 +<code>
 +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}' != '']}"
 +</code>
 +==== machine-xilinx-default.inc ====
 +
 +<code>
 +# 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"
 +</code>
  • zed_machine_conf.1557049424.txt.gz
  • Last modified: 2019/05/05 09:43
  • by rpjday