summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core/classes
Commit message (Collapse)AuthorAgeFilesLines
* various: Fix variable usageMark Hatle2024-11-211-6/+6
| | | | | | | | | | Remove most direct references to WORKDIR. S = "${WORKDIR}" is no longer allowed, adjust this to refer to UNPACKDIR ${WORKDIR}/package is also incorrect, adjust to ${PKGD}. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* xilinx-deprecated: Make it clear directly building *-generic is deprecatedMark Hatle2024-11-111-0/+4
| | | | | | | | | | | Print a message similar to: WARNING: The zynqmp-generic machine is intended to be included by other machines, it should not be used by itself. For a non-machine, SoC specific filesystem, please use one of the common machines defined in meta-xilinx-core. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* meta-xilinx-core: Move generic machines to be firmware-lessMark Hatle2024-09-131-9/+0
| | | | | | | | | | | | | Generic machines no longer depend on firmware (ESW) components. Thus they will now build a full Linux system, where possible, without XSCT or SDT modes. It is up to the specific machine.conf files to enable the correct build flow and that will enable the necessary firmware dependencies for the SoC. This also means HDF_MACHINES is no longer required. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* xilinx-deprecated: Only print a message if it's not blankMark Hatle2024-08-251-1/+2
| | | | | | | | | | Before all messages, even blank ones would be displayed. This made it difficult to have messages that only appeared sometimes. The standard yocto project behavior for messages is "" (blank) means no message, anything else gets displayed. Follow this behavior. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* xilinx-vars.bbclass: Skip Xilinx license warning for per-package license flagAdrian Fiergolski2024-07-171-1/+1
| | | | | | | | | As described in the README.md, user can enable the 'xilinx' license on a per-package basis (i.e. 'xilinx_pmu-rom-native') in LICENSE_FLAGS_ACCEPTED. This patch updates the license flag check to reflect that possibility. Signed-off-by: Adrian Fiergolski <Adrian.Fiergolski@fastree3d.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com> (cherry picked from commit ded63a5cd9cf05bb91f75d79f9d3e42cce99c04e) Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* amd_spi_image: Remove duplicate versionMark Hatle2024-05-281-142/+0
| | | | Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* Merge remote-tracking branch 'xilinx/rel-v2024.1' into master-nextMark Hatle2024-03-268-580/+0
|\ | | | | | | Signed-off-by: Mark Hatle <mark.hatle@amd.com>
| * classes: Move classes to match bbclass scope functionalitySandeep Gundlupet Raju2023-12-088-698/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move classes to classes-global or classes-recipe as appropriate to match bbclass scope functionality. Below is the list. classes-recipe: (inherited by recipes) amd_spi_image.bbclass dfx_user_dts.bbclass image-wic-utils.bbclass kernel-simpleimage.bbclass qemuboot-xilinx.bbclass xilinx-fetch-restricted.bbclass xilinx-platform-init.bbclass classes-global: (inherited globally) xilinx-microblaze.bbclass classes: (usage context is not clearly defined) gen-machine-conf.bbclass image-types-xilinx-qemu.bbclass xilinx-testimage.bbclass xilinx-vars.bbclass xilinx-deprecated.bbclass Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
| * classes: Deprecate fpgamanager_custom bbclassSandeep Gundlupet Raju2023-11-221-24/+0
| | | | | | | | | | | | | | | | | | Deprecate fpgamanager_custom.bbclass and this bbclass functionality is available in new dfx_user_dts.bbclass and going forward user should be using dfx_user_dts.bbclass. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
| * amd_spi_image: Move SPI image code into a bbclassJohn Toomey2023-09-111-0/+142
| | | | | | | | | | | | | | | | Create new bbclass with code for generating QSPI images for both Kria and System controller. Signed-off-by: John Toomey <john.toomey@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* | Merge remote-tracking branch 'github/rel-v2023.2' into master-nextMark Hatle2024-03-211-0/+142
|\ \ | | | | | | | | | Signed-off-by: Mark Hatle <mark.hatle@amd.com>
| * | amd_spi_image: Move SPI image code into a bbclassJohn Toomey2023-10-271-0/+142
| |/ | | | | | | | | | | | | | | | | | | Create new bbclass with code for generating QSPI images for both Kria and System controller. Signed-off-by: John Toomey <john.toomey@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com> (cherry picked from commit 88be418e0d5d1510da68217a32c4c922014cf899) Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* | Merge remote-tracking branch 'origin/rel-v2023.2' into nanbieldMark Hatle2023-10-232-175/+289
|\| | | | | | | Signed-off-by: Mark Hatle <mark.hatle@amd.com>
| * dfx_user_dts: Add support for bin and dts use caseSandeep Gundlupet Raju2023-08-171-40/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Add support for bin and single dts use case. 2. Skip reciep when both .bit and .bin files are used in SRC_URI. 3. Fix regular expression logic to handle .dts and .dtsi file search. For example if the file name is user-dts.dtsi then dts search count was set to one which results in build failures. 4. Skip devicetree do_compile task if input file is dtbo in SRC_URI for ZynqMP and Zynq-7000. 5. Using bootgen tool "-o" option user can specify output file name. Hence fix logic for .bin install as .bin file name doesn't have to be <filename>.bit.bin always. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
| * dfx_user_dts: Add support for single dts inputSandeep Gundlupet Raju2023-07-121-13/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | Add support for single dts and multiple dtsi use case. Also check for valid combination of dtsi and dts files in SRC_URI and following file combinations are not supported use case. 1. More than one '.dtsi' and zero '.dts' file. 2. More than one '.dts' and zero or more than one '.dtsi' file. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
| * fpgamanager_custom: Add deprecation warningsSandeep Gundlupet Raju2023-07-071-175/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | fpgamanager_custom bbclass will be deprecated in upcoming release. Users should start using dfx_user_dts bbclass for below firmware app. 1. Zynq-7000 iand ZynqMP full bitstream firmware app. 2. ZynqMP or Versal DFx Static firmware app. 3. ZynqMP or Versal DFx Partial firmware app. 4. Versal CSoC DFx Partial firmware app. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
| * dfx_user_dts: Rename fpgamanager_custom to dfx_user_dts bbclassSandeep Gundlupet Raju2023-07-071-0/+177
| | | | | | | | | | | | | | | | | | | | | | Currently fpgamanager bbclass name doesn't fit for all design use cases nd soc architecture. Since dfx manager tools is used for loading and unloading .bit or .pdi and dt overlay for both flat and dfx design, So it makes more appropriate to rename fpgamanager_custom.bbclass to dfx_user_dts.bbclass. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
| * fpgamanager_custom: Rename bootgen generated bit bin fileSandeep Gundlupet Raju2023-03-171-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of Zynq-7000, using both "-process_bitstream bin" and "-o" in bootgen flag to convert bit file to bin format, "-o" option will not be effective and generated output file name is ${S}+${BIT_PATH}/<bit_file_name>.bit.bin file which causes build errors. Hence we need to rename this file from <bit_file_name>.bit.bin to ${PN}.bit.bin which matches the firmware name in dtbo and move ${PN}.bit.bin to ${B} directory. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
| * fpgamanager_custom: Fix logic for deploying shell json fileSandeep Gundlupet Raju2023-03-151-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fpgamanager_custom bbclass allowed only accel.json file as user input from firmware recipes, if user want to use flat or DFx static design using shell.json, then shell.json is not deployed in rootfs/${nonarch_base_libdir}/firmware/xilinx/${PN} directory. Fix the logic to deploy shell.json (flat or DFx Static) or accel.json (DFx RP) for flat, DFx Static and DFx RP use cases. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com> (cherry picked from commit 6d3f12d1feee8b90f3dc72a05266fb3614788ced) Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* | image-types-xilinx-qemu.bbclass: Sync with rootfs naming of pokyMark Hatle2023-07-191-3/+3
| | | | | | | | | | | | | | | | In addition to the name change, poky examples include direct reference to the IMGDEPLOYDIR. Add this to ensure we're working off the correct files. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* | fpgamanager_custom: Rename bootgen generated bit bin fileSandeep Gundlupet Raju2023-03-171-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of Zynq-7000, using both "-process_bitstream bin" and "-o" in bootgen flag to convert bit file to bin format, "-o" option will not be effective and generated output file name is ${S}+${BIT_PATH}/<bit_file_name>.bit.bin file which causes build errors. Hence we need to rename this file from <bit_file_name>.bit.bin to ${PN}.bit.bin which matches the firmware name in dtbo and move ${PN}.bit.bin to ${B} directory. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com> (cherry picked from commit c9a98fe32be99654cae69dab524a744d898bf7a9) Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* | fpgamanager_custom: Fix logic for deploying shell json fileSandeep Gundlupet Raju2023-03-161-4/+8
|/ | | | | | | | | | | | | fpgamanager_custom bbclass allowed only accel.json file as user input from firmware recipes, if user want to use flat or DFx static design using shell.json, then shell.json is not deployed in rootfs/${nonarch_base_libdir}/firmware/xilinx/${PN} directory. Fix the logic to deploy shell.json (flat or DFx Static) or accel.json (DFx RP) for flat, DFx Static and DFx RP use cases. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* xilinx-deprecated: Using BOARD and BOARD_VARIANT is now an errorMark Hatle2023-01-251-1/+1
| | | | Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* image-types-xilinx-qemu: Adjust dependencyMark Hatle2023-01-231-1/+1
| | | | | | | | With previous changes, we're now using preferred provider for the qemu that the system is going to use. Switch to using the stock name so prefrerred provider will be evaluated. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* fpgamanager_custom: Generate .bit.bin when .dtsi found in source directoryRaju Kumar Pothuraju2023-01-171-1/+1
| | | | | | | | | Validating SRC_URI for .dtsi failing when it points to git url. Check .dtsi file exists or not in S directory and generate .bin.bin if found. Signed-off-by: Raju Kumar Pothuraju <rajukumar.pothuraju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* qemu-xilinx-system-native: Move pmu-rom enablement to recipeMark Hatle2023-01-161-0/+6
| | | | | | | | | | | | Setting the pmu-rom being required by QEMU within the machine.conf will cause the recipe's hash to change, which can cause a ripple effect causing other things to rebuild. Moving this to the recipe, and switching it on based on what licenses the user allows will avoid this conflict. Additionally add a warning message to the xilinx-vars.bbclass if the user has not enabled the license. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* fpgamanager_custom: Add support for dtsi and prebuilt dtboSandeep Gundlupet Raju2023-01-111-30/+105
| | | | | | | | | | | | | | | | | 1. Add support for prebuilt dtbo input from firmware recipe. 2. Add support for dtsi which is generated outside of dtg as input from from firmware recipe. 3. Add support for versal. bbclass can support three flows, flow is decided by user inputs in SRC_URI XSA + pl-partial-custom.dtsi -> dtg + dtc dtsi + bit/bin/pdi -> dtc (no xsct involved) dtbo + bit/bin/pdi -> none (no xsct involved) Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* xilinx-deprecated: Remove support for BOARD and BOARD VARIANTMark Hatle2023-01-061-56/+1
| | | | | | | | | | | We still warn the user. This will likely be moved to fatal in the near future, but this would impact some automated test cases so preserve it as a warning for now. Also remove all of the support infrastructure for the BOARD/BOARD_VARIANT values. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* Remove unused autologin variableJohn Toomey2022-12-201-1/+0
| | | | | Signed-off-by: John Toomey <john.toomey@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* qemuboot-xilinx: Return empty if soc_family not definedMark Hatle2022-12-161-0/+2
| | | | | | Fix an issue when soc_family is not defined that an exception was thrown. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* fpgamanager-custom: Remove zynqmp and zynq COMPATIBLE_MACHINE overridesChristian Kohn2022-12-151-2/+6
| | | | | | | | | | | Assignemnts like COMPATIBLE_MACHINE:zynqmp = ".*" won't allow recipes that inherit from this bbclass to restrict the COMPATIBLE_MACHINE via machine overrides. Therefore remove the COMPATIBLE_MACHINE assignments here and force downstream recipes set the desired value. Don't allow microblaze to use this bbclass. Also set PACKAGE_ARCH in this bbclass. Signed-off-by: Christian Kohn <chris.kohn@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* image-wic-utils.bbclass: Support subdirectory parsingMark Hatle2022-11-241-1/+4
| | | | | | | | | | | | | | | | Syntax for IMAGE_BOOT_FILES is <source>;<dest> where either or both source can include a directory. In the case of: devicetree/*.dtbo;devicetree/ The system will copy all of the contents (*.dtbo) from devicetree directory and place it into a corresponding devicetree directory (using the same filename) in the boot partition. The code wasn't paying attention to this directory syntax, which caused boot configuration errors. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* qemu-xilinx-helper-native: Remove, replace with standard upstream versionMark Hatle2022-11-241-10/+0
| | | | | | | | | qemu-system-helper contains support for general system items, there is no reason for us to provide our own version. We can then add a dependency for the specific xilinx multiarch component as needed to the system-native versions. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* Move gen-machine-conf to meta-xilinx-coreRaju Kumar Pothuraju2022-11-211-2/+2
| | | | | | | | | | | meta-xilinx/gen-machine-conf will not packed into eSDK as its not a layer moving to meta-xilinx-core. Signed-off-by: Raju Kumar Pothuraju <rajukumar.pothuraju@amd.com> Added a symlink for the gen-machine-conf directory Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* layer.conf: Gen-machine-conf supportRaju Kumar Pothuraju2022-11-211-0/+6
| | | | | | | | | | | Update layer.conf file to export the gen-machine-conf PATH. gen-machine-conf bbclass is to update the PATH in esdk. Signed-off-by: Raju Kumar Pothuraju <rajukumar.pothuraju@amd.com> Change from INHERIT to IMAGE_CLASSES Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* conf/machine: Better document inheritence expectationsMark Hatle2022-11-101-0/+26
| | | | | | | | | | | | | | | | See the README files for specific requirements, but we have designed the machine configurations into an inheritance model. This module can be further broken into 3 distinct categories of variables: 1 - Variables that MUST be declared BEFORE inheriting the base machine 2 - Variables that SHOULD be declared BEFORE inheriting the base machine, as they are commonly overridden. (This will need continual review.) 3 - All remaining variables that should only be declared in the machine .conf file, and MUST be declared AFTER inheriting the base machine. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* fpgamanager_custom: Remove LICENSE and LIC_FILES_CHKSUMChristian Kohn2022-08-021-3/+0
| | | | | | | | | | Don't set the LICENSE and LIC_FILES_CHKSUM variables as otherwise the values set at the recipe or inc file level don't get honored, depending on where the inherit line is placed in the file. The user shall explicitely set the LICENSE at the inc file or recipe level. Signed-off-by: Christian Kohn <chris.kohn@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* qemuboot-xilinx.bbclass: Defaults should be ?= as classes load after confMark Hatle2022-07-281-5/+5
| | | | | | | | | | | The conf file(s) should specify board specific defaults, but if left not set should fall back to what is implemented here. Since the load order is: machine.conf -> *-generic.conf -> xilinx-machine-qemu.conf ---| |--> inherits -> qemuboot-xilinx.bbclass Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* qemu-xilinx cleanupJohn Toomey2022-07-281-1/+118
| | | | | | | | | | | | | | | | | | | | | | | | | Refactor qemuboot-xilinx.bbclass and machine-xilinx-qemu.inc. Following the example of the core version of qemu.bbclass and match inc file. Refactor some of the functions to make them more readable. Specifically around qemu_rootfs_params. Code may not be as compact, but it'll be easier to read (and update) in the future. Add mising qemu-system-native PREFERRED_PROVIDER (and recipe PROVIDE). This resolves the issue where occasionally you use runqemu and the qemu binary appears to be missing. *-generic.conf: Remove overrides that are the same as the default qemu settings. Remove :append operations on QB_OPT_APPEND, this allows easy override when someone includes a generic machine. Signed-off-by: John Toomey <jtoomey@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> (cherry picked from commit b0baa647143aab6815af13cc9e66061c9e25a07c) Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* qemuboot-xilinx:machine-xilinx-default: Update kernel imagesRaju Kumar Pothuraju2022-06-271-0/+4
| | | | | | | | | For zynq,microblaze qemu supports direct kernel boot by specifying kernel image name to QB_DEFAULT_KERNEL. Adjusting the kernel image based on the bundle image selection. Signed-off-by: Raju Kumar Pothuraju <raju.kumar-pothuraju@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* image-types-xilinx-qemu: Add qemu-sd-fatimg supportRaju Kumar Pothuraju2022-06-271-3/+52
| | | | | | | | | | | | | | | | | | qemu-sd: Qemu 6.X onwards SD image should be of power of 2, this patch will read the generate qemu-sd image and find out its next power of 2 and adjust the size using qemu-img resize command. qemu-sd-fatimg: Due to circular dependencies in yocto when we enable INITRAMFS_IMAGE + wic and we need SD fat image to boot versal on qemu. For this added new image conversion type qemu-sd-fatimg, it will generate the sd fatimg containing boot.bin,boot.scr,rootfs.cpio.gz.u-boot files. Usage: IMAGE_FSTYPES += "cpio.gz.u-boot.qemu-sd-fatimg" NOTE: qemu-sd-fatimg creation is a workaround fix for circular dependencies. Signed-off-by: Raju Kumar Pothuraju <raju.kumar-pothuraju@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* fpgamanager_custom: Split SRC_URI with spaceRaju Kumar Pothuraju2022-02-281-4/+4
| | | | | | | | | | | | | Splitting with file:// is not extracting the file name when git path is in between (Ex: file://rp.xsa git://devicetree-xlnx.git file://base.tcl) with above example the xsa path will be "rp.xsa git://devicetree-xlnx.git" which is not proper. To fix this splitting the SRC_URI with space and removes the prefix 'file://'. Signed-off-by: Raju Kumar Pothuraju <raju.kumar-pothuraju@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* xilinx-microblaze.bbclass: Fail if meta-microblaze is not includedMark Hatle2022-01-232-16/+11
| | | | | | | | | | When the user uses a microblaze tune, we need to check if meta-microblaze is part of their build. If not stop, and tell them they need to add it. meta-microblaze is not a layers dependency as it is not needed for most builds. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* Deprecate BOARD and BOARD_VARIANT supportMark Hatle2021-12-221-0/+73
| | | | | | | If the BOARD and/or BOARD_VARIANT is set, continue to allow this to work, however warn the user it is deprecated. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* Initial restructure/split of meta-xilinx-bspMark Hatle2021-12-229-0/+284
Create a new meta-xilinx-core, move core functionality to the core, keeping board specific files in the bsp layer. zynqmp-generic changed from require <board> to include, so if meta-xilinx-bsp is not available it will not fail. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>