PV = "${ESW_VER}" inherit python3native xlnx-embeddedsw pkgconfig cmake # Override xlnx-embeddedsw with out version require conf/dtb-embeddedsw.inc SRCREV_FORMAT = "src_decouple" S = "${WORKDIR}/git" B = "${WORKDIR}/build" OECMAKE_SOURCEPATH = "${S}/${ESW_COMPONENT_SRC}" LICFILENAME = "license.txt" SPECFILE_PATH:arm = "${S}/scripts/specs/arm/Xilinx.spec" SPECFILE_PATH:aarch64 = "${S}/scripts/specs/arm/Xilinx.spec" SPECFILE_PATH:microblaze = "${S}/scripts/specs/microblaze/Xilinx.spec" ESW_MACHINE ?= "${MACHINE}" ESW_CFLAGS += "-specs=${SPECFILE_PATH}" inherit ccmake COMPATIBLE_HOST = ".*-elf" COMPATIBLE_HOST:arm = "[^-]*-[^-]*-eabi" CONFIG_DTFILE ??= "" DTS_FILE = "${DEPLOY_DIR_IMAGE}/devicetree/${@os.path.basename(d.getVar('CONFIG_DTFILE').replace('.dts','.dtb'))}" DEPENDS += "python3-pyyaml-native lopper-native device-tree python3-dtc-native" # We need the deployed output do_configure[depends] += "device-tree:do_deploy" do_compile[depends] += "device-tree:do_deploy" do_install[depends] += "device-tree:do_deploy" def get_xlnx_cmake_machine(fam, d): cmake_machine = fam if (fam == 'zynqmp'): cmake_machine = 'ZynqMP' elif (fam == 'versal'): cmake_machine = 'Versal' elif (fam == 'zynq'): cmake_machine = 'Zynq' return cmake_machine def get_xlnx_cmake_processor(tune, machine, d): cmake_processor = tune if tune.startswith('microblaze'): if (machine == 'psu_pmu_0'): cmake_processor = 'pmu_microblaze' elif (machine == 'psv_pmc_0'): cmake_processor = 'plm_microblaze' else: cmake_processor = 'microblaze' elif tune == 'cortexr5': cmake_processor = 'cortexr5' elif tune.startswith('cortexa9'): cmake_processor = 'cortexa9' elif (tune in [ 'cortexa53', 'cortexa72-cortexa53' ]): cmake_processor = 'cortexa53' elif tune == 'cortexa72': cmake_processor = 'cortexa72' return cmake_processor XLNX_CMAKE_MACHINE = "${@get_xlnx_cmake_machine(d.getVar('SOC_FAMILY'), d)}" XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('ESW_MACHINE'), d)}" XLNX_CMAKE_SYSTEM_NAME ?= "Generic" XLNX_CMAKE_BSP_VARS ?= "" cmake_do_generate_toolchain_file:append() { cat >> ${WORKDIR}/toolchain.cmake <