| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
Drop patches for the linux-yocto 4.4 kernel. This version of linux-yocto
does not have upstream configuration for meta-xilinx targets and is
superseded by 4.9 and newer kernels.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
Consolidate the BSP specific configs for the ZYBO Linux-BD BSP.
Move Xilinx DRM fragment under bsp/xilinx/soc/drivers-drm, this fragment
is currently only useful for linux-xlnx targets.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
| |
KMACHINE is now set by the kernel recipe, this is due to different
kernels providing different kmeta sources which can provide one or more
different KMACHINEs for a specific machine.
Additionally linux-xlnx no longer uses KMACHINEs and is defaulted to
the linux-xlnx trees defconfigs.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change reworks how the linux-xlnx kernel is configured, instead of
using kmeta fragments as the base config the kernel is instead
configured with defconfigs from the vendor tree. This has been the
default for zcu102-zynqmp and now extends to Zynq and MicroBlaze
targets.
Since linux-yocto.inc is still included by the linux-xlnx.inc, it is
possible to still use kmeta like .scc/.cfg fragments separately as well
as from a kmeta source. This is used by default to get the KC705 and
ZYBO Linux-BD kernel configuration fragments. Though fragments are
limited to the current in layer provided fragments by default.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Rework meta-xilinx specific appends for linux-yocto to configure
specific KMACHINE -> MACHINE pairs as well as setting up the
xilinx-kmeta directory for additional fragments.
Additionally pull out the MicroBlaze specific DEPENDS modificaation for
common use.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Collapse the existing xilinx-* kmeta directories into a single kmeta
directory.
At the same time remove all linux-xlnx specific kmeta, it is no longer
required as linux-xlnx is using defconfigs as baseline kernel
configuration.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A large portion of the kmeta in xilinx-common and xilinx-machine was
upstreamed into the linux-yocto kernel-cache and is no longer needed in
the meta-xilinx layer.
This change removes any fragments that are in the yocto-kernel-cache,
and reworks remaining configs for use with linux-yocto. Compatibly with
linux-xlnx is dropped due to favouring defconfigs.
This includes Zynq and MicroBlaze machine configs (excluding kc705 and
Zybo Linux-BD BSP), board common bsp/ fragments and a number of feature
fragments that are already available in the yocto kernel cache.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
| |
Add bc-native as build time dependency
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
| |
OE-Core currently defaults to gnu-config_git which points at a
2015-07-28 revision. This includes the MicroBlaze patch.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
| |
GCC patch is applied as fix to avoid #ident and .sdata symbol/locations
issues when generating with debug symbols.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
| |
Update existing patches for GCC 7 (and use backports where available),
and drop merged patches whilst adding some additional patches to fix
specific bugs.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These recipes were primarily kept to make the transition for ZynqMP from
Non PMU Firmware to PMU Firmware easier for users. However these
releases are now outdated (by at least a year) and users should have
already transitioned or sorted out a long term strategy if not.
This change also drops any patches that were only used/available for
these recipes.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
Restrict binutils and gcc to their -cross variant only. This prevents
world targets from selecting zynqmp-pmu-gcc/binutils which require more
dependencies.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the pmu-firmware recipe provide a non-prefixed
virtual/pmu-firmware. Due to the common use of a class extender the
PROVIDES variable will be remapped with the 'zynqmp-pmu-' prefix. In
order to ensure the provider is always without a prefix modify the
PROVIDES after the recipe has been parsed (and any class extender
mapping is already processed).
Additionally set the zcu102-zynqmp machine to use the
virtual/pmu-firmware target and set the zynqmp-pmu-pmu-firmware recipe
as the default provider.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
| |
Emulation Platform is no longer required, MPSoC is in production
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a recipe that extracts the pmu-rom.elf from the PetaLinux ZCU102
BSP. This recipe cannot fetch the BSP, but uses the
xilinx-fetch-restricted class to handle error cases and providing
information on how to manually fetch.
This recipe is marked with the 'xilinx' license flag due to its use of
content that has licensing/legal requirements.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This recipe was never updated when the rest of the configuration was
updated to be built for the PetaLinux v2016.3 BSP. This was due to
download access issues which were not resolved.
Instead of pointing at the old bitstream point at the download path on
Xilinx's servers which is restricted by account access, and using the
xilinx-fetch-restricted class to handle erroring properly and providing
user instructions for fetching the BSP file.
This recipe now also manually extracts the 'download.bit' from the BSP
and populates it into a package as well as the deploy directory.
The recipe is now marked with the 'xilinx' license flag due to its use
of content that has licensing/legal requirements.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This class overrides the default fetch task available from base.bbclass.
This overridden task prevents the downloading from URLs that match
against the 'xilinx.com/member/forms/download' which require user
credentials and may require agreement with EULAs, licenses, export
compliance, etc.
The overridden task does however allow fetching from PREMIRRORs, which
allows for pre-downloaded content to be accessed in an automated way.
When attempting to fetch the non-accessible files the fetch task will
error and present the user with a message informing them that they need
to manually download the content and the url which to download the
content from.
The purpose of this is to reduce the reliance on manual documentation
and or processes which instruct users to complete manual steps which can
be error prone, ambiguous and or just tedious. This also aims to make
automation easier by allowing use of pre-downloaded content or user
PREMIRRORs to access downloads.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This paragraph documents the existence of recipes that rely on closed or
otherwise restricted source content that can be used to compile images
for targets.
The content has specific licensing and legal requirements that are
outside the ability or sanity of enforcement in OpenEmbedded or Yocto
and as such is up to each individual user to review and comply with.
This might include EULA, Export Compliance, NDAs, Redistribution, etc.
Generally speaking this content is going to be protected by Xilinx's web
download service which requires an account.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
| |
Update the patches that we are holding in Yocto to reflect the commits
that have been accepted by the mainline ATF project.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using multilib the MULTILIB_VARIANTS variable is populated, this
triggers differing code paths in certain recipes. These are not desired
for the firmware building, since they modify the install paths.
Also set the DEFAULTTUNE to avoid changes to BASELIB/baselib when
multilib is used, as it attempts to set BASELIB based on 'tune-*'
overrides.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Limit the appending/enabling of the zynqmp-pmu BBCLASSEXTEND to only
specific recipes which are used for the building of pmu-firmware. This
is just binutils, gcc, newlib, libgloss and pmu-firmware itself.
The limiting is done based on the BPN of the recipe, which is not
provided as an override so the conditional is tested with an inline
python function.
This change removes the need for the extender class to be enabled
globally which can conflict with certain recipes that were not written
to be extended by the BBCLASSEXTEND mechanism. This change also improves
the parse time avoiding the need to parse all recipes for both target
and zynqmp-pmu.
Add comment for the PACKAGE_EXTRA_ARCHS setting, so it is clear why it
is set.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
| |
linux-yocto 4.1 is no longer available in oe-core, so drop the append.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The SPL based flow needs a raw firmware image instead of an ELF executable. Though
probably any objcopy version can perform this, it's better to have the actual
microblaze tool do the conversion, hence its inclusion in this recipe.
With this addition, it is possible to create a bootloader for the zynqmp
platforms based op opensource tools.
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This error is received while building
services/std_svc/psci/psci_common.c: In function 'psci_do_state_coordination':
services/std_svc/psci/psci_common.c:220:27: error: array subscript is above
array bounds [-Werror=array-bounds]
psci_req_local_pwr_states[pwrlvl - 1][cpu_idx] = req_pwr_state;
Patch 555ebb34db8f3424c1b394df2f10ecf9c1f70901 explains why the error
is seen and supposibly includes a fix. As the fix appears not to work,
let's disable the error checking.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
| |
Backport a mainline ATF patch to the Xilinx tree in order to fix the ATF
build.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
| |
This has changed in the meta layer and breaks the build, as it appears
it is no longer required just remove it.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
| |
This patch is no longer required, the behaviour has been resolved.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
| |
Remove the glibc 2.25 appends for MicroBlaze, glibc does not require any
additional patches for MicroBlaze since 2.26. The pt-vfork issue was
resolved in glibc 2.26.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
MALI kernel sources seems to have been moved, update recipe to download
source from a new location
Signed-off-by: Bhargava Sreekantappa Gayathri <bhargava.sreekantappa-gayathri@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Tested-by: Luca Ceresoli <luca@lucaceresoli.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These versions of the MicroBlaze CPU are now considerably outdated and
were obsoleted in 2012. Additionally they were only available with the
big endian configuration. Remove the v7.30 tune feature.
The s3adsp1800-qemu-microblazeeb machine emulates a v7.10.d cpu version,
however QEMU does not limit the CPU being emulated and provides all CPU
instructions and features that are available, so build targeting v8.00
instead.
Also fix up the version formatting generated by
microblaze_current_version.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The endianess of a specific architecture could be either big or little,
there is not a third value, so let it default to be little endian, and
get rid of the tune feature 'little-endian' which is redundant to be
there, also change tune feature 'big-endian' to 'bigendian'.
With these changes, it will behave same with all other architectures in
openembedded-core layer.
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
| |
There is differences in the value of *_load_address environment
variables between U-Boot versions (u-boot/u-boot-xlnx) as well as any
environment stored in spi flash. Instead of relying on correct
configuration being set, set the expected values in uEnv.txt to avoid
issues.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
| |
Change the device tree for the gem0 phy to match that of the kernel
device tree for ZYBO. This removes the compatible string and uses the
phy address of 0 (broadcast). This lets the kernel auto detect the phy
since there are no other devices on the MDIO bus for gem0.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Re-enable the 'qemuboot' image class which is used to generate
qemuboot.conf for the ep108-zynqmp machine. This used to be set by
machine-xilinx-qemu.inc but as of the 'qemuboot-xilinx.bbclass: Rework
qemu-xilinx setup' commit is no longer set by default. The same commit
setup other machines to use the 'qemuboot' image class directly but
skipped this machine.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
| |
PACKAGE_ARCH = "${MACHINE_ARCH}" is defined in u-boot.inc. Remove the
package arch here to be consistent with upstream
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
| |
Change the dependency to virtual/libx11
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
| |
Remove the version pinning to the older kernel, u-boot and
arm-trusted-firmware versions. These versions are now functional as
pmu-firmware can be built and executed for the zcu102 physical hardware
as well as within QEMU.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
Setup the qemuboot variables and qemu-xilinx-helper-native environment
to use the multiarch script to start a QEMU multiarch instance with the
MicroBlaze PMU.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some distro's set the value of QEMU_TARGETS with the '?=' operator, this
takes precedence over value being set in qemu-xilinx. This is
problematic as this can remove the MicroBlaze or AArch targets that are
used.
An example of a distro that sets this is poky.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This recipe provides a helper script which is executed instead of the
main qemu-system-aarch64 binary. This script is used to configure a
multiarch QEMU setup where a MicroBlaze PMU instance is running along
side the ZynqMP AArch64 instance.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a README for QEMU documentation and specifically add information
about the PMU ROM requirements for QEMU with ZynqMP/ZCU102. This details
the reason for the PMU Firmware + PMU ROM requirement as well as
documentation and link to get the PMU ROM in order to boot a ZCU102 QEMU
with runqemu.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
| |
Deploy the MULTI_ARCH specific device trees for use with QEMU.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
Enable the building of 'zynqmp-pmu' recipes, and setup the pmu-firmware
to be built for the image.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Koteswararao Nayudu <kotin@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This class is an extender class similar to native/nativesdk/multilib
that should be used with BBCLASSEXTEND.
The purpose of this class is to allow the building of recipes for the
ZynqMP PMU architecture along side building for the primary APU of the
ZynqMP. Which allows for building the PMU firmware itself as well as its
dependencies (e.g. newlib, libgloss).
This class is intended for use with binutils-cross, gcc-cross, newlib,
libgloss and pmu-firmware, but can be used globally. However there are
limitations of this class and functional behaviour beyond the intended
targets is not tested.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Koteswararao Nayudu <kotin@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create a recipe for the PMU firmware for the ZynqMP PMU. This firmware
is provided by the embeddedsw repo, and specifically uses the
'zynqmp_pmufw' application of the repo.
This build requires a MicroBlaze compiler with newlib, libgloss and
libgcc.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Koteswararao Nayudu <kotin@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a recipe for libgloss 2.5.0. This library is used to provide startup
code, and IO for baremetal targets. This is used by newlib to provide a
functional libc.
This library is used by the Xilinx standalone libraries/applications.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Koteswararao Nayudu <kotin@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
Add a recipe for newlib version 2.5.0 which provides a libc for embedded
targets. Specifically this is required for building programs using the
Xilinx standalone drivers/applications.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Koteswararao Nayudu <kotin@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
xserver-xorg-extension-glx is a software support, the performance is not
validate on Xilinx platform. Instead convert application to depend on
egl/gles1/gles2. MALI400 provides the required hardware acceleration
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove mali as machine feature. This is not required, any dependencies
on mali userspace libraries should be resolved through gles1/gles2/egl
preffered provider. for ex:
PREFERRED_PROVIDER_virtual/libgles1_zynqmp = "libmali-xlnx"
PREFERRED_PROVIDER_virtual/libgles2_zynqmp = "libmali-xlnx"
PREFERRED_PROVIDER_virtual/egl_zynqmp = "libmali-xlnx"
MALI userspace libraries inturn should depends on out-of-tree mali
kernel module.
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|