diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2020-06-27 08:00:16 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2020-06-27 08:12:57 +0300 |
commit | 84ad7c5b112283d1ccb14744025a2d2ba986412d (patch) | |
tree | ce7e2e442492f852445c40f47e506979a7bc0ee3 /meta-xilinx/meta-xilinx-bsp/conf | |
parent | 19902a4d12bea3dbebf9974913422c080c199935 (diff) | |
download | openbmc-84ad7c5b112283d1ccb14744025a2d2ba986412d.tar.xz |
meta-xilinx: subtree update:757bac706c..bef2bf9b15
Alejandro Enedino Hernandez Samaniego (76):
libmali-xlnx: Use update-alternatives to switch between GL backends
libmali-xlnx: modify REQUIRED_DISTRO_FEATURES
libmali-xlnx: only use and install dependencies that the DISTRO supports
libmali-xlnx: fix x11 headers
libmali-xlnx: Dont provide KHR headers
libmali-xlnx: Change version on gbm.pc to be compatible with mesa
libmali-xlnx: modify version on egl.pc for compatibility
run-postinsts: Pass the output of the scripts run to kmsg
zynqmp-pmu.conf: Upgrade tune to use Microblaze v10.0
zynqmp-pmu.conf: Update to Microblaze v11.0
newlib: export CC_FOR_TARGET as CC
gcc-cross: Dont override EXTRA_OECONF unless DISTRO is xilinx-standalone
Adds MACHINE.conf containing default tune for Cortex R5
Adds MACHINE.conf containing default tune for Cortex A53
toolchain: Provide specific configuration for cross(-canadian) gcc and binutils
Adds MACHINE.conf containing default tune for Cortex A72
xilinx-standalone: switch override and append
xilinx-standalone: Add staticdev packages for newlib and libgloss to dependencies
xilinx-standalone: Reorganize toolchain configure options
toolchain: add cortex-A9 options for gcc and binutils
gcc-cross-microblazeel: disable multilib
gcc: Separate binutils options
gcc: Add multilib-list=aprofile configure option for cortex A9
gcc-runtime: Enable bulding libsdtc++ for baremetal applications
gcc-runtime: Set correct overrides now that the build has been fixed in oe-core
gcc-xilinx-standalone: Enable multilib builds for baremetal microblaze
gcc-microblaze: Remove multilib builds that arent working (m64)
meta-xilinx-standalone: Restructure layer properly, gcc and binutils belong on recipes-devtools
newlib: Keep version numbers on bbappends
meta-xilinx-standalone: Restructure layer properly, newlib belongs to recipes-bsp
gcc-runtime: Move gcc-runtime to GCCs directory
layer.conf: Include recipe files from a pattern with no directory required
Create machines that use SOC_FAMILY
Microblaze-pmu: Change overrides to reflect machine name changes from zynqmp-pmu to microblaze-pmu
cortexr5: Change overrides to reflect machine name changes from cortexr5 to zynqmp and versal variants
cortexa72: To keep up with a standard rename cortexa72 to add its SOC_FAMILY to its name
meta-xilinx-bsp: Unify machine confs
cortexr5-versal.conf: Include the tune inc file from the correct path
cortexr5-zynqmp.conf: Include the tune inc file from the correct path
tune-cortexrm: Include PACKAGE_EXTRA_ARCHS to avoid parsing errors
esw: first step to move everything into an embeddedsw class
pmufw: Install and hence package and strip the pmufw elf file
fix license and compatible host for now
pmufw: fix filename on elf file and fix task order to get stripped elf file deployed
libxil: add flow for a53 using dtg
device-tree.bbappend: add appent to support cortexa53 MACHINE
device-tree: switch to AUTOREV to keep up with the repo changes for now
zynqmp-fsbl: Sync flow with pmufw
libxil: fix device tree flags for a53
libxil: Fix DTB and DTG flow to make it more transparent for the user
Fix XILINX_RELEASE_VERSION
Increase layer priority
device-tree: the Flags used from device tree have to be set on the device tree recipe, not in the libxil one
esw.bbclass: Fix devtool and externalsrc flow
esw.bbclass: Install artifacts from the build directory vs WORKDIR
pmufw: Install artifacts from the build directory vs WORKDIR
esw.bbclass: Make it possible for packages to use the cmake ncurses gui
libxil: Unify flow and get DTB using the device-tree recipe instead of creating it manually
SOC_FAMILY: Change overrides
Microblaze-pmu: Change overrides to reflect machine name chanches from zynqmp-pmu to microblaze-pmu
device-tree: Install psu_init files as well
fsbl: avoid using underscore in the directory filename
meta-xilinx-standalone: Restructure layer properly, pmufw and fsbl belong on recipes-applications
meta-xilinx-standalone: device-tree belongs on recipes-bsp
meta-xilinx-standalone: Restructure layer properly, move existing libraries from decoupling to recipes-libraries
zynqmp-fsbl: Fix race condition on copy_psu_init
device-tree: Fix install directory
meta-xilinx-standalone: clean up layer
libraries: Add inherit on python3native on libraries that were invoking nativepython3
meta-xilinx: Include templates for local.conf and bblayers.conf
esw: fix machines that have been renamed
libgloss: Dont install libgloss as libxil since we actually have libxil
esw: Switch release version to 2020.1
xilinx-standalone: Add buildhistory to the DISTRO to avoid cooker errors
device-tree: Override repo for supported machines
system-zcu102: Create heterogeneous machine configuration for ZCU102 evaluation board.
Anirudha Sarangi (4):
meta-xilinx-standalone: conf: distro: Add new distro for freertos
meta-xilinx-standalone: classes: Update CMAKE_SYSTEM_NAME for Freertos
meta-xilinx-standalone: recipes-libraries: Add recipe for freertos
meta-xilinx-standalone: recipes-applications: freertos-hello-world: Add recipe for freertos hello world
Appana Durga Kedareswara rao (82):
libxil: Add recipes for libxil and xilstandalone
pmufw: recipes for pmufw app generation in decoupled flow
Add recipes for xilffs and xilpm libraries
Add recipes for building zynqmp fsbl application
meta-xilinx-standalone: Add support for PLM and dependent library recipes
zynqmp-fsbl: Copy psu_init files to source code
meta-xilinx: meta-xilinx-standalone: Update source url path
meta-xilinx: meta-xilinx-standalone: comment flto flags by default
meta-xilinx-standalone: Using S instead of WORKDIR
meta-xilinx-standalone: classes: Add bbclass for building esw examples
meta-xilinx-standalone: recipes-drivers: Add recipe for compiling csudma driver examples
meta-xilinx-standalone: recipes-drivers: Add recipe for compiling emacps driver examples
meta-xilinx-standalone: recipes-drivers: Add recipe for compiling axiethernet driver examples
meta-xilinx-standalone: recipes-drivers: Add recipe for compiling axicdma driver examples
meta-xilinx-standalone: recipes-drivers: Add recipe for compiling axidma driver examples
meta-xilinx-standalone: recipes-drivers: Add recipe for compiling llfifo driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling mcdma driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling zdma driver examples
meta-xilinx-standalone: recipes-applications: Add recipe for compiling hello world application
meta-xilinx-standalone: classes: Update md5 checksum as per latest license
meta-xilinx-standalone: Add support for cortexa72 processor
meta-xilinx-standalone: recipes-libraries: xilstandalone: Cleanup the recipe
meta-xilinx-standalone: recipes-libraries: libxil: Cleanup the recipe
meta-xilinx-standalone: classes: cleanup the class
meta-xilinx-standalone: recipes-applications: hello-world: Remove dependency on esw_examples class
meta-xilinx-standalone: recipes-libraries: Add recipe for xilmailbox
cortexa72: Update cortexa72 machine variable naming
meta-xilinx: Add support for cortexr5 processor
meta-xilinx-standalone: Add dependencies on python3-dtc-native
meta-xilinx-standalone: recipes-libraries: xiltimer: Add task for generating cmake meta-data
meta-xilinx-standalone: recipes-libraries: lwip: Add recipe for lwip
meta-xilinx-standalone: recipes-applications: lwip-echo-server: Add recipe for compiling lwip echo server application
meta-xilinx-standalone: Add support for versal cortexr5 processor
meta-xilinx-standalone: recipes-applications: lwip-tcp-perf-client: Add recipe for compiling lwip tcp perf client application
meta-xilinx-standalone: recipes-applications: lwip-tcp-perf-server: Add recipe for compiling lwip tcp perf server application
meta-xilinx-standalone: recipes-applications: lwip-udp-perf-server: Add recipe for compiling lwip udp perf server application
meta-xilinx-standalone: recipes-applications: lwip-udp-perf-client: Add recipe for compiling lwip udp perf client application
meta-xilinx-standalone: recipes-applications: freertos-lwip-echo-server: Add recipe for compiling freertos lwip echo server application
meta-xilinx-standalone: recipes-applications: freertos-lwip-tcp-perf-client: Add recipe for compiling freertos lwip tcp perf client application
meta-xilinx-standalone: recipes-applications: freertos-lwip-tcp-perf-server: Add recipe for compiling freertos lwip tcp perf server application
meta-xilinx-standalone: recipes-applications: freertos-lwip-udp-perf-client: Add recipe for compiling freertos lwip udp perf client application
meta-xilinx-standalone: recipes-applications: freertos-lwip-udp-perf-server: Add recipe for compiling freertos lwip udp perf server application
meta-xilinx-standalone: recipes-libraries: Update depends list for socket mode
meta-xilinx-standalone: recipes-libraries: Add recipe for xilpuf
meta-xilinx-standalone: recipes-libraries: Fix workarounds
meta-xilinx-standalone: recipes-libraries: xilloader: Update depends list
meta-xilinx-standalone: recipes-applications: freertos-hello-world: Fix do_deploy elf variable name
meta-xilinx-standalone: classes: esw: Remove unneeded DISTRO check
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling dmaps driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling usbpsu driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling axivdma driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling emaclite driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling xxvethernet driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling scugic driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling ttcps driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling tmrctr driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling qspipsu driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling ospipsv driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling resetps driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling clockps driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling canfd driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling canps driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling can driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling wdtps driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling rtcpsu driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling gpiops driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling sdps driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling ipipsu driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling nandpsu driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling devcfg driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling mbox driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling mutex driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling uartlite driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling uartps driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling gpio driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling spips driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling qspips driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling xadcps driver examples
meta-xilinx-standalone: recipe-drivers: Add recipe for compiling sysmon driver examples
device-tree: Install psu_init files as well for zynqmp machines
meta-xilinx-standalone: recipes-applications: zynqmp-fsbl: Correct cflags based on the machine type
meta-xilinx-standalone: recipes-bsp: device-tree: Install psu_init* files only for standalone configuration
Bruce Ashfield (1):
linux-xlnx: cleanup and make yocto-kernel-cache available
Himanshu Choudhary (8):
xrt_git:zocl_git: added package_class for generating rpm
zocl_git: added post install script
xrt_git: added veral flags and dependencies
xrt_git:zocl_git: license and PV update from meta-xilinx-internal
xrt,zocl:Update commit id for 2020.1 release
xrt_git:zocl_git: updated commitid > CR-1063204
xrt_git:zocl_git: update commitid for 2020.1 release
xrt_git:zocl_git: update commitid for 2020.1 release
Jaewon Lee (28):
Update recipes for 2019.2 release
u-boot-zynq-scr: reworking boot.scr recipe to work for zynq and zynqmp
u-boot-zynq-scr: Setting sd as default bootmode for versal
zynq/zynqmp confs: Adding boot.scr to IMAGE_BOOT_FILES
bootgen_1.0.bb: Adding initial bootgen recipe to build bootgen
flashstrip utility: Build and ship flash strip utility needed for qemu
machine-xilinx-default.inc: Adding required dependencies to image_wic
**TEMPORARY**: Removing preferred provider overrides for mali backend
meson: Adding patch to add microblaze as supported CPU
glibc-locale_%.bbappend: Fix directory installed but not shipped issue
Revert "**TEMPORARY**: Removing preferred provider overrides for mali backend"
arm-trusted-firmware.inc: Changing generic DEBUG to DEBUG_ATF
gcc-cross-canadian_%.bbappend:temporary hack to build gcc cross canadian
gcc-source: Adding microblaze patch to fix compiler crash with -freg-struct-return
newlib: Adding xilinx specific patches on top of newlib/libgloss 3.1.0
cortexa*.conf: Change arch-armv8.inc to arch-armv8a.inc
gdb: Switching microblaze to use upstream gdb version 8.3.1
microblaze gdb/binutils: Adding necessary patches for microblaze
Using tune-cortexa72-cortexa53.inc for versal and zynqmp tunes
qemu-system-aarch64-multiarch: Adding comment for future fix
xilinx-standalone.conf: Adding qemu to TOOLCHAIN_HOST_TASK
arm-trusted-firmware.inc: installing elf with standard name
u-boot-xlnx:Updating defconfig for all zynq machines
Correcting ':' placement for appending file paths
Add older version of OpenCV 3.4.3
opencv_3.4.3.bb: Removing tiny-dnn from SRC_URI
versal confs: Upping RAM in runqemu command to 8G for versal boards
versal confs: cleaning up unnecessary file loading in runqemu command
Jean-Francois Dagenais (3):
libmali-xlnx: clean and fix FILESXTRAPATHS
libmali-xlnx: make version recognizable
kernel-module-mali: add patch to check dma_map_page error
Jeegar Patel (1):
kernel-module-vcu.bb : Autoload dmaproxy module on boot
Madhurkiran Harikrishnan (14):
libmali-xlnx: MALI will not provide wayland-egl
libmali-xlnx.bb: ABIs are made consistent for all backends
libmali-xlnx: Squash all monolithic library name into a variable
libmali-xlnx: Upgrade the userspace driver to r9p0
kernel-module-mali: Upgrade the kernel space driver to r9p0
weston: Migrate ZynqMP specific patches for weston to meta-xilinx
weston: Remove opaque substitute for ARGB8888 as ZynqMP DP does not support
kernel-module-mali: Make the driver compatible with kernel 5.4
Revert "libmali-xlnx: Dont provide KHR headers"
mesa: Do not provide KHR headers
cairo: For ZynqMP enable glesv2 packageconfig
libglu: Add build time dependency on glesv2 for zynqmp
xf86-video-armsoc: Bypass the exa layer to free the root pixmap
libmali: Fetch mali binaries from rel-v2020.1 branch
Manjukumar Matha (17):
libmali-xlnx: upgrade MALI recipe for 2019.2
xrt_git.bb: Fix xrt recipe for externalsrc
zocl_git.bb: Update the S path for zocl
kernel-module-hdmi_git.bb: New Yocto recipe for Xilinx HDMI drivers
machine-xilinx-default.inc: Add qemu-xilinx-helper-native as preferred provider
zynq-generic.conf: Add qemu wiring to generic conf
meta-xilinx-pynq: Add layer to support PYNQ
image-types-xilinx-qemu.bbclass: Add sector size as 512K
ultra96-zynqmp.conf: Add support for Ultra96 evaluation board
linux-firmware_git.bbappend: Add hook for wl18xx and bts file
vc-p-a2197-00-versal.conf:Add versal Tenzing +SE1 board configuration
kc705-microblaze: Update u-boot patch for kc705
layer.conf: Update XILINX_RELEASE_VERSION to v2020.1
libgpg-error: Add microblaze platform specific gpg-error.h file
qemu-xilinx-native: Enable packageconfig option for libgcrypt
qemu-xilinx.inc: Remove stale packageconfig options
qemu-xilinx.inc: Configure qemu-xilinx with gcrypt
Mark Hatle (82):
binutils/gcc: Refactor the oeconf
Revert "binutils/gcc: Refactor the oeconf"
gcc-runtime: Make the baremetal changes specific to class-target
binutils/gcc: Refactor the oeconf
gcc: Remove cortexa53 errata fixes
binutils: Merge latest binutils work
Revert "gcc-microblaze: Remove multilib builds that arent working (m64)"
gcc-cross-canadian: Fix issue being unable to find stdio.h
Enable multilib baremetal toolchains
gcc-runtime: Fix C++ multilib headers
Limit multilib toolchains to symlinks to the main toolchain
Create new baremetal toolchain machines
Fix arm cortex r/m profiles
microblaze-tc: Minor update and corrections
Adjust the microblaze standalone toolchain to match vitis expectations.
newlib: Adjust configuration for standalone to allow BSP library
qemu-xilinx: Point to master branch by default
distro/xilinx-standalone: Make LTO optional
distr/xilinx-standalone: Switch default optimization from ESW to Distro
cortex-r5: Add cortexr5f configuration
xilinx-standalone: When building for cortexr5, add -DARMR5 for CCARGS
newlib: Move microblaze support
newlib: Cleanup and merge the two newlib bbappends into a single append
python3-dtc: Add python3 dtc module
Ensure that bbappends do not affect task hashes
xlnx-compatible-os.bbclass: Class to allow recipes to list OS compatibility
Remove hardcoded XILINX_RELEASE_VERSION in recipes
meta-xilinx-standalone: Add dependencies on python3-dtc
meta-xilinx-standalone/device-tree: remove duplicate internal references
lopper: Add lopper utility
xilinx-standalone: sync distros
xilinx-standalone.inc: Replace qemu dependency with mingw32 specific recipe
lopper: Add runtime dependency of python3-dtc
cortexa53-zynqmp/cortexa72-versal: Fix cortex based BSPs
README.md: revise README.md based
README.md: Add information about the new embeddedsw support
microblaze_dtb.py: Convert a dtb to one or more microblaze TUNE_FEATURES
linux-xlnx: Use new default defconfigs
meta-xilinx-bsp: Rename soc configuration masquerading as a tune file
meta-xilinx-bsp: Remove default values
machine-xilinx-overrides: Make this generic
meta-xilinx-bsp: Update recipes to use SOC_FAMILY_ARCH and SOC_VARIANT_ARCH
meta-xilinx-bsp: rename machine-xilinx-override to xilinx-soc-family.inc
meta-xilinx-standalone: Move soc overrides from meta-xilinx-default
meta-xilinx-bsp: Adjust soc to permit multiple CPU/TUNES
libmali-xlnx: Remove virtual provides
meta-xilinx-bsp: remove redundant PREFERRED_PROVIDER
Revert "libmali-xlnx: Remove virtual provides"
meta-xilinx-bsp: machine-xilinx-default.inc allow empty WIC_DEPENDS
microblaze_dtb.py: Move to scripts subdir
zc706-zynq7: Add qemu wiring for zc706 machine
qemu-zynq7: Add qemu wiring for zc706 machine
meta-xilinx-bsp: cleanup qemu references
xilinx-qemu: Move -multiarch extension to the machine-xilinx-qemu
*-generic.conf: Add QEMU support to each of the generic BSPs
versal-generic: Move from vck190 to vc-p-a2197-00-versal
esw.bbclass: Adjust get_xlnx_cmake_process to use both tune and machine
Revise COMPATIBLE_MACHINE settings
esw.bbclass: Move DTBFILE to a single definition
xilinx-standalone.conf: Add workaround for microblaze -Os bug
Revert "linux-xlnx: Use new default defconfigs"
qemu-xilinx.inc: Move the URL to 'gitsm' and disable compile time submodules
esw.bbclass: Only work with xilinx-standalone distro
Rename plm_git.bb to plm-standalong_git.bb
meta-xilinx-standalone esw.bbclass: Allow SRCREV and SRC_URI to be overwritten
esw.bbclass: Change 'or' to 'and' to verify EXTERNALSRC is defined
Revert "xlnx-compatible-os.bbclass: Class to allow recipes to list OS compatibility"
Define COMPATIBLE_HOST to prevent mix of Linux and Baremetal recipes
device-tree.bbappend: Move to COMPATIBLE_HOST
machines: Move from SERIAL_CONSOLE (deprecated) to SERIAL_CONSOLES
machines: Move from SERIAL_CONSOLE (deprecated) to SERIAL_CONSOLES
machines: Allow the user to override SERIAL_CONSOLES
machines: Remove default SERIAL_CONSOLES_CHECK
machines: Allow user to override SERIAL_CONSOLE
microblaze machines: Set LINKER_HASH_STYLE defaults
kernel-module-mali: WIP
libcma: Fix SRC_URI definition
binutils: Microblaze integrate fix from upstream
init-ifupdown: Fix BSPs that were setting partial overrides
zynq-generic.conf: Remove the qemu overrides, not needed
meta-xilinx-standalone gcc: Fix microblaze crtend.o
lopper: Fix python3 reference in lopper_sanity.py
Min Ma (1):
xrt_git.bb: update XRT dependency
Mubin Usman Sayyed (3):
meta-xilinx-bsp: conf: machine: Add standalone based machine for zynq
meta-xilinx-standalone: Add support for zynq
meta-xilinx-standalone: classes: esw: Update ESW_CFLAGS with spec file
Mukund PVVN (3):
zcu1275-zynqmp.conf: Rename zc1275 to zcu1275
zcu1285-zynqmp.conf: Update UBOOT_MACHINE
v350-versal.conf:Add versal board configuration
Peter Ogden (1):
python3-pynq.bb: Update PYNQ to 2.5.1
Sai Hari Chandana Kalluri (54):
u-boot-xlnx_2019.2.bb: Rename zc1275 to zcu1275 board name
ultra96-zynqmp.conf: Include mipi as MACHINE_FEATURE
linux-xlnx.inc: Add MIPI kernel configuration for Ultra96
pynq-ultra96-*: Add Ultra96 specific pynq example demo:
vck-sc-zynqmp: Machine configuration for vck190 system controller
v350-versal.conf: Enforce system.dtb name when using virtual/dtb
vmk180-versal.conf: Add machine configuration for vmk180-versal
tune-versal.inc: Set default SOC_VARIANT = s80
arm-trusted-firmware_2019.2.bbappend: Update compilation flag
u-boot-xlnx: Add the platform init file for zcu216-zynqmp
plm_2019.2.bb: recipe to build plm standalone
psm-firmware_2019.2.bb: Create psm-firmware recipe for standalone build
versal-mb.conf: Add machine configuration to support standalone build for versal components like plm, psm-firmware
vck190-versal.conf: Add deploy dir for psm and plm firmware
tune-versal.inc: Rename include file from arch-armv8 to arch-armv8a
Move recipes to use _%.bb instead of version
qemu-*: Upgrade QEMU version 2.11 -> 4.1.5
Upgrade recipes to 2020.1
libmali-xlnx: Provide single shlib provider for libMali.so.9
"**TEMPORARY**" linux-xlnx.inc: Trim PV variable expansion
Revert "Revert "**TEMPORARY**: Removing preferred provider overrides for mali backend""
versal-generic: Add versal-generic machine configuration
Revert "**TEMPORARY**: Removing preferred provider overrides for mali backend"""
qemu-xilinx*: Enable qemu-xilinx-native as PROVIDER for qemu-native
u-boot-zyqn-scr.bb: Update DEVICETREE and KERNEL LOAD ADDRESS for zynqmp machines
u-boot-xlnx:Update UBOOT-MACHINE to xilinx_zynqmp_virt_defconfig for all zynqmp machines
qemu-xilinx: Enable qemu-xilinx to provide nativesdk-qemu
zedboard-zynq7.conf:update u-boot binary name
qemu-system-aarch64-multiarch: Update the binpath for qemu targets
zcu102-zynqmp.conf: Modify PMU_FIRMWARE_DEPLOY_DIR and PMU_FIRMWARE_IMAGE_NAME
Update KERNEL_VERSION to 5.4
zcu102-zynqmp.conf: Pass dtb and dtb load address as QB_OPT args for qemuboot
Enable kernel configurations for viruatlization distro feature
zc702-zynq7: Add qemu wiring for zc702 machine
qemu-xilinx-multiarch-helper-native_1.0.bb: Move multiarch wrapper script to bindir
qemuboot-xilinx.bbclass: Remove the subdir added to the qemu target path
external-hdf.bbappend: move to meta-xilinx-tools layer
xrt: Remove references to PACKAGE_CLASSES from xrt recipes
kernel-module-hdmi: Update LICENSE_CHECKSUM for kenrel-module-hdmi
xilinx-kmeta: Upstream xen and ocicontainer configs to YP kernel-cache
Update commit ids for 2020.1 release
arm-trusted-firmware.inc: Update package version
Update commit ids for 2020.1 release
lopper: Update commit id for 2020.1 release
layer.conf: Set layer compat to dunfell & gatesgarth
qemu-xilinx-native.inc: Fix the patch file names for dunfell Fix patch file names for dunfell
libmali-xlnx: Inherit features_check instead of distro_features_check
gcc-9*: Upgrade gcc from 9.2->10.1
libgloss, newlib: Upgrade version from 3.1 -> 3.3
meson_%.bbappend: Remove bbappend from layer
qemu-xilinx.inc: Add patch to enable/disbable libudev in qemu configure
python3-dtc_1.5.1.bb: Explicitly set the path to run make during configure
qemu-devicetrees: Use python3 instead of python
u-boot-xlnx.inc: Explicitly set builddir path
Sandeep Gundlupet Raju (2):
conf/machine/kc705-microbalzeel.conf: Fix U-boot defconfig
local.conf.sample: Updating XILINX_VER_MAIN
Swagath Gadde (4):
u-boot-zynq-scr: Add pxeboot support in u-boot-scr
zcu216-zynqmp: Add support for zcu216 board
u-boot-zynq-scr:Add initrd label to pxe config
zcu208-zynqmp: Add support for zcu208 board
Varalaxmi Bingi (4):
Update XILINX_RELEASE_VERSION to v2020.1
zcu1285-zynqmp.conf:using common u-boot defconfig
u-boot-xlnx.inc:u-boot-xlnx_2020.1.bb: kc705 patch
removing kc705 patch
Vishal Sagar (3):
kernel-module-hdmi_git.bb: Add versal support
kernel-module-hdmi: Update for 2020.1 release
kernel-module-hdmi: Update commit id and license md5sum for 2020.1
ch vamshi krishna (1):
xrt_git.bb: Add icd support for edge platforms
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I71ace4a7992c023b84c864abd45e634b5e48f751
Diffstat (limited to 'meta-xilinx/meta-xilinx-bsp/conf')
61 files changed, 2235 insertions, 242 deletions
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/bblayers.conf.sample b/meta-xilinx/meta-xilinx-bsp/conf/bblayers.conf.sample new file mode 100644 index 000000000..e960dbd8f --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/bblayers.conf.sample @@ -0,0 +1,34 @@ +LCONF_VERSION = "7" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" + +BBLAYERS ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/../meta-openembedded/meta-perl \ + ##OEROOT##/../meta-openembedded/meta-python \ + ##OEROOT##/../meta-openembedded/meta-filesystems \ + ##OEROOT##/../meta-openembedded/meta-gnome \ + ##OEROOT##/../meta-openembedded/meta-multimedia \ + ##OEROOT##/../meta-openembedded/meta-networking \ + ##OEROOT##/../meta-openembedded/meta-webserver \ + ##OEROOT##/../meta-openembedded/meta-xfce \ + ##OEROOT##/../meta-openembedded/meta-initramfs \ + ##OEROOT##/../meta-openembedded/meta-oe \ + ##OEROOT##/../meta-browser \ + ##OEROOT##/../meta-qt5 \ + ##OEROOT##/../meta-xilinx/meta-xilinx-bsp \ + ##OEROOT##/../meta-xilinx/meta-xilinx-pynq \ + ##OEROOT##/../meta-xilinx/meta-xilinx-standalone \ + ##OEROOT##/../meta-xilinx/meta-xilinx-contrib \ + ##OEROOT##/../meta-xilinx-tools \ + ##OEROOT##/../meta-petalinux \ + ##OEROOT##/../meta-virtualization \ + ##OEROOT##/../meta-openamp \ + ##OEROOT##/../meta-jupyter \ +" + +BBLAYERS_NON_REMOVABLE ?= " \ + ##OEROOT##/meta \ +" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/layer.conf b/meta-xilinx/meta-xilinx-bsp/conf/layer.conf index 437616cf2..e69e7d137 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/layer.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/layer.conf @@ -11,7 +11,8 @@ BBFILE_PRIORITY_xilinx = "5" LAYERDEPENDS_xilinx = "core" -LAYERSERIES_COMPAT_xilinx = "warrior" +LAYERSERIES_COMPAT_xilinx = "dunfell gatesgarth" BB_DANGLINGAPPENDS_WARNONLY ?= "1" +XILINX_RELEASE_VERSION = "v2020.1" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/local.conf.sample b/meta-xilinx/meta-xilinx-bsp/conf/local.conf.sample new file mode 100644 index 000000000..377a51911 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/local.conf.sample @@ -0,0 +1,233 @@ +# +# This file is your local configuration file and is where all local user settings +# are placed. The comments in this file give some guide to the options a new user +# to the system might want to change but pretty much any configuration option can +# be set in this file. More adventurous users can look at local.conf.extended +# which contains other examples of configuration which can be placed in this file +# but new users likely won't need any of them initially. +# +# Lines starting with the '#' character are commented out and in some cases the +# default values are provided as comments to show people example syntax. Enabling +# the option is a question of removing the # character and making any change to the +# variable as required. + +# BASE = "${COREBASE}/../.." + +# +# Machine Selection +# +# You need to select a specific machine to target the build with. There are a selection +# of emulated machines available which can boot and run in the QEMU emulator: +# +# This sets the default machine if no other machine is selected: +MACHINE ??= "qemuzynq" + +# +# Where to place downloads +# +# During a first build the system will download many different source code tarballs +# from various upstream projects. This can take a while, particularly if your network +# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you +# can preserve this directory to speed up this part of subsequent builds. This directory +# is safe to share between multiple builds on the same machine too. +# +# The default is a downloads directory under TOPDIR which is the build directory. +# +# DL_DIR ?= "${BASE}/downloads" + +# +# Where to place shared-state files +# +# BitBake has the capability to accelerate builds based on previously built output. +# This is done using "shared state" files which can be thought of as cache objects +# and this option determines where those files are placed. +# +# You can wipe out TMPDIR leaving this directory intact and the build would regenerate +# from these files if no changes were made to the configuration. If changes were made +# to the configuration, only shared state files where the state was still valid would +# be used (done using checksums). +# +# The default is a sstate-cache directory under TOPDIR. +# +# SSTATE_DIR ?= "${BASE}/sstate-cache" + +# +# Where to place the build output +# +# This option specifies where the bulk of the building work should be done and +# where BitBake should place its temporary files and output. Keep in mind that +# this includes the extraction and compilation of many applications and the toolchain +# which can use Gigabytes of hard disk space. +# +# The default is a tmp directory under TOPDIR. +# +#TMPDIR = "${TOPDIR}/tmp" +# +#TMPDIR_versal = "${TOPDIR}/tmp-versal" + +# +# Default policy config +# +# The distribution setting controls which policy settings are used as defaults. +# The default value is fine for general Yocto project use, at least initially. +# Ultimately when creating custom policy, people will likely end up subclassing +# these defaults. +# +DISTRO ?= "petalinux" + +# +# Package Management configuration +# +# This variable lists which packaging formats to enable. Multiple package backends +# can be enabled at once and the first item listed in the variable will be used +# to generate the root filesystems. +# Options are: +# - 'package_deb' for debian style deb files +# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) +# - 'package_rpm' for rpm style packages +# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" +# We default to rpm: +PACKAGE_CLASSES ?= "package_rpm" + +# +# SDK/ADT target architecture +# +# This variable specifies the architecture to build SDK/ADT items for and means +# you can build the SDK packages for architectures other than the machine you are +# running the build on (i.e. building i686 packages on an x86_64 host). +# Supported values are i686 and x86_64 +#SDKMACHINE ?= "i686" + +# +# Extra image configuration defaults +# +# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated +# images. Some of these options are added to certain image types automatically. The +# variable can contain the following options: +# "dbg-pkgs" - add -dbg packages for all installed packages +# (adds symbol information for debugging/profiling) +# "dev-pkgs" - add -dev packages for all installed packages +# (useful if you want to develop against libs in the image) +# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages +# (useful if you want to run the package test suites) +# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) +# "tools-debug" - add debugging tools (gdb, strace) +# "eclipse-debug" - add Eclipse remote debugging support +# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind) +# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) +# "debug-tweaks" - make an image suitable for development +# e.g. ssh root access has a blank password +# There are other application targets that can be used here too, see +# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. +# We default to enabling the debugging tweaks. +EXTRA_IMAGE_FEATURES = "debug-tweaks" + +# +# Additional image features +# +# The following is a list of additional classes to use when building images which +# enable extra features. Some available options which can be included in this variable +# are: +# - 'buildstats' collect build statistics +# - 'image-mklibs' to reduce shared library files size for an image +# - 'image-prelink' in order to prelink the filesystem image +# - 'image-swab' to perform host system intrusion detection +# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink +# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended +USER_CLASSES ?= "buildstats image-mklibs" + +# +# Runtime testing of images +# +# The build system can test booting virtual machine images under qemu (an emulator) +# after any root filesystems are created and run tests against those images. To +# enable this uncomment this line. See classes/testimage(-auto).bbclass for +# further details. +#TEST_IMAGE = "1" +# +# Interactive shell configuration +# +# Under certain circumstances the system may need input from you and to do this it +# can launch an interactive shell. It needs to do this since the build is +# multithreaded and needs to be able to handle the case where more than one parallel +# process may require the user's attention. The default is iterate over the available +# terminal types to find one that works. +# +# Examples of the occasions this may happen are when resolving patches which cannot +# be applied, to use the devshell or the kernel menuconfig +# +# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none +# Note: currently, Konsole support only works for KDE 3.x due to the way +# newer Konsole versions behave +#OE_TERMINAL = "auto" +# By default disable interactive patch resolution (tasks will just fail instead): +PATCHRESOLVE = "noop" + +# +# Disk Space Monitoring during the build +# +# Monitor the disk space during the build. If there is less that 1GB of space or less +# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully +# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort +# of the build. The reason for this is that running completely out of space can corrupt +# files and damages the build in ways which may not be easily recoverable. +# It's necesary to monitor /tmp, if there is no space left the build will fail +# with very exotic errors. +BB_DISKMON_DIRS = "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + STOPTASKS,/tmp,100M,100K \ + ABORT,${TMPDIR},100M,1K \ + ABORT,${DL_DIR},100M,1K \ + ABORT,${SSTATE_DIR},100M,1K \ + ABORT,/tmp,10M,1K" + +# +# Shared-state files from other locations +# +# As mentioned above, shared state files are prebuilt cache data objects which can +# used to accelerate build time. This variable can be used to configure the system +# to search other mirror locations for these objects before it builds the data itself. +# +# This can be a filesystem directory, or a remote url such as http or ftp. These +# would contain the sstate-cache results from previous builds (possibly from other +# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the +# cache locations to check for the shared objects. +# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH +# at the end as shown in the examples below. This will be substituted with the +# correct path within the directory structure. +#SSTATE_MIRRORS ?= "\ +#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ +#file://.* file:///some/local/dir/sstate/PATH" + +XILINX_VER_MAIN = "2020.1" + +# Uncomment below lines to provide path for custom xsct trim +# This is required for building Versal based devices, please fetch the +# xsct-trim from Xilinx lounge area +# +#EXTERNAL_XSCT_TARBALL = "/proj/yocto/xsct-trim/2020.1_xsct_daily_latest" +#VALIDATE_XSCT_CHECKSUM = '0' + +# XILINX_VIVADO_DESIGN_SUIT should point to the Vivado installation directly if you are using xilinx-mcs recipe in meta-xilinx-tools +#XILINX_VIVADO_DESIGN_SUIT = "/proj/xbuilds/2018.3_daily_latest/installs/lin64/Vivado/2018.3" + +# INHERIT += "externalsrc" +# PREFERRED_PROVIDER_virtual/kernel = "linux-xlnx-dev" +# EXTERNALSRC_pn-linux-xlnx-dev = "${BASE}/sources/linux" +# RM_WORK_EXCLUDE += "linux-xlnx-dev" + +# PREFERRED_PROVIDER_virtual/bootloader = "u-boot-xlnx-dev" +# EXTERNALSRC_pn-u-boot-xlnx-dev = "${BASE}/sources/u-boot" +# RM_WORK_EXCLUDE += "u-boot-xlnx-dev" + +#Add below lines to use runqemu for ZU+ machines +PMU_FIRMWARE_DEPLOY_DIR = "${DEPLOY_DIR_IMAGE}" +PMU_FIRMWARE_IMAGE_NAME = "pmu-firmware-${MACHINE}" + +# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to +# track the version of this file when it was generated. This can safely be ignored if +# this doesn't mean anything to you. +CONF_VERSION = "1" + diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch32-tc.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch32-tc.conf new file mode 100644 index 000000000..72fbc80f9 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch32-tc.conf @@ -0,0 +1,220 @@ +require conf/multilib.conf +require conf/machine/include/tune-cortexa9.inc +require conf/machine/include/baremetal-tc.conf + +# Define all of the multilibs supproted by this configuration +MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" + +MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard" +MULTILIBS += "multilib:libnofp" +MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard" +MULTILIBS += "multilib:libv7anofp" +MULTILIBS += "multilib:libv7afpsoftfp" +MULTILIBS += "multilib:libv7afpthf multilib:libv7asimdsoftfp" +MULTILIBS += "multilib:libv7asimdhard multilib:libv7vesimdsoftfp" +MULTILIBS += "multilib:libvtvesimdhf" +MULTILIBS += "multilib:libv8anofp" +MULTILIBS += "multilib:libv8asimdsoftfp multilib:libv8asimdhard" + +TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}" +TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" + +# Base configuration +# CFLAGS: +DEFAULTTUNE = "aarch32" + +AVAILTUNES += "aarch32" +PACKAGE_EXTRA_ARCHS_tune-aarch32 = "${TUNE_PKGARCH_tune-aarch32}" +BASE_LIB_tune-aarch32 = "lib" +TUNE_FEATURES_tune-aarch32 = "arm" +TUNE_CCARGS_tune-aarch32 = "" +TUNE_PKGARCH_tune-aarch32 = "aarch32" + + +# arm/v5te/softfp +# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp" + +AVAILTUNES += "armv5tesoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}" +BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp" +TUNE_FEATURES_tune-armv5tesoftfp = "arm" +TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp" + + +# arm/v5te/hard +# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard" + +AVAILTUNES += "armv5tehard" +PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}" +BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard" +TUNE_FEATURES_tune-armv5tehard = "arm" +TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf" + + +# thumb/nofp +# CFLAGS: -mthumb -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp" + +AVAILTUNES += "armnofp" +PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}" +BASE_LIB_tune-armnofp = "lib/thumb/nofp" +TUNE_FEATURES_tune-armnofp = "arm" +TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft" +TUNE_PKGARCH_tune-armnofp = "armt" + + +# thumb/v7/nofp +# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp" + +AVAILTUNES += "armv7nofp" +PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}" +BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp" +TUNE_FEATURES_tune-armv7nofp = "arm" +TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv7nofp = "armv7t" + + +# thumb/v7+fp/softfp +# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp" + +AVAILTUNES += "armv7fpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}" +BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp" +TUNE_FEATURES_tune-armv7fpsoftfp = "arm" +TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt" + + +# thumb/v7+fp/hard +# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard" + +AVAILTUNES += "armv7fphard" +PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}" +BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard" +TUNE_FEATURES_tune-armv7fphard = "arm" +TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf" + + +# thumb/v7-a/nofp +# CFLAGS: -mthumb -march=armv7-a -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv7anofp = "armv7anofp" + +AVAILTUNES += "armv7anofp" +PACKAGE_EXTRA_ARCHS_tune-armv7anofp = "${TUNE_PKGARCH_tune-armv7anofp}" +BASE_LIB_tune-armv7anofp = "lib/thumb/v7-a/nofp" +TUNE_FEATURES_tune-armv7anofp = "arm" +TUNE_CCARGS_tune-armv7anofp = "-mthumb -march=armv7-a -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv7anofp = "armv7at" + + +# thumb/v7-a+fp/softfp +# CFLAGS: -mthumb -march=armv7-a+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7afpsoftfp = "armv7afpsoftfp" + +AVAILTUNES += "armv7afpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7afpsoftfp = "${TUNE_PKGARCH_tune-armv7afpsoftfp}" +BASE_LIB_tune-armv7afpsoftfp = "lib/thumb/v7-a+fp/softfp" +TUNE_FEATURES_tune-armv7afpsoftfp = "arm" +TUNE_CCARGS_tune-armv7afpsoftfp = "-mthumb -march=armv7-a+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7afpsoftfp = "armv7afpt" + + +# thumb/v7-a+fp/hard +# CFLAGS: -mthumb -march=armv7-a+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7afpthf = "armv7afpthf" + +AVAILTUNES += "armv7afpthf" +PACKAGE_EXTRA_ARCHS_tune-armv7afpthf = "${TUNE_PKGARCH_tune-armv7afpthf}" +BASE_LIB_tune-armv7afpthf = "lib/thumb/v7-a+fp/hard" +TUNE_FEATURES_tune-armv7afpthf = "arm" +TUNE_CCARGS_tune-armv7afpthf = "-mthumb -march=armv7-a+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7afpthf = "armv7afpthf" + +# thumb/v7-a+simd/softfp +# CFLAGS: -mthumb -march=armv7-a+simd -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7asimdsoftfp = "armv7asimdsoftfp" + +AVAILTUNES += "armv7asimdsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7asimdsoftfp = "${TUNE_PKGARCH_tune-armv7asimdsoftfp}" +BASE_LIB_tune-armv7asimdsoftfp = "lib/thumb/v7-a+simd/softfp" +TUNE_FEATURES_tune-armv7asimdsoftfp = "arm" +TUNE_CCARGS_tune-armv7asimdsoftfp = "-mthumb -march=armv7-a+simd -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7asimdsoftfp = "armv7asimdt" + + +# thumb/v7-a+simd/hard +# CFLAGS: -mthumb -march=armv7-a+simd -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7asimdhard = "armv7asimdhard" + +AVAILTUNES += "armv7asimdhard" +PACKAGE_EXTRA_ARCHS_tune-armv7asimdhard = "${TUNE_PKGARCH_tune-armv7asimdhard}" +BASE_LIB_tune-armv7asimdhard = "lib/thumb/v7-a+simd/hard" +TUNE_FEATURES_tune-armv7asimdhard = "arm" +TUNE_CCARGS_tune-armv7asimdhard = "-mthumb -march=armv7-a+simd -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7asimdhard = "armv7asimdthf" + + +# thumb/v7ve+simd/softfp +# CFLAGS: -mthumb -march=armv7ve+simd -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7vesimdsoftfp = "armv7vesimdsoftfp" + +AVAILTUNES += "armv7vesimdsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7vesimdsoftfp = "${TUNE_PKGARCH_tune-armv7vesimdsoftfp}" +BASE_LIB_tune-armv7vesimdsoftfp = "lib/thumb/v7ve+simd/softfp" +TUNE_FEATURES_tune-armv7vesimdsoftfp = "arm" +TUNE_CCARGS_tune-armv7vesimdsoftfp = "-mthumb -march=armv7ve+simd -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7vesimdsoftfp = "armv7vesimdt" + +# thumb/v7ve+simd/hard +# CFLAGS: -mthumb -march=armv7ve+simd -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libvtvesimdhf = "armvtvesimdhf" + +AVAILTUNES += "armvtvesimdhf" +PACKAGE_EXTRA_ARCHS_tune-armvtvesimdhf = "${TUNE_PKGARCH_tune-armvtvesimdhf}" +BASE_LIB_tune-armvtvesimdhf = "lib/thumb/v7ve+simd/hard" +TUNE_FEATURES_tune-armvtvesimdhf = "arm" +TUNE_CCARGS_tune-armvtvesimdhf = "-mthumb -march=armv7ve+simd -mfloat-abi=hard" +TUNE_PKGARCH_tune-armvtvesimdhf = "armv7vesimdthf" + + +# thumb/v8-a/nofp +# CFLAGS: -mthumb -march=armv8-a -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv8anofp = "armv8anofp" + +AVAILTUNES += "armv8anofp" +PACKAGE_EXTRA_ARCHS_tune-armv8anofp = "${TUNE_PKGARCH_tune-armv8anofp}" +BASE_LIB_tune-armv8anofp = "lib/thumb/v8-a/nofp" +TUNE_FEATURES_tune-armv8anofp = "arm" +TUNE_CCARGS_tune-armv8anofp = "-mthumb -march=armv8-a -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv8anofp = "armv8at" + +# thumb/v8-a+simd/softfp +# CFLAGS: -mthumb -march=armv8-a+simd -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv8asimdsoftfp = "armv8asimdsoftfp" + +AVAILTUNES += "armv8asimdsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv8asimdsoftfp = "${TUNE_PKGARCH_tune-armv8asimdsoftfp}" +BASE_LIB_tune-armv8asimdsoftfp = "lib/thumb/v8-a+simd/softfp" +TUNE_FEATURES_tune-armv8asimdsoftfp = "arm" +TUNE_CCARGS_tune-armv8asimdsoftfp = "-mthumb -march=armv8-a+simd -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv8asimdsoftfp = "armv8asimdt" + + +# thumb/v8-a+simd/hard +# CFLAGS: -mthumb -march=armv8-a+simd -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv8asimdhard = "armv8asimdhard" + +AVAILTUNES += "armv8asimdhard" +PACKAGE_EXTRA_ARCHS_tune-armv8asimdhard = "${TUNE_PKGARCH_tune-armv8asimdhard}" +BASE_LIB_tune-armv8asimdhard = "lib/thumb/v8-a+simd/hard" +TUNE_FEATURES_tune-armv8asimdhard = "arm" +TUNE_CCARGS_tune-armv8asimdhard = "-mthumb -march=armv8-a+simd -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv8asimdhard = "armv8asimdthf" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch64-tc.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch64-tc.conf new file mode 100644 index 000000000..e9e0412b7 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch64-tc.conf @@ -0,0 +1,29 @@ +require conf/multilib.conf +require conf/machine/include/tune-cortexa72-cortexa53.inc +require conf/machine/include/baremetal-tc.conf + +# Define ilp32 variant (not in tune files) +TUNEVALID[ilp32] = "ilp32 ABI" + +TUNE_CCARGS .= '${@bb.utils.contains("TUNE_FEATURES", "ilp32", " -mabi=ilp32", "", d)}' + +# ILP request an alternative machine dictionary +INHERIT += "xlnx-standalone" +PACKAGEQA_EXTRA_MACHDEFFUNCS .= '${@bb.utils.contains("TUNE_FEATURES", "ilp32", " xlnx_ilp32_dict", "", d)}' + +# Define all of the multilibs supported by this configuration +MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" +MULTILIBS = "multilib:libilp32" + +# Base configuration +# CFLAGS: +DEFAULTTUNE = "cortexa72-cortexa53" + +# CFLAGS: -mabi=ilp32 +DEFAULTTUNE_virtclass-multilib-libilp32 = "cortexa72-cortexa53-ilp32" + +AVAILTUNES += "cortexa72-cortexa53-ilp32" +ARMPKGARCH_tune-cortexa72-cortexa53-ilp32 = "${ARMPKGARCH_tune-cortexa72-cortexa53}_ilp32" +TUNE_FEATURES_tune-cortexa72-cortexa53-ilp32 = "${TUNE_FEATURES_tune-cortexa72-cortexa53} ilp32" +PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53-ilp32 = "${PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53} cortexa72-cortexa53-ilp32" +BASE_LIB_tune-cortexa72-cortexa53-ilp32 = "lib/ilp32" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf new file mode 100644 index 000000000..c13133398 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf @@ -0,0 +1,264 @@ +require conf/multilib.conf +require conf/machine/include/tune-cortexrm.inc +require conf/machine/include/baremetal-tc.conf + +# Define all of the multilibs supproted by this configuration +MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" + +MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard" +MULTILIBS += "multilib:libnofp" +MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard" +MULTILIBS += "multilib:libv6mnofp" +MULTILIBS += "multilib:libv7mnofp" +MULTILIBS += "multilib:libv7emnofp multilib:libv7emfpsoftfp" +MULTILIBS += "multilib:libv7emfphard multilib:libv7emdpsoftfp" +MULTILIBS += "multilib:libv7emdphard" +MULTILIBS += "multilib:libv8mbasenofp" +MULTILIBS += "multilib:libv8mmainnofp multilib:libv8mmainfpsoftfp multilib:libv8mmainfphard multilib:libv8mmaindpsoftfp multilib:libv8mmaindphard" + +TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}" +TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" + +# Base configuration +# CFLAGS: +DEFAULTTUNE = "armrm" + +AVAILTUNES += "armrm" +PACKAGE_EXTRA_ARCHS_tune-armrm = "${TUNE_PKGARCH_tune-armrm}" +BASE_LIB_tune-armrm = "lib" +TUNE_FEATURES_tune-armrm = "arm armrm" +TUNE_CCARGS_tune-armrm = "" +TUNE_PKGARCH_tune-armrm = "armrm" + + +# arm/v5te/softfp +# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp" + +AVAILTUNES += "armv5tesoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}" +BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp" +TUNE_FEATURES_tune-armv5tesoftfp = "arm armrm" +TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp" + + +# arm/v5te/hard +# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard" + +AVAILTUNES += "armv5tehard" +PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}" +BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard" +TUNE_FEATURES_tune-armv5tehard = "arm armrm" +TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf" + + +# thumb/nofp +# CFLAGS: -mthumb -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp" + +AVAILTUNES += "armnofp" +PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}" +BASE_LIB_tune-armnofp = "lib/thumb/nofp" +TUNE_FEATURES_tune-armnofp = "arm armrm" +TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft" +TUNE_PKGARCH_tune-armnofp = "armt" + + +# thumb/v7/nofp +# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp" + +AVAILTUNES += "armv7nofp" +PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}" +BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp" +TUNE_FEATURES_tune-armv7nofp ="arm armrm" +TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv7nofp = "armv7t" + + +# thumb/v7+fp/softfp +# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp" + +AVAILTUNES += "armv7fpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}" +BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp" +TUNE_FEATURES_tune-armv7fpsoftfp ="arm armrm" +TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt" + + +# thumb/v7+fp/hard +# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard" + +AVAILTUNES += "armv7fphard" +PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}" +BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard" +TUNE_FEATURES_tune-armv7fphard ="arm armrm" +TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf" + + +# thumb/v6-m/nofp +# CFLAGS: -mthumb -march=armv6s-m -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv6mnofp = "armv6mnofp" + +# Workaround for this multilib in newlib +# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip +EXTRA_OECONF_append_pn-libv6mnofp-newlib = " --disable-newlib-supplied-syscalls" + +AVAILTUNES += "armv6mnofp" +PACKAGE_EXTRA_ARCHS_tune-armv6mnofp = "${TUNE_PKGARCH_tune-armv6mnofp}" +BASE_LIB_tune-armv6mnofp = "lib/thumb/v6-m/nofp" +TUNE_FEATURES_tune-armv6mnofp ="arm armrm" +TUNE_CCARGS_tune-armv6mnofp = "-mthumb -march=armv6s-m -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv6mnofp = "armv6smt" + + +# thumb/v7-m/nofp +# CFLAGS: -mthumb -march=armv7-m -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv7mnofp = "armv7mnofp" + +AVAILTUNES += "armv7mnofp" +PACKAGE_EXTRA_ARCHS_tune-armv7mnofp = "${TUNE_PKGARCH_tune-armv7mnofp}" +BASE_LIB_tune-armv7mnofp = "lib/thumb/v7-m/nofp" +TUNE_FEATURES_tune-armv7mnofp ="arm armrm" +TUNE_CCARGS_tune-armv7mnofp = "-mthumb -march=armv7-m -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv7mnofp = "armv7mt" + + +# thumb/v7e-m/nofp +# CFLAGS: -mthumb -march=armv7e-m -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv7emnofp = "armv7emnofp" + +AVAILTUNES += "armv7emnofp" +PACKAGE_EXTRA_ARCHS_tune-armv7emnofp = "${TUNE_PKGARCH_tune-armv7emnofp}" +BASE_LIB_tune-armv7emnofp = "lib/thumb/v7e-m/nofp" +TUNE_FEATURES_tune-armv7emnofp ="arm armrm" +TUNE_CCARGS_tune-armv7emnofp = "-mthumb -march=armv7e-m -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv7emnofp = "armv7emt" + + +# thumb/v7e-m+fp/softfp +# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7emfpsoftfp = "armv7emfpsoftfp" + +AVAILTUNES += "armv7emfpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7emfpsoftfp = "${TUNE_PKGARCH_tune-armv7emfpsoftfp}" +BASE_LIB_tune-armv7emfpsoftfp = "lib/thumb/v7e-m+fp/softfp" +TUNE_FEATURES_tune-armv7emfpsoftfp ="arm armrm" +TUNE_CCARGS_tune-armv7emfpsoftfp = "-mthumb -march=armv7e-m+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7emfpsoftfp = "armv7emfpt" + + +# thumb/v7e-m+fp/hard +# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7emfphard = "armv7emfphard" + +AVAILTUNES += "armv7emfphard" +PACKAGE_EXTRA_ARCHS_tune-armv7emfphard = "${TUNE_PKGARCH_tune-armv7emfphard}" +BASE_LIB_tune-armv7emfphard = "lib/thumb/v7e-m+fp/hard" +TUNE_FEATURES_tune-armv7emfphard ="arm armrm" +TUNE_CCARGS_tune-armv7emfphard = "-mthumb -march=armv7e-m+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7emfphard = "armv7emfpthf" + + +# thumb/v7e-m+dp/softfp +# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7emdpsoftfp = "armv7emdpsoftfp" + +AVAILTUNES += "armv7emdpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7emdpsoftfp = "${TUNE_PKGARCH_tune-armv7emdpsoftfp}" +BASE_LIB_tune-armv7emdpsoftfp = "lib/thumb/v7e-m+dp/softfp" +TUNE_FEATURES_tune-armv7emdpsoftfp ="arm armrm" +TUNE_CCARGS_tune-armv7emdpsoftfp = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7emdpsoftfp = "armv7emdp" + +# thumb/v7e-m+dp/hard +# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7emdphard = "armv7emdphard" + +AVAILTUNES += "armv7emdphard" +PACKAGE_EXTRA_ARCHS_tune-armv7emdphard = "${TUNE_PKGARCH_tune-armv7emdphard}" +BASE_LIB_tune-armv7emdphard = "lib/thumb/v7e-m+dp/hard" +TUNE_FEATURES_tune-armv7emdphard ="arm armrm" +TUNE_CCARGS_tune-armv7emdphard = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7emdphard = "armv7emdpthf" + + +# thumb/v8-m.base/nofp +# CFLAGS: -mthumb -march=armv8-m.base -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv8mbasenofp = "armv8mbasenofp" + +# Workaround for this multilib in newlib +# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip' +EXTRA_OECONF_append_pn-libv8mbasenofp-newlib = " --disable-newlib-supplied-syscalls" + +AVAILTUNES += "armv8mbasenofp" +PACKAGE_EXTRA_ARCHS_tune-armv8mbasenofp = "${TUNE_PKGARCH_tune-armv8mbasenofp}" +BASE_LIB_tune-armv8mbasenofp = "lib/thumb/v8-m.base/nofp" +TUNE_FEATURES_tune-armv8mbasenofp ="arm armrm" +TUNE_CCARGS_tune-armv8mbasenofp = "-mthumb -march=armv8-m.base -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv8mbasenofp = "armv8mbaset" + +# thumb/v8-m.main/nofp +# CFLAGS: -mthumb -march=armv8-m.main -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv8mmainnofp = "armv8mmainnofp" + +AVAILTUNES += "armv8mmainnofp" +PACKAGE_EXTRA_ARCHS_tune-armv8mmainnofp = "${TUNE_PKGARCH_tune-armv8mmainnofp}" +BASE_LIB_tune-armv8mmainnofp = "lib/thumb/v8-m.main/nofp" +TUNE_FEATURES_tune-armv8mmainnofp ="arm armrm" +TUNE_CCARGS_tune-armv8mmainnofp = "-mthumb -march=armv8-m.main -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv8mmainnofp = "armv8mmaint" + + +# thumb/v8-m.main+fp/softfp +# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv8mmainfpsoftfp = "armv8mmainfpsoftfp" + +AVAILTUNES += "armv8mmainfpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv8mmainfpsoftfp = "${TUNE_PKGARCH_tune-armv8mmainfpsoftfp}" +BASE_LIB_tune-armv8mmainfpsoftfp = "lib/thumb/v8-m.main+fp/softfp" +TUNE_FEATURES_tune-armv8mmainfpsoftfp ="arm armrm" +TUNE_CCARGS_tune-armv8mmainfpsoftfp = "-mthumb -march=armv8-m.main+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv8mmainfpsoftfp = "armv8mmainfpt" + +# thumb/v8-m.main+fp/hard +# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv8mmainfphard = "armv8mmainfphard" + +AVAILTUNES += "armv8mmainfphard" +PACKAGE_EXTRA_ARCHS_tune-armv8mmainfphard = "${TUNE_PKGARCH_tune-armv8mmainfphard}" +BASE_LIB_tune-armv8mmainfphard = "lib/thumb/v8-m.main+fp/hard" +TUNE_FEATURES_tune-armv8mmainfphard ="arm armrm" +TUNE_CCARGS_tune-armv8mmainfphard = "-mthumb -march=armv8-m.main+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv8mmainfphard = "armv8mmainfpthf" + + +# thumb/v8-m.main+dp/softfp +# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv8mmaindpsoftfp = "armv8mmaindpsoftfp" + +AVAILTUNES += "armv8mmaindpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv8mmaindpsoftfp = "${TUNE_PKGARCH_tune-armv8mmaindpsoftfp}" +BASE_LIB_tune-armv8mmaindpsoftfp = "lib/thumb/v8-m.main+dp/softfp" +TUNE_FEATURES_tune-armv8mmaindpsoftfp ="arm armrm" +TUNE_CCARGS_tune-armv8mmaindpsoftfp = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv8mmaindpsoftfp = "armv8mmainfpdpt" + + +# thumb/v8-m.main+dp/hard +# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv8mmaindphard = "armv8mmaindphard" + +AVAILTUNES += "armv8mmaindphard" +PACKAGE_EXTRA_ARCHS_tune-armv8mmaindphard = "${TUNE_PKGARCH_tune-armv8mmaindphard}" +BASE_LIB_tune-armv8mmaindphard = "lib/thumb/v8-m.main+dp/hard" +TUNE_FEATURES_tune-armv8mmaindphard ="arm armrm" +TUNE_CCARGS_tune-armv8mmaindphard = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv8mmaindphard = "armv8mmainfpdpthf" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf new file mode 100644 index 000000000..d2bbab0de --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf @@ -0,0 +1,3 @@ +DEFAULTTUNE ?= "cortexa53" + +require conf/machine/include/soc-zynqmp.inc diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa72-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa72-versal.conf new file mode 100644 index 000000000..27e109c01 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa72-versal.conf @@ -0,0 +1,3 @@ +DEFAULTTUNE ?= "cortexa72" + +require conf/machine/include/soc-versal.inc diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf new file mode 100644 index 000000000..02568109b --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf @@ -0,0 +1 @@ +require conf/machine/include/soc-zynq.inc diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-versal.conf new file mode 100644 index 000000000..fa58dc007 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-versal.conf @@ -0,0 +1,3 @@ +DEFAULTTUNE ?= "cortexr5f" + +require conf/machine/include/soc-versal.inc diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf new file mode 100644 index 000000000..817150f83 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf @@ -0,0 +1,3 @@ +DEFAULTTUNE ?= "cortexr5f" + +require conf/machine/include/soc-zynqmp.inc diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf new file mode 100644 index 000000000..a53ceac25 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf @@ -0,0 +1,7 @@ +# This is specific to baremetal toolchains only. +# +# Some of the operations we want to do are different then regular Yocto +# Project SDK workflows, so wrap baremetal toolchain items in a custom +# override: + +MACHINEOVERRIDES_append = ":baremetal-multilib-tc" 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 index 1367e57ab..f2533be70 100644 --- 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 @@ -6,26 +6,20 @@ MACHINE_FEATURES_BACKFILL_CONSIDERED += "rtc" 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}" +PREFERRED_PROVIDER_virtual/kernel ??= "linux-xlnx" # 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/bootloader ??= "u-boot-xlnx" PREFERRED_PROVIDER_virtual/boot-bin ??= "${PREFERRED_PROVIDER_virtual/bootloader}" +do_image_wic[depends] += "${@' '.join('%s:do_deploy' % r for r in (d.getVar('WIC_DEPENDS') or "").split())}" + UBOOT_SUFFIX ?= "img" -UBOOT_SUFFIX_zynqmp ?= "bin" UBOOT_SUFFIX_microblaze ?= "bin" UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" UBOOT_ELF ?= "u-boot" -UBOOT_ELF_zynq ?= "u-boot.elf" UBOOT_ELF_aarch64 ?= "u-boot.elf" -UBOOT_ELF_versal ?= "u-boot.elf" #Hardware accelaration PREFERRED_PROVIDER_virtual/libgles1_mali400 = "libmali-xlnx" @@ -39,6 +33,8 @@ GCCPIE_microblaze = "" GLIBCPIE_microblaze = "" SECURITY_CFLAGS_microblaze = "" SECURITY_LDFLAGS_microblaze = "" +# Microblaze does not support gnu hash style +LINKER_HASH_STYLE_microblaze = "sysv" XSERVER ?= " \ xserver-xorg \ @@ -79,9 +75,5 @@ def get_default_image_boot_files(d): 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" FPGA_MNGR_RECONFIG_ENABLE ?= "${@bb.utils.contains('IMAGE_FEATURES', 'fpga-manager', '1', '0', d)}" 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 deleted file mode 100644 index 30049bc04..000000000 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc +++ /dev/null @@ -1,21 +0,0 @@ -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 index 5eb4b5c47..886cad24e 100644 --- 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 @@ -1,8 +1,14 @@ # This include is used to setup default QEMU and qemuboot config for meta-xilinx # machines. +# Use the xilinx specific version for these users +IMAGE_CLASSES += "qemuboot-xilinx" + # depend on qemu-helper-native, which will depend on QEMU -EXTRA_IMAGEDEPENDS += "qemu-helper-native" +EXTRA_IMAGEDEPENDS += "qemu-xilinx-helper-native" + +PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native" +PREFERRED_PROVIDER_qemu = "qemu-xilinx" def qemu_default_dtb(d): if d.getVar("IMAGE_BOOT_FILES", True): @@ -16,8 +22,9 @@ def qemu_default_dtb(d): return "" def qemu_default_serial(d): - if d.getVar("SERIAL_CONSOLE", True): - speed, console = d.getVar("SERIAL_CONSOLE", True).split(" ", 1) + if d.getVar("SERIAL_CONSOLES", True): + first_console = d.getVar("SERIAL_CONSOLES", True).split(" ")[0] + speed, console = first_console.split(";", 1) # zynqmp uses earlycon and stdout (in dtb) if "zynqmp" in d.getVar("MACHINEOVERRIDES", True).split(":"): return "" @@ -38,6 +45,7 @@ def qemu_zynqmp_unhalt(d, multiarch): 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_aarch64 ?= "${@qemu_target_binary(d)}-multiarch" QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}" QB_DEFAULT_FSTYPE ?= "cpio" QB_DTB ?= "${@qemu_default_dtb(d)}" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc new file mode 100644 index 000000000..7b6bd12ab --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc @@ -0,0 +1,14 @@ +# Unfortunately various tunefiles don't include each other, so create +# a list of things to require based on the DEFAULTTUNE setting. +TUNEFILE[cortexr5] = "conf/machine/include/tune-cortexrm.inc" +TUNEFILE[cortexr5f] = "conf/machine/include/tune-cortexrm.inc" +TUNEFILE[cortexa9thf-neon] = "conf/machine/include/tune-cortexa9.inc" +TUNEFILE[cortexa53] = "conf/machine/include/tune-cortexa53.inc" +TUNEFILE[cortexa72] = "conf/machine/include/tune-cortexa72.inc" +TUNEFILE[cortexa72-cortexa53] = "conf/machine/include/tune-cortexa72-cortexa53.inc" +TUNEFILE[microblaze] = "conf/machine/include/tune-microblaze.inc" + +# Default to arch-armv8a.inc +TUNEFILE = "${@ d.getVarFlag('TUNEFILE', d.getVar('DEFAULTTUNE')) if d.getVarFlag('TUNEFILE', d.getVar('DEFAULTTUNE')) else 'conf/machine/include/arm/arch-armv8a.inc'}" + +require ${TUNEFILE} diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-versal.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-versal.inc new file mode 100644 index 000000000..c32880b1d --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-versal.inc @@ -0,0 +1,17 @@ +DEFAULTTUNE ?= "cortexa72-cortexa53" +SOC_FAMILY ?= "versal" + +# Available SOC_VARIANT's for versal: +# virt + +SOC_VARIANT ?= "s80" + +require soc-tune-include.inc +require xilinx-soc-family.inc + +# Linux Configuration +KERNEL_IMAGETYPE ?= "Image" + +WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin virtual/arm-trusted-firmware" + +UBOOT_ELF ?= "u-boot.elf" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynq.inc index f7006026a..0111cbd98 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynq.inc @@ -7,8 +7,8 @@ SOC_FAMILY ?= "zynq" SOC_VARIANT ?= "7z" -require conf/machine/include/tune-cortexa9.inc -require conf/machine/include/soc-family.inc +require soc-tune-include.inc +require xilinx-soc-family.inc # Linux Configuration KERNEL_IMAGETYPE ?= "uImage" @@ -17,3 +17,8 @@ KERNEL_IMAGETYPES += "zImage" # Set default load address. # Override with KERNEL_EXTRA_ARGS_<board> += "..." in machine file if required KERNEL_EXTRA_ARGS_zynq += "UIMAGE_LOADADDR=0x8000" + +# WIC Specific dependencies +WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin" + +UBOOT_ELF ?= "u-boot.elf" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc new file mode 100644 index 000000000..8d421fb36 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc @@ -0,0 +1,28 @@ +DEFAULTTUNE ?= "cortexa72-cortexa53" +SOC_FAMILY ?= "zynqmp" + +# Available SOC_VARIANT's for zynqmp: +# "cg" - Zynq UltraScale+ CG Devices +# "eg" - Zynq UltraScale+ EG Devices +# "ev" - Zynq UltraScale+ EV Devices +# "dr" - Zynq UltraScale+ DR Devices + +SOC_VARIANT ?= "eg" + +MACHINEOVERRIDES_prepend_zynqmpeg = "mali400:" +MACHINEOVERRIDES_prepend_zynqmpev = "mali400:vcu:" + +require soc-tune-include.inc +require xilinx-soc-family.inc + +# Linux Configuration +KERNEL_IMAGETYPE ?= "Image" + +# Support multilib on zynqmp +DEFAULTTUNE_virtclass-multilib-lib32 ?= "armv7vethf-neon-vfpv4" + +WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin virtual/arm-trusted-firmware" + +UBOOT_SUFFIX ?= "bin" + +XSERVER_EXT_zynqmp ?= "xf86-video-armsoc" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc new file mode 100644 index 000000000..66edbdbdb --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc @@ -0,0 +1,21 @@ +DEFAULTTUNE ?= "cortexr5" + +require conf/machine/include/arm/arch-armv8a.inc + +TUNEVALID[armrm] = "Enable ARM Cortex-R/M Family" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armrm', 'armrm:', '' ,d)}" + +TUNEVALID[cortexr5] = "Enable Cortex-r5 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -mcpu=cortex-r5', '', d)}" + +AVAILTUNES += "cortexr5" +ARMPKGARCH_tune-cortexr5 = "cortexr5" + +TUNE_FEATURES_tune-cortexr5 = "armrm cortexr5" +PACKAGE_EXTRA_ARCHS_tune-cortexr5 = "${TUNE_PKGARCH}" + +AVAILTUNES += "cortexr5f" +ARMPKGARCH_tune-cortexr5f = "cortexr5f" + +TUNE_FEATURES_tune-cortexr5f = "armrm cortexr5 vfpv3d16 callconvention-hard" +PACKAGE_EXTRA_ARCHS_tune-cortexr5f = "${TUNE_PKGARCH}" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-versal.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-versal.inc deleted file mode 100644 index 83acf6e08..000000000 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-versal.inc +++ /dev/null @@ -1,14 +0,0 @@ -DEFAULTTUNE ?= "aarch64" -SOC_FAMILY ?= "versal" - -# Available SOC_VARIANT's for versal: -# virt - -SOC_VARIANT ?= "" - -require conf/machine/include/arm/arch-armv8.inc -require conf/machine/include/soc-family.inc - -# Linux Configuration -KERNEL_IMAGETYPE ?= "Image" - 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 deleted file mode 100644 index cbfa47b89..000000000 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc +++ /dev/null @@ -1,18 +0,0 @@ -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-armv8a.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/xilinx-soc-family.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/xilinx-soc-family.inc new file mode 100644 index 000000000..e6c62ccc6 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/xilinx-soc-family.inc @@ -0,0 +1,10 @@ +require conf/machine/include/soc-family.inc + +SOC_VARIANT ??= "" +MACHINEOVERRIDES =. "${@['', '${SOC_FAMILY}${SOC_VARIANT}:']['${SOC_VARIANT}' != '']}" + +SOC_FAMILY_ARCH ?= "${SOC_FAMILY}" +SOC_VARIANT_ARCH ?= "${SOC_FAMILY}${SOC_VARIANT}" + +PACKAGE_EXTRA_ARCHS_append = " ${SOC_FAMILY_ARCH}" +PACKAGE_EXTRA_ARCHS_append = "${@['', ' ${SOC_VARIANT_ARCH}'][d.getVar('SOC_VARIANT_ARCH') != d.getVar('SOC_FAMILY_ARCH')]}" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf index d79e4efd9..73f5b0468 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf @@ -11,14 +11,12 @@ TUNE_FEATURES_tune-microblaze += "v11.0 barrel-shift reorder pattern-compare mul MACHINE_FEATURES = "" USE_VT = "" -SERIAL_CONSOLE = "115200 ttyS0" +SERIAL_CONSOLES ?= "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 virtual/bootloader" -UBOOT_MACHINE ?= "microblaze-generic_config" +UBOOT_MACHINE = "microblaze-generic_defconfig" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-plm.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-plm.conf new file mode 100644 index 000000000..9ab8a46b2 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-plm.conf @@ -0,0 +1,10 @@ +DEFAULTTUNE ?= "microblaze" + +require conf/machine/include/soc-versal.inc + +# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities +AVAILTUNES += "microblaze" +TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" + +LINKER_HASH_STYLE_microblaze = "sysv" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-pmu.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-pmu.conf new file mode 100644 index 000000000..09fd3c805 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-pmu.conf @@ -0,0 +1,10 @@ +DEFAULTTUNE ?= "microblaze" + +require conf/machine/include/soc-zynqmp.inc + +# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities +AVAILTUNES += "microblaze" +TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" + +LINKER_HASH_STYLE_microblaze = "sysv" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-tc.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-tc.conf new file mode 100644 index 000000000..bc80ad754 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-tc.conf @@ -0,0 +1,541 @@ +require conf/multilib.conf +require conf/machine/include/microblaze/arch-microblaze.inc +require conf/machine/include/baremetal-tc.conf + +# ILP request an alternative machine dictionary +INHERIT += "xlnx-standalone" +PACKAGEQA_EXTRA_MACHDEFFUNCS .= '${@bb.utils.contains("TUNE_FEATURES", "64-bit", " xlnx_mb64_dict", "", d)}' + +# GNU hash style not supported +LINKER_HASH_STYLE_microblaze = "" + +# Define all of the multilibs supproted by this configuration +MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" + +MULTILIBS += "multilib:libmble" +MULTILIBS += "multilib:libmbbs" +MULTILIBS += "multilib:libmbp" +MULTILIBS += "multilib:libmbm" +MULTILIBS += "multilib:libmbfpd" +MULTILIBS += "multilib:libmbmfpd" +MULTILIBS += "multilib:libmbpm" +MULTILIBS += "multilib:libmbpfpd" +MULTILIBS += "multilib:libmbpmfpd" +MULTILIBS += "multilib:libmbbsp" +MULTILIBS += "multilib:libmbbsm" +MULTILIBS += "multilib:libmbbsfpd" +MULTILIBS += "multilib:libmbbsmfpd" +MULTILIBS += "multilib:libmbbspm" +MULTILIBS += "multilib:libmbbspfpd" +MULTILIBS += "multilib:libmbbspmfpd" +MULTILIBS += "multilib:libmblem64" +MULTILIBS += "multilib:libmblebs" +MULTILIBS += "multilib:libmblep" +MULTILIBS += "multilib:libmblem" +MULTILIBS += "multilib:libmblefpd" +MULTILIBS += "multilib:libmblemfpd" +MULTILIBS += "multilib:libmblepm" +MULTILIBS += "multilib:libmblepfpd" +MULTILIBS += "multilib:libmblepmfpd" +MULTILIBS += "multilib:libmblebsp" +MULTILIBS += "multilib:libmblebsm" +MULTILIBS += "multilib:libmblebsfpd" +MULTILIBS += "multilib:libmblebsmfpd" +MULTILIBS += "multilib:libmblebspm" +MULTILIBS += "multilib:libmblebspfpd" +MULTILIBS += "multilib:libmblebspmfpd" +MULTILIBS += "multilib:libmblem64bs" +MULTILIBS += "multilib:libmblem64p" +MULTILIBS += "multilib:libmblem64m" +MULTILIBS += "multilib:libmblem64fpd" +MULTILIBS += "multilib:libmblem64mfpd" +MULTILIBS += "multilib:libmblem64pm" +MULTILIBS += "multilib:libmblem64pfpd" +MULTILIBS += "multilib:libmblem64pmfpd" +MULTILIBS += "multilib:libmblem64bsp" +MULTILIBS += "multilib:libmblem64bsm" +MULTILIBS += "multilib:libmblem64bsfpd" +MULTILIBS += "multilib:libmblem64bsmfpd" +MULTILIBS += "multilib:libmblem64bspm" +MULTILIBS += "multilib:libmblem64bspfpd" +MULTILIBS += "multilib:libmblem64bspmfpd" + + +# Base configuration +# CFLAGS: +DEFAULTTUNE = "microblaze" + +AVAILTUNES += "microblaze" +BASE_LIB_tune-microblaze = "lib" +TUNE_FEATURES_tune-microblaze = "microblaze bigendian" +PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" + + +# le +# CFLAGS: -mlittle-endian +DEFAULTTUNE_virtclass-multilib-libmble = "microblazele" + +AVAILTUNES += "microblazele" +BASE_LIB_tune-microblazele = "lib/le" +TUNE_FEATURES_tune-microblazele = "microblaze" +PACKAGE_EXTRA_ARCHS_tune-microblazele = "${TUNE_PKGARCH}" + + +# bs +# CFLAGS: -mxl-barrel-shift +DEFAULTTUNE_virtclass-multilib-libmbbs = "microblazebs" + +AVAILTUNES += "microblazebs" +BASE_LIB_tune-microblazebs = "lib/bs" +TUNE_FEATURES_tune-microblazebs = "microblaze bigendian barrel-shift" +PACKAGE_EXTRA_ARCHS_tune-microblazebs = "${TUNE_PKGARCH}" + + +# p +# CFLAGS: -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmbp = "microblazep" + +AVAILTUNES += "microblazep" +BASE_LIB_tune-microblazep = "lib/p" +TUNE_FEATURES_tune-microblazep = "microblaze bigendian pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazep = "${TUNE_PKGARCH}" + + +# m +# CFLAGS: -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmbm = "microblazem" + +AVAILTUNES += "microblazem" +BASE_LIB_tune-microblazem = "lib/m" +TUNE_FEATURES_tune-microblazem = "microblaze bigendian multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazem = "${TUNE_PKGARCH}" + + +# fpd +# CFLAGS: -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbfpd = "microblazefpd" + +AVAILTUNES += "microblazefpd" +BASE_LIB_tune-microblazefpd = "lib/fpd" +TUNE_FEATURES_tune-microblazefpd = "microblaze bigendian fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazefpd = "${TUNE_PKGARCH}" + + +# m/fpd +# CFLAGS: -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbmfpd = "microblazemfpd" + +AVAILTUNES += "microblazemfpd" +BASE_LIB_tune-microblazemfpd = "lib/m/fpd" +TUNE_FEATURES_tune-microblazemfpd = "microblaze bigendian multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazemfpd = "${TUNE_PKGARCH}" + + +# p/m +# CFLAGS: -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmbpm = "microblazepm" + +AVAILTUNES += "microblazepm" +BASE_LIB_tune-microblazepm = "lib/p/m" +TUNE_FEATURES_tune-microblazepm = "microblaze bigendian pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazepm = "${TUNE_PKGARCH}" + + +# p/fpd +# CFLAGS: -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbpfpd = "microblazepfpd" + +AVAILTUNES += "microblazepfpd" +BASE_LIB_tune-microblazepfpd = "lib/p/fpd" +TUNE_FEATURES_tune-microblazepfpd = "microblaze bigendian pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazepfpd = "${TUNE_PKGARCH}" + + +# p/m/fpd +# CFLAGS: -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbpmfpd = "microblazepmfpd" + +AVAILTUNES += "microblazepmfpd" +BASE_LIB_tune-microblazepmfpd = "lib/p/m/fpd" +TUNE_FEATURES_tune-microblazepmfpd = "microblaze bigendian pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazepmfpd = "${TUNE_PKGARCH}" + + +# bs/p +# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmbbsp = "microblazebsp" + +AVAILTUNES += "microblazebsp" +BASE_LIB_tune-microblazebsp = "lib/bs/p" +TUNE_FEATURES_tune-microblazebsp = "microblaze bigendian barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazebsp = "${TUNE_PKGARCH}" + + +# bs/m +# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmbbsm = "microblazebsm" + +AVAILTUNES += "microblazebsm" +BASE_LIB_tune-microblazebsm = "lib/bs/m" +TUNE_FEATURES_tune-microblazebsm = "microblaze bigendian barrel-shift multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazebsm = "${TUNE_PKGARCH}" + + +# bs/fpd +# CFLAGS: -mxl-barrel-shift -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbbsfpd = "microblazebsfpd" + +AVAILTUNES += "microblazebsfpd" +BASE_LIB_tune-microblazebsfpd = "lib/bs/fpd" +TUNE_FEATURES_tune-microblazebsfpd = "microblaze bigendian barrel-shift fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazebsfpd = "${TUNE_PKGARCH}" + + +# bs/m/fpd +# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbbsmfpd = "microblazebsmfpd" + +AVAILTUNES += "microblazebsmfpd" +BASE_LIB_tune-microblazebsmfpd = "lib/bs/m/fpd" +TUNE_FEATURES_tune-microblazebsmfpd = "microblaze bigendian barrel-shift multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazebsmfpd = "${TUNE_PKGARCH}" + + +# bs/p/m +# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmbbspm = "microblazebspm" + +AVAILTUNES += "microblazebspm" +BASE_LIB_tune-microblazebspm = "lib/bs/p/m" +TUNE_FEATURES_tune-microblazebspm = "microblaze bigendian barrel-shift pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazebspm = "${TUNE_PKGARCH}" + + +# bs/p/fpd +# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbbspfpd = "microblazebspfpd" + +AVAILTUNES += "microblazebspfpd" +BASE_LIB_tune-microblazebspfpd = "lib/bs/p/fpd" +TUNE_FEATURES_tune-microblazebspfpd = "microblaze bigendian barrel-shift pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazebspfpd = "${TUNE_PKGARCH}" + + +# bs/p/m/fpd +# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbbspmfpd = "microblazebspmfpd" + +AVAILTUNES += "microblazebspmfpd" +BASE_LIB_tune-microblazebspmfpd = "lib/bs/p/m/fpd" +TUNE_FEATURES_tune-microblazebspmfpd = "microblaze bigendian barrel-shift pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazebspmfpd = "${TUNE_PKGARCH}" + + +# le/m64 +# CFLAGS: -mlittle-endian -m64 +DEFAULTTUNE_virtclass-multilib-libmblem64 = "microblazele64" + +AVAILTUNES += "microblazele64" +BASE_LIB_tune-microblazele64 = "lib/le/m64" +TUNE_FEATURES_tune-microblazele64 = "microblaze 64-bit" +PACKAGE_EXTRA_ARCHS_tune-microblazele64 = "${TUNE_PKGARCH}" + + +# le/bs +# CFLAGS: -mlittle-endian -mxl-barrel-shift +DEFAULTTUNE_virtclass-multilib-libmblebs = "microblazelebs" + +AVAILTUNES += "microblazelebs" +BASE_LIB_tune-microblazelebs = "lib/le/bs" +TUNE_FEATURES_tune-microblazelebs = "microblaze barrel-shift" +PACKAGE_EXTRA_ARCHS_tune-microblazelebs = "${TUNE_PKGARCH}" + + +# le/p +# CFLAGS: -mlittle-endian -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmblep = "microblazelep" + +AVAILTUNES += "microblazelep" +BASE_LIB_tune-microblazelep = "lib/le/p" +TUNE_FEATURES_tune-microblazelep = "microblaze pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazelep = "${TUNE_PKGARCH}" + + +# le/m +# CFLAGS: -mlittle-endian -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblem = "microblazelem" + +AVAILTUNES += "microblazelem" +BASE_LIB_tune-microblazelem = "lib/le/m" +TUNE_FEATURES_tune-microblazelem = "microblaze multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazelem = "${TUNE_PKGARCH}" + + +# le/fpd +# CFLAGS: -mlittle-endian -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblefpd = "microblazelefpd" + +AVAILTUNES += "microblazelefpd" +BASE_LIB_tune-microblazelefpd = "lib/le/fpd" +TUNE_FEATURES_tune-microblazelefpd = "microblaze fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelefpd = "${TUNE_PKGARCH}" + + +# le/m/fpd +# CFLAGS: -mlittle-endian -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblemfpd = "microblazelemfpd" + +AVAILTUNES += "microblazelemfpd" +BASE_LIB_tune-microblazelemfpd = "lib/le/m/fpd" +TUNE_FEATURES_tune-microblazelemfpd = "microblaze multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelemfpd = "${TUNE_PKGARCH}" + + +# le/p/m +# CFLAGS: -mlittle-endian -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblepm = "microblazelepm" + +AVAILTUNES += "microblazelepm" +BASE_LIB_tune-microblazelepm = "lib/le/p/m" +TUNE_FEATURES_tune-microblazelepm = "microblaze pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazelepm = "${TUNE_PKGARCH}" + + +# le/p/fpd +# CFLAGS: -mlittle-endian -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblepfpd = "microblazelepfpd" + +AVAILTUNES += "microblazelepfpd" +BASE_LIB_tune-microblazelepfpd = "lib/le/p/fpd" +TUNE_FEATURES_tune-microblazelepfpd = "microblaze pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelepfpd = "${TUNE_PKGARCH}" + + +# le/p/m/fpd +# CFLAGS: -mlittle-endian -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblepmfpd = "microblazelepmfpd" + +AVAILTUNES += "microblazelepmfpd" +BASE_LIB_tune-microblazelepmfpd = "lib/le/p/m/fpd" +TUNE_FEATURES_tune-microblazelepmfpd = "microblaze pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelepmfpd = "${TUNE_PKGARCH}" + + +# le/bs/p +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmblebsp = "microblazelebsp" + +AVAILTUNES += "microblazelebsp" +BASE_LIB_tune-microblazelebsp = "lib/le/bs/p" +TUNE_FEATURES_tune-microblazelebsp = "microblaze barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazelebsp = "${TUNE_PKGARCH}" + + +# le/bs/m +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblebsm = "microblazelebsm" + +AVAILTUNES += "microblazelebsm" +BASE_LIB_tune-microblazelebsm = "lib/le/bs/m" +TUNE_FEATURES_tune-microblazelebsm = "microblaze barrel-shift multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazelebsm = "${TUNE_PKGARCH}" + + +# le/bs/fpd +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblebsfpd = "microblazelebsfpd" + +AVAILTUNES += "microblazelebsfpd" +BASE_LIB_tune-microblazelebsfpd = "lib/le/bs/fpd" +TUNE_FEATURES_tune-microblazelebsfpd = "microblaze barrel-shift fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelebsfpd = "${TUNE_PKGARCH}" + + +# le/bs/m/fpd +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblebsmfpd = "microblazelebsmfpd" + +AVAILTUNES += "microblazelebsmfpd" +BASE_LIB_tune-microblazelebsmfpd = "lib/le/bs/m/fpd" +TUNE_FEATURES_tune-microblazelebsmfpd = "microblaze barrel-shift multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelebsmfpd = "${TUNE_PKGARCH}" + + +# le/bs/p/m +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblebspm = "microblazelebspm" + +AVAILTUNES += "microblazelebspm" +BASE_LIB_tune-microblazelebspm = "lib/le/bs/p/m" +TUNE_FEATURES_tune-microblazelebspm = "microblaze barrel-shift pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazelebspm = "${TUNE_PKGARCH}" + + +# le/bs/p/fpd +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblebspfpd = "microblazelebspfpd" + +AVAILTUNES += "microblazelebspfpd" +BASE_LIB_tune-microblazelebspfpd = "lib/le/bs/p/fpd" +TUNE_FEATURES_tune-microblazelebspfpd = "microblaze barrel-shift pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelebspfpd = "${TUNE_PKGARCH}" + + +# le/bs/p/m/fpd +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblebspmfpd = "microblazelebspmfpd" + +AVAILTUNES += "microblazelebspmfpd" +BASE_LIB_tune-microblazelebspmfpd = "lib/le/bs/p/m/fpd" +TUNE_FEATURES_tune-microblazelebspmfpd = "microblaze barrel-shift pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelebspmfpd = "${TUNE_PKGARCH}" + + +# le/m64/bs +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift +DEFAULTTUNE_virtclass-multilib-libmblem64bs = "microblazele64bs" + +AVAILTUNES += "microblazele64bs" +BASE_LIB_tune-microblazele64bs = "lib/le/m64/bs" +TUNE_FEATURES_tune-microblazele64bs = "microblaze 64-bit barrel-shift" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bs = "${TUNE_PKGARCH}" + + +# le/m64/p +# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmblem64p = "microblazele64p" + +AVAILTUNES += "microblazele64p" +BASE_LIB_tune-microblazele64p = "lib/le/m64/p" +TUNE_FEATURES_tune-microblazele64p = "microblaze 64-bit pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazele64p = "${TUNE_PKGARCH}" + + +# le/m64/m +# CFLAGS: -mlittle-endian -m64 -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblem64m = "microblazele64m" + +AVAILTUNES += "microblazele64m" +BASE_LIB_tune-microblazele64m = "lib/le/m64/m" +TUNE_FEATURES_tune-microblazele64m = "microblaze 64-bit multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazele64m = "${TUNE_PKGARCH}" + + +# le/m64/fpd +# CFLAGS: -mlittle-endian -m64 -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64fpd = "microblazele64fpd" + +AVAILTUNES += "microblazele64fpd" +BASE_LIB_tune-microblazele64fpd = "lib/le/m64/fpd" +TUNE_FEATURES_tune-microblazele64fpd = "microblaze 64-bit fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64fpd = "${TUNE_PKGARCH}" + + +# le/m64/m/fpd +# CFLAGS: -mlittle-endian -m64 -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64mfpd = "microblazele64mfpd" + +AVAILTUNES += "microblazele64mfpd" +BASE_LIB_tune-microblazele64mfpd = "lib/le/m64/m/fpd" +TUNE_FEATURES_tune-microblazele64mfpd = "microblaze 64-bit multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64mfpd = "${TUNE_PKGARCH}" + + +# le/m64/p/m +# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblem64pm = "microblazele64pm" + +AVAILTUNES += "microblazele64pm" +BASE_LIB_tune-microblazele64pm = "lib/le/m64/p/m" +TUNE_FEATURES_tune-microblazele64pm = "microblaze 64-bit pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazele64pm = "${TUNE_PKGARCH}" + + +# le/m64/p/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64pfpd = "microblazele64pfpd" + +AVAILTUNES += "microblazele64pfpd" +BASE_LIB_tune-microblazele64pfpd = "lib/le/m64/p/fpd" +TUNE_FEATURES_tune-microblazele64pfpd = "microblaze 64-bit pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64pfpd = "${TUNE_PKGARCH}" + + +# le/m64/p/m/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64pmfpd = "microblazele64pmfpd" + +AVAILTUNES += "microblazele64pmfpd" +BASE_LIB_tune-microblazele64pmfpd = "lib/le/m64/p/m/fpd" +TUNE_FEATURES_tune-microblazele64pmfpd = "microblaze 64-bit pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64pmfpd = "${TUNE_PKGARCH}" + + +# le/m64/bs/p +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmblem64bsp = "microblazele64bsp" + +AVAILTUNES += "microblazele64bsp" +BASE_LIB_tune-microblazele64bsp = "lib/le/m64/bs/p" +TUNE_FEATURES_tune-microblazele64bsp = "microblaze 64-bit barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bsp = "${TUNE_PKGARCH}" + + +# le/m64/bs/m +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblem64bsm = "microblazele64bsm" + +AVAILTUNES += "microblazele64bsm" +BASE_LIB_tune-microblazele64bsm = "lib/le/m64/bs/m" +TUNE_FEATURES_tune-microblazele64bsm = "microblaze 64-bit barrel-shift multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bsm = "${TUNE_PKGARCH}" + + +# le/m64/bs/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64bsfpd = "microblazele64bsfpd" + +AVAILTUNES += "microblazele64bsfpd" +BASE_LIB_tune-microblazele64bsfpd = "lib/le/m64/bs/fpd" +TUNE_FEATURES_tune-microblazele64bsfpd = "microblaze 64-bit barrel-shift fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bsfpd = "${TUNE_PKGARCH}" + + +# le/m64/bs/m/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64bsmfpd = "microblazele64bsmfpd" + +AVAILTUNES += "microblazele64bsmfpd" +BASE_LIB_tune-microblazele64bsmfpd = "lib/le/m64/bs/m/fpd" +TUNE_FEATURES_tune-microblazele64bsmfpd = "microblaze 64-bit barrel-shift multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bsmfpd = "${TUNE_PKGARCH}" + + +# le/m64/bs/p/m +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblem64bspm = "microblazele64bspm" + +AVAILTUNES += "microblazele64bspm" +BASE_LIB_tune-microblazele64bspm = "lib/le/m64/bs/p/m" +TUNE_FEATURES_tune-microblazele64bspm = "microblaze 64-bit barrel-shift pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bspm = "${TUNE_PKGARCH}" + + +# le/m64/bs/p/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64bspfpd = "microblazele64bspfpd" + +AVAILTUNES += "microblazele64bspfpd" +BASE_LIB_tune-microblazele64bspfpd = "lib/le/m64/bs/p/fpd" +TUNE_FEATURES_tune-microblazele64bspfpd = "microblaze 64-bit barrel-shift pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bspfpd = "${TUNE_PKGARCH}" + + +# le/m64/bs/p/m/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64bspmfpd = "microblazele64bspmfpd" + +AVAILTUNES += "microblazele64bspmfpd" +BASE_LIB_tune-microblazele64bspmfpd = "lib/le/m64/bs/p/m/fpd" +TUNE_FEATURES_tune-microblazele64bspmfpd = "microblaze 64-bit barrel-shift pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bspmfpd = "${TUNE_PKGARCH}" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf index 00aede111..ed4e2acb6 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf @@ -12,6 +12,6 @@ MACHINE_FEATURES = "" KERNEL_IMAGETYPE = "linux.bin.ub" KERNEL_IMAGETYPES = "" -SERIAL_CONSOLE = "115200 ttyS0" +SERIAL_CONSOLES ?= "115200;ttyS0" EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf index 30afbd71b..f154197ac 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf @@ -12,6 +12,6 @@ MACHINE_FEATURES = "" KERNEL_IMAGETYPE = "linux.bin.ub" KERNEL_IMAGETYPES = "" -SERIAL_CONSOLE = "115200 ttyS0" +SERIAL_CONSOLES ?= "115200;ttyS0" EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf index 83c5fc1e5..c531dbb2e 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf @@ -2,27 +2,25 @@ #@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/soc-zynq.inc require conf/machine/include/machine-xilinx-default.inc MACHINE_FEATURES = "ext2 vfat usbhost" # u-boot configuration PREFERRED_PROVIDER_virtual/bootloader = "u-boot" -UBOOT_MACHINE = "zynq_microzed_config" +UBOOT_MACHINE = "xilinx_zynq_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" -UBOOT_ELF_zynq = "u-boot" +UBOOT_ELF = "u-boot" EXTRA_IMAGEDEPENDS += " \ u-boot-zynq-uenv \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " -SERIAL_CONSOLE = "115200 ttyPS0" +SERIAL_CONSOLES ?= "115200;ttyPS0" KERNEL_DEVICETREE = "zynq-microzed.dtb" 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 index f4ddb6dfd..3e5d623fd 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf @@ -11,15 +11,15 @@ TUNE_FEATURES_tune-microblaze += "v8.50 barrel-shift reorder pattern-compare div MACHINE_FEATURES = "" USE_VT = "" -SERIAL_CONSOLE = "115200 ttyS0" +SERIAL_CONSOLES ?= "115200;ttyS0" KERNEL_IMAGETYPE ?= "linux.bin.ub" # Use the networking setup from qemuarm +MACHINEOVERRIDES_prepend_pn-init-ifupdown = "qemuall:" 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" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf index c229dac65..17e83334b 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf @@ -6,27 +6,25 @@ # 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/soc-zynq.inc require conf/machine/include/machine-xilinx-default.inc MACHINE_FEATURES = "ext2 vfat usbhost usbgadget" # u-boot configuration PREFERRED_PROVIDER_virtual/bootloader = "u-boot" -UBOOT_MACHINE = "zynq_picozed_config" +UBOOT_MACHINE = "xilinx_zynq_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" -UBOOT_ELF_zynq = "u-boot" +UBOOT_ELF = "u-boot" EXTRA_IMAGEDEPENDS += " \ u-boot-zynq-uenv \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " -SERIAL_CONSOLE = "115200 ttyPS0" +SERIAL_CONSOLES ?= "115200;ttyPS0" MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf index 97251048f..8bccfde29 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf @@ -2,26 +2,39 @@ #@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/soc-zynq.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" +SERIAL_CONSOLES ?= "115200;ttyPS0" MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" +HDF_MACHINE = "zc702-zynq7" + # Use the networking setup from qemuarm +MACHINEOVERRIDES_prepend_pn-init-ifupdown = "qemuall:" 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@" - +QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic" +QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage" + +QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}" +QB_DEFAULT_FSTYPE = "cpio.gz.u-boot" +QB_DTB = "system.dtb" +QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw" + +# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) +QB_OPT_APPEND = " \ + -nographic -serial null -serial mon:stdio \ + -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-qemu-zynq7.cpio.gz.u-boot \ + -gdb tcp::9000 \ + -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \ + -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \ + -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \ + -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \ + -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \ + " 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 index 3a21eb78e..1ce632910 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf @@ -11,12 +11,11 @@ TUNE_FEATURES_tune-microblaze += "v8.00 bigendian barrel-shift pattern-compare m MACHINE_FEATURES = "" USE_VT = "" -SERIAL_CONSOLE = "115200 ttyUL0" +SERIAL_CONSOLES ?= "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" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/system-zcu102.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/system-zcu102.conf new file mode 100644 index 000000000..5d3bbd286 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/system-zcu102.conf @@ -0,0 +1,61 @@ +#@TYPE: Machine +#@NAME: system-zcu102 +#@DESCRIPTION: Machine supporting the architectures in the ZCU102 evaluation board. + +# This machine sets up a build for a heterogeneous architecture board. +# In this specific case, this refers to a zcu102-zynqmp board, which +# should build artifacts for the hard microblaze architecture, and the +# cortex-a53. + +# This is meant to be used as a base case and adapting it to +# other boards should be fairly simple. + +# To build a full system, simply invoke the command: +# $ bitbake <image> +# which is analogous to +# $ bitbake mc::<image> +# Where image can be core-image-minimal for example +# If a user wants to build a package for a certain architecture +# a similar command can be invoked, just changing the parameter +# between : and : to the desired multiconfig from one of the +# declared values below. +# For example, to build the xilstandalone library for the microblaze: +# $ bitbake mc:pmumc:xilstandalone +# or to build fsbl for cortexa53: +# $ bitbake mc:fsblmc:zyqmp-fsbl + + +# These artifacts are the pmu firmware along with the fsbl and the +# Linux OS respectively + +# Keep in mind that there would still be a wiring required to merge +# the artifacts from their respective deploy directories using bootgen. +BBMULTICONFIG = "fsblmc pmumc" + +# The following should be changed to the machine which corresponds to +# the architecture of a specific device, in this case cortexa53 +# But there are several hard coded expected values from several +# repos, e.g. linux-xlnx which expects a defconfig depending on +# the machine that is being used, as a TEMPORARY solution and +# to prove how multiconfig can be used to build a full system +# with heterogeneous architectures we'll use MACHINE=zcu102-zynqmp. + +# The downside is that this stills needs xsct and would technically +# build two pmu firmwrares and two fsbls, one coming from our +# multiconfig and one that uses xsct respectively, once the values +# mentioned above are fixed, this should work properly with: +# MACHINE = "cortexa53-zynqmp" + +MACHINE = "zcu102-zynqmp" +require conf/machine/${MACHINE}.conf + +# Use the same format for TMPDIR as in the other multiconfigs so its less confusing. +TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${TCLIBC}" + +# Create dependencies for Linux only, other multiconfig applications, +# can be built separately, e.g. bitbake mc:pmumc:pmufw +# in this case, linux cannot, also worth mentioning that these should +# eventually be set on a recipe level and would probably be useful to +# create a chain of dependencies: pmufw<-fsbl<-Linux +do_image[mcdepends] += "multiconfig::fsblmc:zynqmp-fsbl:do_deploy" +do_image[mcdepends] += "multiconfig::pmumc:pmufw:do_deploy"
\ No newline at end of file diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf new file mode 100644 index 000000000..045e9422c --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf @@ -0,0 +1,35 @@ +#@TYPE: Machine +#@NAME: ultra96-zynqmp +#@DESCRIPTION: Machine support for Ultra96 Evaluation Board. +# + +require conf/machine/include/soc-zynqmp.inc +require conf/machine/include/machine-xilinx-default.inc + +MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget wifi bluetooth mipi" + +UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig" +SPL_BINARY ?= "spl/boot.bin" + +SERIAL_CONSOLES ?= "115200;ttyPS0" + + +KERNEL_DEVICETREE = "xilinx/zynqmp-zcu100-revC.dtb" + +PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" +PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" + +EXTRA_IMAGEDEPENDS += " \ + u-boot-zynq-uenv \ + arm-trusted-firmware \ + virtual/boot-bin \ + virtual/bootloader \ + u-boot-zynq-scr \ + " +IMAGE_BOOT_FILES += " \ + uEnv.txt \ + atf-uboot.ub \ + boot.scr \ + " +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "linux-firmware-wl18xx" + diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/v350-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/v350-versal.conf new file mode 100644 index 000000000..6741e2f32 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/v350-versal.conf @@ -0,0 +1,29 @@ +#@TYPE: Machine +#@NAME: v350-versal +##@DESCRIPTION: Machine support for v350 versal. + +require conf/machine/include/soc-versal.inc +require conf/machine/include/machine-xilinx-default.inc + +MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" + +UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig" + +SERIAL_CONSOLES ?= "115200;ttyAMA0" + +EXTRA_IMAGEDEPENDS += " \ + arm-trusted-firmware \ + virtual/boot-bin \ + virtual/bootloader \ + virtual/psm-firmware \ + virtual/plm \ + u-boot-zynq-scr \ +" + +IMAGE_BOOT_FILES += " \ + boot.bin \ + ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ + Image \ + boot.scr \ +" + diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf new file mode 100644 index 000000000..f6337afa7 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf @@ -0,0 +1,71 @@ +#@TYPE: Machine +#@NAME: vc-p-a2197-versal +##@DESCRIPTION: Machine support for vc-p-a2197 versal . + +require conf/machine/include/soc-versal.inc +require conf/machine/include/machine-xilinx-default.inc +require conf/machine/include/machine-xilinx-qemu.inc + +MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" + +UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig" + +SERIAL_CONSOLES ?= "115200;ttyAMA0" + +# 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" + +EXTRA_IMAGEDEPENDS += " \ + arm-trusted-firmware \ + virtual/boot-bin \ + virtual/bootloader \ + virtual/psm-firmware \ + virtual/plm \ + u-boot-zynq-scr \ + qemu-devicetrees \ + virtual/cdo \ +" + +IMAGE_BOOT_FILES += " \ + boot.bin \ + system.dtb \ + Image \ + boot.scr \ +" +# This machine has a QEMU model, runqemu setup: +QB_MACHINE = "-M arm-generic-fdt" +QB_MEM = "-m 8G" +QB_DEFAULT_KERNEL = "none" +QB_NETWORK_DEVICE = "" +QB_KERNEL_CMDLINE_APPEND ?= "" +QB_NET = "none" + +QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd" +QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5" +QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw" + +# Use booti 80000 6000000 4000000 to launch +QB_OPT_APPEND ?= " -serial null -serial null -serial mon:stdio -display none" + +QB_OPT_APPEND_append_qemuboot-xilinx = " \ + -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-ps-vc-p-a2197-00.dtb \ + -display none \ + -net nic -net user,tftp=${DEPLOY_DIR_IMAGE} \ + " +# PLM instance args +QB_PLM_OPT = " \ + -M microblaze-fdt \ + -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \ + -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \ + -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \ + -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \ + -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ + -device loader,addr=0xF1110624,data=0x0,data-len=4 \ + -device loader,addr=0xF1110620,data=0x1,data-len=4 \ + -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-pmc-vc-p-a2197-00.dtb \ + -display none \ + " +QB_OPT_APPEND_append_qemuboot-xilinx = " -plm-args '${QB_PLM_OPT}'" + diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf new file mode 100644 index 000000000..6a453a2cb --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf @@ -0,0 +1,32 @@ +#@TYPE: Machine +#@NAME: vck-sc-zynqmp +##@DESCRIPTION: Machine support for vck190 system controller. + + +require conf/machine/include/soc-zynqmp.inc +require conf/machine/include/machine-xilinx-default.inc + +MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" + +UBOOT_MACHINE ?= "xilinx_zynqmp_virt_defconfig" +SPL_BINARY ?= "spl/boot.bin" + +SERIAL_CONSOLES ?= "115200;ttyPS0" + +# PMU instance args +PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" +PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" + +EXTRA_IMAGEDEPENDS += " \ + u-boot-zynq-uenv \ + arm-trusted-firmware \ + virtual/boot-bin \ + virtual/bootloader \ + u-boot-zynq-scr \ +" +IMAGE_BOOT_FILES += " \ + uEnv.txt \ + atf-uboot.ub \ + boot.scr \ +" + diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/vck190-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/vck190-versal.conf new file mode 100644 index 000000000..028c2b18e --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/vck190-versal.conf @@ -0,0 +1,77 @@ +#@TYPE: Machine +#@NAME: vck-versal +##@DESCRIPTION: Machine support for vck-versal . + +require conf/machine/include/soc-versal.inc +require conf/machine/include/machine-xilinx-default.inc +require conf/machine/include/machine-xilinx-qemu.inc + +MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" + +UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig" + +SERIAL_CONSOLES ?= "115200;ttyAMA0" + +# 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" + +EXTRA_IMAGEDEPENDS += " \ + arm-trusted-firmware \ + virtual/boot-bin \ + virtual/bootloader \ + virtual/psm-firmware \ + virtual/plm \ + u-boot-zynq-scr \ + qemu-devicetrees \ + virtual/cdo \ +" + +IMAGE_BOOT_FILES += " \ + boot.bin \ + ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ + Image \ + boot.scr \ +" +PLM_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb" +PLM_IMAGE_NAME ?= "plm-versal-mb" +PSM_FIRMWARE_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb" +PSM_FIRMWARE_IMAGE_NAME ?= "psm-firmware-versal-mb" + + +# This machine has a QEMU model, runqemu setup: +QB_MACHINE = "-M arm-generic-fdt" +QB_MEM = "-m 8G" +QB_DEFAULT_KERNEL = "none" +QB_NETWORK_DEVICE = "" +QB_KERNEL_CMDLINE_APPEND ?= "" +QB_NET = "none" + +QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd" +QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5" +QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw" + +# Use booti 80000 6000000 4000000 to launch +QB_OPT_APPEND ?= " -serial null -serial null -serial mon:stdio -display none" + +QB_OPT_APPEND_append_qemuboot-xilinx = " \ + -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-ps-vc-p-a2197-00.dtb \ + -display none \ + -net nic -net user,tftp=${DEPLOY_DIR_IMAGE} \ + " + +# PLM instance args +QB_PLM_OPT = " \ + -M microblaze-fdt \ + -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \ + -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \ + -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \ + -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \ + -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ + -device loader,addr=0xF1110624,data=0x0,data-len=4 \ + -device loader,addr=0xF1110620,data=0x1,data-len=4 \ + -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-pmc-vc-p-a2197-00.dtb \ + -display none \ + " +QB_OPT_APPEND_append_qemuboot-xilinx = " -plm-args '${QB_PLM_OPT}'" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-generic.conf new file mode 100644 index 000000000..9bf3593d4 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-generic.conf @@ -0,0 +1,81 @@ +#@TYPE: Machine +#@NAME: Generic versal +#@DESCRIPTION: versal devices + +require conf/machine/include/soc-versal.inc +require conf/machine/include/machine-xilinx-default.inc +require conf/machine/include/machine-xilinx-qemu.inc + +MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" + +EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native" + +UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig" + +SERIAL_CONSOLES ?= "115200;ttyAMA0" + +# 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" + +EXTRA_IMAGEDEPENDS += " \ + arm-trusted-firmware \ + virtual/boot-bin \ + virtual/bootloader \ + virtual/psm-firmware \ + virtual/plm \ + u-boot-zynq-scr \ + qemu-devicetrees \ + virtual/cdo \ +" + +IMAGE_BOOT_FILES += " \ + boot.bin \ + ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ + Image \ + boot.scr \ +" +PLM_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb" +PLM_IMAGE_NAME ?= "plm-versal-mb" +PSM_FIRMWARE_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb" +PSM_FIRMWARE_IMAGE_NAME ?= "psm-firmware-versal-mb" + +# We use the vc-p-a2197-00-versal DTB from the external-hdf. +HDF_MACHINE = "vc-p-a2197-00-versal" + +# This machine has a QEMU model, runqemu setup: +QB_MACHINE = "-M arm-generic-fdt" +QB_MEM = "-m 8G" +QB_DEFAULT_KERNEL = "none" +QB_NETWORK_DEVICE = "" +QB_KERNEL_CMDLINE_APPEND ?= "" +QB_NET = "none" + +QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd" +QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5" +QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw" + +# Use booti 80000 6000000 4000000 to launch +QB_OPT_APPEND ?= " -serial null -serial null -serial mon:stdio -display none" + +QB_OPT_APPEND_append_qemuboot-xilinx = " \ + -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-ps-vc-p-a2197-00.dtb \ + -display none \ + -net nic -net user,tftp=${DEPLOY_DIR_IMAGE} \ + " + +# PLM instance args +QB_PLM_OPT = " \ + -M microblaze-fdt \ + -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \ + -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \ + -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \ + -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \ + -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ + -device loader,addr=0xF1110624,data=0x0,data-len=4 \ + -device loader,addr=0xF1110620,data=0x1,data-len=4 \ + -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-pmc-vc-p-a2197-00.dtb \ + -display none \ + " +QB_OPT_APPEND_append_qemuboot-xilinx = " -plm-args '${QB_PLM_OPT}'" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-mb.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-mb.conf new file mode 100644 index 000000000..f40b8bca8 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-mb.conf @@ -0,0 +1,10 @@ +DEFAULTTUNE ?= "microblaze" + +require conf/machine/include/soc-versal.inc + +# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities +AVAILTUNES += "microblaze" +TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" + +LINKER_HASH_STYLE_microblaze = "" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/vmk180-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/vmk180-versal.conf new file mode 100644 index 000000000..99379c66c --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/vmk180-versal.conf @@ -0,0 +1,29 @@ +#@TYPE: Machine +#@NAME: vmk180-versal +##@DESCRIPTION: Machine support for vmk180-versal . + +require conf/machine/include/soc-versal.inc +require conf/machine/include/machine-xilinx-default.inc +require conf/machine/include/machine-xilinx-qemu.inc + +MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" + +UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig" + +SERIAL_CONSOLES ?= "115200;ttyAMA0" + +EXTRA_IMAGEDEPENDS += " \ + arm-trusted-firmware \ + virtual/boot-bin \ + virtual/bootloader \ + virtual/psm-firmware \ + virtual/plm \ + u-boot-zynq-scr \ +" + +IMAGE_BOOT_FILES += " \ + boot.bin \ + ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ + Image \ + boot.scr \ +" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf index 51dd2a9d5..3bdb215d0 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf @@ -5,24 +5,19 @@ SOC_VARIANT ?= "dr" -require conf/machine/include/tune-zynqmp.inc -require conf/machine/include/machine-xilinx-overrides.inc +require conf/machine/include/soc-zynqmp.inc require conf/machine/include/machine-xilinx-default.inc MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" -UBOOT_MACHINE = "xilinx_zynqmp_zc1254_revA_defconfig" +UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" -SERIAL_CONSOLE ?= "115200 ttyPS0" +SERIAL_CONSOLES ?= "115200;ttyPS0" -SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" KERNEL_DEVICETREE = "xilinx/zynqmp-zc1254-revA.dtb" -PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx" - PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" @@ -31,8 +26,10 @@ EXTRA_IMAGEDEPENDS += " \ arm-trusted-firmware \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " IMAGE_BOOT_FILES += " \ uEnv.txt \ atf-uboot.ub \ + boot.scr \ " diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf index fbd58a6e8..edd3cb2d4 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf @@ -8,43 +8,51 @@ # 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/soc-zynq.inc require conf/machine/include/machine-xilinx-default.inc require conf/machine/include/machine-xilinx-qemu.inc MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" # u-boot configuration -UBOOT_MACHINE = "zynq_zc702_config" +UBOOT_MACHINE = "xilinx_zynq_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" EXTRA_IMAGEDEPENDS += " \ u-boot-zynq-uenv \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " -SERIAL_CONSOLE = "115200 ttyPS0" +SERIAL_CONSOLES ?= "115200;ttyPS0" KERNEL_DEVICETREE = "zynq-zc702.dtb" IMAGE_BOOT_FILES += " \ boot.bin \ uEnv.txt \ + boot.scr \ " -# 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" +QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic" +QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage" + +QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}" +QB_DEFAULT_FSTYPE = "cpio.gz.u-boot" +QB_DTB = "system.dtb" +QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw" + +# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) +QB_OPT_APPEND = " \ + -nographic -serial null -serial mon:stdio \ + -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-zc702-zynq7.cpio.gz.u-boot \ + -gdb tcp::9000 \ + -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \ + -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \ + -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \ + -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \ + -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \ + " diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf index 741ef5de6..10b5e29c9 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf @@ -9,43 +9,50 @@ # 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/soc-zynq.inc require conf/machine/include/machine-xilinx-default.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" +UBOOT_MACHINE = "xilinx_zynq_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" EXTRA_IMAGEDEPENDS += " \ u-boot-zynq-uenv \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " -SERIAL_CONSOLE = "115200 ttyPS0" +SERIAL_CONSOLES ?= "115200;ttyPS0" KERNEL_DEVICETREE = "zynq-zc706.dtb" IMAGE_BOOT_FILES += " \ boot.bin \ uEnv.txt \ + boot.scr \ " -# 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" +QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic" +QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage" + +QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}" +QB_DEFAULT_FSTYPE = "cpio.gz.u-boot" +QB_DTB = "system.dtb" +QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw" + +# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) +QB_OPT_APPEND = " \ + -nographic -serial null -serial mon:stdio \ + -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-zc706-zynq7.cpio.gz.u-boot \ + -gdb tcp::9000 \ + -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \ + -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \ + -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \ + -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \ + -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \ + " diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf index 281110d96..edd932cd3 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf @@ -2,16 +2,13 @@ #@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/soc-zynqmp.inc require conf/machine/include/machine-xilinx-default.inc require conf/machine/include/machine-xilinx-qemu.inc MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" -UBOOT_MACHINE = "xilinx_zynqmp_zcu102_rev1_0_defconfig" +UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" # Default SD image build onfiguration, use qemu-sd to pad @@ -19,46 +16,39 @@ 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}" +SERIAL_CONSOLES ?= "115200;ttyPS0" KERNEL_DEVICETREE = "xilinx/zynqmp-zcu102-rev1.0.dtb" -PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx" - EXTRA_IMAGEDEPENDS += " \ u-boot-zynq-uenv \ arm-trusted-firmware \ qemu-devicetrees \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " IMAGE_BOOT_FILES += " \ uEnv.txt \ atf-uboot.ub \ + ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ + boot.scr \ " # 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 \ + -device loader,file=${DEPLOY_DIR_IMAGE}/system.dtb,addr=0x100000 \ " # Attach the rootfs disk image to the second SD interface of QEMU (which is SD0) @@ -68,8 +58,8 @@ 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" -PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" -PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" +PMU_FIRMWARE_DEPLOY_DIR ?= "${@ '${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu' if d.getVar('BMULTICONFIG') == 'pmu' else '${TOPDIR}/tmp/deploy/images/${MACHINE}'}" +PMU_FIRMWARE_IMAGE_NAME ?= "${@ 'pmu-firmware-zynqmp-pmu' if d.getVar('BBMULTICONFIG') == 'pmu' else 'pmu-zcu102-zynqmp'}" QB_PMU_OPT = " \ -M microblaze-fdt \ diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf index c4b4a0329..17a677fe3 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf @@ -5,24 +5,19 @@ SOC_VARIANT ?= "ev" -require conf/machine/include/tune-zynqmp.inc -require conf/machine/include/machine-xilinx-overrides.inc +require conf/machine/include/soc-zynqmp.inc require conf/machine/include/machine-xilinx-default.inc MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" -UBOOT_MACHINE = "xilinx_zynqmp_zcu104_revC_defconfig" +UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" -SERIAL_CONSOLE ?= "115200 ttyPS0" +SERIAL_CONSOLES ?= "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" - PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" @@ -31,10 +26,12 @@ EXTRA_IMAGEDEPENDS += " \ arm-trusted-firmware \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " IMAGE_BOOT_FILES += " \ uEnv.txt \ atf-uboot.ub \ + boot.scr \ " 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 index 136efb903..27ab2a98f 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf @@ -4,23 +4,18 @@ SOC_VARIANT ?= "ev" -require conf/machine/include/tune-zynqmp.inc -require conf/machine/include/machine-xilinx-overrides.inc +require conf/machine/include/soc-zynqmp.inc require conf/machine/include/machine-xilinx-default.inc MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" -UBOOT_MACHINE = "xilinx_zynqmp_zcu106_revA_defconfig" +UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" -SERIAL_CONSOLE = "115200 ttyPS0" -SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" +SERIAL_CONSOLES ?= "115200;ttyPS0" KERNEL_DEVICETREE = "xilinx/zynqmp-zcu106-revA.dtb" -PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx" - PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" @@ -29,11 +24,13 @@ EXTRA_IMAGEDEPENDS += " \ arm-trusted-firmware \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " IMAGE_BOOT_FILES += " \ uEnv.txt \ atf-uboot.ub \ + boot.scr \ " MACHINE_HWCODECS = "libomxil-xlnx" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf index 068e48903..24e96ad64 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf @@ -5,24 +5,19 @@ SOC_VARIANT ?= "dr" -require conf/machine/include/tune-zynqmp.inc -require conf/machine/include/machine-xilinx-overrides.inc +require conf/machine/include/soc-zynqmp.inc require conf/machine/include/machine-xilinx-default.inc MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" -UBOOT_MACHINE = "xilinx_zynqmp_zcu111_revA_defconfig" +UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" -SERIAL_CONSOLE ?= "115200 ttyPS0" +SERIAL_CONSOLES ?= "115200;ttyPS0" -SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" KERNEL_DEVICETREE = "xilinx/zynqmp-zcu111-revA.dtb" -PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx" - PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" @@ -31,8 +26,10 @@ EXTRA_IMAGEDEPENDS += " \ arm-trusted-firmware \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " IMAGE_BOOT_FILES += " \ uEnv.txt \ atf-uboot.ub \ + boot.scr \ " diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1275-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf index 1e5cd0d7a..2ac4004fc 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1275-zynqmp.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf @@ -1,27 +1,22 @@ #@TYPE: Machine -#@NAME: zc1275-zynqmp -#@DESCRIPTION: Machine support for ZC1275 Evaluation Board. +#@NAME: zcu1275-zynqmp +#@DESCRIPTION: Machine support for ZCU1275 Evaluation Board. # SOC_VARIANT ?= "dr" -require conf/machine/include/tune-zynqmp.inc -require conf/machine/include/machine-xilinx-overrides.inc +require conf/machine/include/soc-zynqmp.inc require conf/machine/include/machine-xilinx-default.inc MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" -UBOOT_MACHINE = "xilinx_zynqmp_zc1275_revB_defconfig" +UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" -SERIAL_CONSOLE ?= "115200 ttyPS0" +SERIAL_CONSOLES ?= "115200;ttyPS0" -SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" -KERNEL_DEVICETREE = "xilinx/zynqmp-zc1275-revB.dtb" - -PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx" +KERNEL_DEVICETREE = "xilinx/zynqmp-zcu1275-revB.dtb" PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" @@ -31,8 +26,10 @@ EXTRA_IMAGEDEPENDS += " \ arm-trusted-firmware \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " IMAGE_BOOT_FILES += " \ uEnv.txt \ atf-uboot.ub \ + boot.scr \ " diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf index 04508540d..d7d41d4d8 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf @@ -5,24 +5,19 @@ SOC_VARIANT ?= "dr" -require conf/machine/include/tune-zynqmp.inc -require conf/machine/include/machine-xilinx-overrides.inc +require conf/machine/include/soc-zynqmp.inc require conf/machine/include/machine-xilinx-default.inc MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" -UBOOT_MACHINE = "xilinx_zynqmp_zc1275_revB_defconfig" +UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" -SERIAL_CONSOLE ?= "115200 ttyPS0" +SERIAL_CONSOLES ?= "115200;ttyPS0" -SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" KERNEL_DEVICETREE = "xilinx/zynqmp-zcu1285-revA.dtb" -PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx" - PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" @@ -31,8 +26,10 @@ EXTRA_IMAGEDEPENDS += " \ arm-trusted-firmware \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " IMAGE_BOOT_FILES += " \ uEnv.txt \ atf-uboot.ub \ + boot.scr \ " diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf new file mode 100644 index 000000000..c69b5f35b --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf @@ -0,0 +1,33 @@ +#@TYPE: Machine +#@NAME: zcu208-zynqmp +#@DESCRIPTION: Machine support for ZCU208 Evaluation Board. +# + +SOC_VARIANT ?= "dr" + +require conf/machine/include/soc-zynqmp.inc +require conf/machine/include/machine-xilinx-default.inc + +MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" + +UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig" +SPL_BINARY ?= "spl/boot.bin" + +SERIAL_CONSOLES ?= "115200;ttyPS0" + + +PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" +PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" + +EXTRA_IMAGEDEPENDS += " \ + u-boot-zynq-uenv \ + arm-trusted-firmware \ + virtual/boot-bin \ + virtual/bootloader \ + u-boot-zynq-scr \ + " +IMAGE_BOOT_FILES += " \ + uEnv.txt \ + atf-uboot.ub \ + boot.scr \ + " diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf new file mode 100644 index 000000000..4f07e0ea8 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf @@ -0,0 +1,33 @@ +#@TYPE: Machine +#@NAME: zcu216-zynqmp +#@DESCRIPTION: Machine support for ZCU216 Evaluation Board. +# + +SOC_VARIANT ?= "dr" + +require conf/machine/include/soc-zynqmp.inc +require conf/machine/include/machine-xilinx-default.inc + +MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" + +UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig" +SPL_BINARY ?= "spl/boot.bin" + +SERIAL_CONSOLES ?= "115200;ttyPS0" + + +PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" +PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" + +EXTRA_IMAGEDEPENDS += " \ + u-boot-zynq-uenv \ + arm-trusted-firmware \ + virtual/boot-bin \ + virtual/bootloader \ + u-boot-zynq-scr \ + " +IMAGE_BOOT_FILES += " \ + uEnv.txt \ + atf-uboot.ub \ + boot.scr \ + " diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf index 0b0a0de28..d731b6bb3 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf @@ -8,29 +8,27 @@ # 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/soc-zynq.inc require conf/machine/include/machine-xilinx-default.inc # u-boot configuration -UBOOT_MACHINE = "zynq_zed_config" +UBOOT_MACHINE = "xilinx_zynq_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" -UBOOT_ELF_zynq = "u-boot" EXTRA_IMAGEDEPENDS += " \ u-boot-zynq-uenv \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " -SERIAL_CONSOLE = "115200 ttyPS0" +SERIAL_CONSOLES ?= "115200;ttyPS0" KERNEL_DEVICETREE = "zynq-zed.dtb" IMAGE_BOOT_FILES += " \ boot.bin \ uEnv.txt \ + boot.scr \ " 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 index 87634fcc2..b6a21e4fc 100644 --- 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 @@ -5,30 +5,27 @@ # 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/soc-zynq.inc require conf/machine/include/machine-xilinx-default.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" +SERIAL_CONSOLES ?= "115200;ttyPS0" MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" -UBOOT_MACHINE = "zynq_zybo_config" +UBOOT_MACHINE = "xilinx_zynq_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" FORCE_PLATFORM_INIT = "1" -UBOOT_ELF_zynq = "u-boot" +UBOOT_ELF = "u-boot" EXTRA_IMAGEDEPENDS += " \ u-boot-zynq-uenv \ virtual/boot-bin \ virtual/bitstream \ virtual/bootloader \ + u-boot-zynq-scr \ " IMAGE_BOOT_FILES += " \ diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf index 732fa9435..d7af056a3 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf @@ -6,27 +6,25 @@ # 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/soc-zynq.inc require conf/machine/include/machine-xilinx-default.inc MACHINE_FEATURES = "ext2 vfat usbhost usbgadget" # u-boot configuration PREFERRED_PROVIDER_virtual/bootloader = "u-boot" -UBOOT_MACHINE = "zynq_zybo_config" +UBOOT_MACHINE = "xilinx_zynq_virt_defconfig" SPL_BINARY ?= "spl/boot.bin" -UBOOT_ELF_zynq = "u-boot" +UBOOT_ELF = "u-boot" EXTRA_IMAGEDEPENDS += " \ u-boot-zynq-uenv \ virtual/boot-bin \ virtual/bootloader \ + u-boot-zynq-scr \ " -SERIAL_CONSOLE = "115200 ttyPS0" +SERIAL_CONSOLES ?= "115200;ttyPS0" KERNEL_DEVICETREE = "zynq-zybo.dtb" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf index 12fd13881..0f38e32b0 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf @@ -1,11 +1,40 @@ #@TYPE: Machine -#@NAME: -#@DESCRIPTION: zynq devices +#@NAME: Generic Zynq +#@DESCRIPTION: Generic Zynq Device -require conf/machine/include/tune-zynq.inc -require conf/machine/include/machine-xilinx-overrides.inc +require conf/machine/include/soc-zynq.inc require conf/machine/include/machine-xilinx-default.inc +require conf/machine/include/machine-xilinx-qemu.inc MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget" EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native" + +UBOOT_MACHINE ?= "xilinx_zynq_virt_defconfig" + +SERIAL_CONSOLES ?= "115200;ttyPS0" + +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" + +HDF_MACHINE = "zc702-zynq7" + +QB_MEM = "-m 1024" +QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic" +QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage" + +QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}" +QB_DEFAULT_FSTYPE = "cpio.gz.u-boot" +QB_DTB = "system.dtb" +QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw" + +# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) +QB_OPT_APPEND = " \ + -nographic -serial null -serial mon:stdio \ + -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-zynq-generic.cpio.gz.u-boot \ + -gdb tcp::9000 \ + -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \ + -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \ + -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \ + -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \ + -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \ + " diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf index 98385d251..7aa01986e 100644 --- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf +++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf @@ -1,15 +1,82 @@ #@TYPE: Machine -#@NAME: +#@NAME: Generic zynqmp #@DESCRIPTION: zynqmp devices -require conf/machine/include/tune-zynqmp.inc -require conf/machine/include/machine-xilinx-overrides.inc +# CG is the lowest common demoninator, so use this by default +SOC_VARIANT ?= "cg" + +require conf/machine/include/soc-zynqmp.inc require conf/machine/include/machine-xilinx-default.inc require conf/machine/include/machine-xilinx-qemu.inc MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost" -PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native" - EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native" +UBOOT_MACHINE = "xilinx_zynqmp_virt_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_CONSOLES ?= "115200;ttyPS0" + +# We need a generic one that works with QEMU... +HDF_MACHINE = "zcu102-zynqmp" +KERNEL_DEVICETREE = "xilinx/zynqmp-zcu102-rev1.0.dtb" + +EXTRA_IMAGEDEPENDS += " \ + u-boot-zynq-uenv \ + arm-trusted-firmware \ + qemu-devicetrees \ + virtual/boot-bin \ + virtual/bootloader \ + u-boot-zynq-scr \ + " + +IMAGE_BOOT_FILES += " \ + uEnv.txt \ + atf-uboot.ub \ + ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ + boot.scr \ + " + +# This machine has a QEMU model, runqemu setup: +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@" + +# 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 \ + -device loader,file=${DEPLOY_DIR_IMAGE}/system.dtb,addr=0x100000 \ + " + +# 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=5" +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" +PMU_FIRMWARE_DEPLOY_DIR ?= "${@ '${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu' if d.getVar('BMULTICONFIG') == 'pmu' else '${TOPDIR}/tmp/deploy/images/${MACHINE}'}" +PMU_FIRMWARE_IMAGE_NAME ?= "${@ 'pmu-firmware-zynqmp-pmu' if d.getVar('BBMULTICONFIG') == 'pmu' else 'pmu-${MACHINE}'}" + +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=${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.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}'" + +do_write_qemuboot_conf[depends] += "u-boot-zynq-uenv:do_deploy" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/fsblmc.conf b/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/fsblmc.conf new file mode 100644 index 000000000..87bb56a8c --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/fsblmc.conf @@ -0,0 +1,8 @@ +MACHINE = "cortexa53-zynqmp" +DISTRO = "xilinx-standalone" +TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${TCLIBC}" + +# These should be temporary until the dtg repo has the correct design +HDF_BASE ?= "file://" +HDF_PATH ?= "${TOPDIR}/system.dsa" +HDF_EXT ?= "dsa" diff --git a/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/pmumc.conf b/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/pmumc.conf new file mode 100644 index 000000000..756ea94aa --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/pmumc.conf @@ -0,0 +1,8 @@ +MACHINE = "microblaze-pmu" +DISTRO = "xilinx-standalone" +TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${TCLIBC}" + +# These should be temporary until the dtg repo has the correct design +HDF_BASE ?= "file://" +HDF_PATH ?= "${TOPDIR}/system.dsa" +HDF_EXT ?= "dsa" |