From 9c546fff6df66a5fe6d682ddefe19e8944aa543d Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 8 Feb 2024 12:52:59 -0700 Subject: classes: Move classes to match bbclass scope functionality Move classes to classes-recipe as appropriate to match bbclass scope functionality. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../classes-recipe/esw.bbclass | 155 +++++++++++++++++++++ .../classes-recipe/esw_examples.bbclass | 36 +++++ .../classes/esw.bbclass | 155 --------------------- .../classes/esw_examples.bbclass | 36 ----- 4 files changed, 191 insertions(+), 191 deletions(-) create mode 100644 meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass create mode 100644 meta-xilinx-standalone-experimental/classes-recipe/esw_examples.bbclass delete mode 100644 meta-xilinx-standalone-experimental/classes/esw.bbclass delete mode 100644 meta-xilinx-standalone-experimental/classes/esw_examples.bbclass diff --git a/meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass b/meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass new file mode 100644 index 00000000..f13df66b --- /dev/null +++ b/meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass @@ -0,0 +1,155 @@ +PV = "${ESW_VER}" + +inherit python3native xlnx-embeddedsw pkgconfig cmake + +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, variant, d): + cmake_machine = fam + if (fam == 'zynqmp'): + cmake_machine = 'ZynqMP' + elif (fam == 'versal'): + cmake_machine = 'Versal' + if (variant == 'net'): + cmake_machine = 'VersalNet' + elif (fam == 'zynq'): + cmake_machine = 'Zynq' + return cmake_machine + +def get_xlnx_cmake_processor(tune, machine, variant, d): + cmake_processor = tune + if tune.startswith('microblaze'): + if (machine == 'psu_pmu_0'): + cmake_processor = 'pmu_microblaze' + elif (machine in [ 'psv_pmc_0', 'psx_pmc_0' ]): + cmake_processor = 'plm_microblaze' + else: + cmake_processor = 'microblaze' + elif (tune in [ 'cortexr5', 'cortexr5hf' ]): + cmake_processor = 'cortexr5' + elif (tune in [ 'cortexr52', 'cortexr52hf' ]): + cmake_processor = 'cortexr52' + elif tune.startswith('cortexa9'): + cmake_processor = 'cortexa9' + elif (tune in [ 'cortexa53', 'cortexa72-cortexa53' ]): + cmake_processor = 'cortexa53' + elif tune == 'cortexa72': + cmake_processor = 'cortexa72' + if (variant == 'net'): + cmake_processor = 'cortexa78' + return cmake_processor + +XLNX_CMAKE_MACHINE = "${@get_xlnx_cmake_machine(d.getVar('SOC_FAMILY'), d.getVar('SOC_VARIANT'), d)}" +XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('ESW_MACHINE'), d.getVar('SOC_VARIANT'), d)}" +XLNX_CMAKE_SYSTEM_NAME ?= "Generic" +XLNX_CMAKE_BSP_VARS ?= "" + +cmake_do_generate_toolchain_file:append() { + cat >> ${WORKDIR}/toolchain.cmake <> ${WORKDIR}/toolchain.cmake <