Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Device Tree User DTSI Includes #62

Open
wants to merge 33 commits into
base: master
Choose a base branch
from

Conversation

mrberman87
Copy link

Allowing dtsi sources to utilize pre-processor to include dt-bindings header files

mhatle and others added 30 commits June 10, 2024 18:39
PV defaults to part of the FILE name

ESW_VER defaults to the same part of the FILE name

Both are intended to be overriden independently by the recipe, if necessary.
So remove the default value as it will already work as intended and avoid
future confusion.

Also cleanup the comment to explain why the remove is necessary.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Adjust the way the PREFERRED_VERSION happens to allow us to use the same
logic in layers that depend on this one.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Add preferred_version support to select different versions of the SDT
embeddedsw components.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Add QB_DEVICE_MODE variable to allow setting of QEMU boot mode - the
default value is unchanged but can be modified per machine

Signed-off-by: John Toomey <john.toomey@amd.com>

Add zynqmp boot-mode reference

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Add support for booting QEMU using a static BOOT.bin file (or OSPI file
with a boot.bin at offset 0x00000000) - the required firmware components
are extracted from the boot.bin and offsets read from the header using
bootgen.

Signed-off-by: John Toomey <john.toomey@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Set QEMU to boot using the static OSPI file when it is available.

Signed-off-by: John Toomey <john.toomey@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Create a new meta-xilinx-multimedia suplayer containing all of the
multimedia related recipes including those for the Xilinx specific fork
of GStreamer.

Signed-off-by: John Toomey <john.toomey@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Needs to be ported to a newer Scarthgap compatible version

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Create a new layer containing all code related to the Mali400 graphics
stack and software. This includes the Mali kernel module / patches,
libglu/libgles code, mesa, wayland, kernel recipe and udev rules. This
layer also includes a dynamic layer for the qt5 bbappends and patches.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Split the package so the libraries end up in a lib package.  Everything
else follows standard package split behavior.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Add symlink to old name for temporarily compatibility.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Follow the examples from meta-virtualization on how to enable bbappends and
set PREFERRED_VERSIONS.

This will require the user to set XILINX_WITH_ESW to some value.  Any value
will enable the components in this layer at this time.  We may choose to be
more selective in the future.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Ensure that each bbappend only applies when XILINX_WITH_ESW or a related
DISTRO is enabled.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
These machines have not been defined for a while, remove them.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
…dt layer

DTC_FLAGS and DT_INCLUDE should only be defined within the context of the
layer providing the device tree components.  It is obsolete in the generic
case.

Spit the COMPATIBLE_HOST, xilinx-freertos belongs in the SDT layer.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Clenaup and rework the code so that the 'generic' implementation no longers
affects xsct, or SDT (or future) variations.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
…hanges

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
…WITH_ESW

Set a default value for XILINX_WITH_ESW until gen-machine-conf can be
adjusted.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
The ramdisk does not have 'rootfs' in the name, fix this.

  ERROR: initramdisk-petalinux-initramfs-image-1.0-r0 do_install: Unable to find expected initramfs: petalinux-initramfs-image-vck-sc-zynqmp.rootfs.cpio.gz.u-boot

See:
  https://git.yoctoproject.org/poky/commit/meta/classes-recipe/image-artifact-names.bbclass?id=6f6c79029bc2020907295858449c725952d560a1

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
…used

bootbin_arg is only set if '-bootbin' is passed in, but is unconditionally
checked later in the script.  Set a default value of 'null' to avoid an
error about an undefined variable.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
The path specified is the internal firmware path.  This could be in a the
current deploy directory, a multiconfig deploy directory or some other place
directly specified by the user.

When using the sstate-cache, the build of the component in the a multiconfig
directory can be skipped, causing an error to find the component.

Instead we want to use OUR deploy directory, which will always have a copy
of the pmu firmware, no matter how it was constructed or packaged.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
When the glob '*_g.c' does not exist in the source code an exception could
occur.  Avoid this by checking if any files were found before looking for
the first file.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
These files are already part of scarthgap, remove the local copies.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
…_features

SOC_VARIANT has been remove, we are now only using the YP standard SOC_FAMILY
configuration.  The defined families are: zynq, zynqmp, versal and versal-net.

Our decision of breaking up versal-net from versal, is based on the SoC CPU
changes from cortexa72/r5 to cortexa78/r52, thus we're treating it as a
different SoC family.

In order to capture the individual capabilities that we used to handle via
SOC_VARIANT, we have defined the following features (some may have been
previously defined):
 - mali400 (zynqmp eg and ev)
 - vcu (zynqmp ev)
 - rfsoc (zynqmp dr RF capabiltiies)
 - aie - (versal ai & premium)
 - vdu - (versal ai)

SOC_VARIANT_ARCH and SOC_FAMILY_ARCH are now obsolete and replaced by
MACHINE_ARCH.  This is based on the guideline that any recipes that use
MACHINE_FEATURES should be MACHINE_ARCH specific.

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
mhatle and others added 3 commits June 10, 2024 20:17
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
@mhatle
Copy link
Collaborator

mhatle commented Jun 27, 2024

We're currently reviewing this to see if there are any use-cases that require the other syntax.

@mrberman87
Copy link
Author

If there are issues, I can add a second variable to do the same except with the #include instead of the /include/.

@grsandeep85
Copy link
Contributor

@mrberman87 I will cherry-pick your patches and run through our dfx and other use case if we find issue will let you know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants