| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed previously on mailing list, we are proceeding with layer
restructuring. For rocko release we will have the following layers
meta-xilinx
->meta-xilinx-bsp (current meta-xilinx)
->meta-xilinx-contrib
In the subsequent releases we will add other layers from Xilinx
meta-xilinx
->meta-xilinx-bsp (current meta-xilinx)
->meta-petalinux
->meta-xilinx-tools
->meta-xilinx-contrib
This will provide one clone to get all the required meta layers from
Xilinx for a complete solution, and the users can blacklist any layer
which they don't want to use using bblayer.conf.
This will enables us to help our vendors/partners to add their reference
designs, board definitions etc.
Recipe changes :
* Move reference design zybo-linux-bd.bb to meta-xilinx-contrib
* Move kernel patches realted to zybo-linux-bd-zynq7 board to
meta-xilinx-contrib
* Update README
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With MicroBlaze v10.0 an additional AREA_OPTIMIZED value of 2 was added
named Frequency. This optimization adds additional pipeline stages, and
code can be optimized differently to achieve better tuned performance
for these targets.
The '-mxl-frequency' flag has been added to GCC (not in mainline) to
enable specific tune optimizations for CPUs configured this way.
Whilst this tune does not change any ABI the addition of the 'fo'
package arch flag is added to allow for building both target optimized
and un-optimized without mixing packages.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
As of v10.0 MicroBlaze is no longer configurable as a bigendian CPU.
This change prevents the ability to configure the tunes of a MicroBlaze
machine with v10.0 and bigendian.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change removes the use of the python function to expand the
TUNECONFLICTS definitions for version tunes. Instead this is replaced
with hardcoded definitions. This is preferred due to reduced complexity
of the python code as well as streamlining the include, this is also
done to make the includes align better with expectations of tune
includes in OE-Core.
This change also moves the version conflicts for the reorder tune into
arch-microblaze.
Additional documentation is added to cover details of MicroBlaze CPU
versions, and the change between different version formats.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update the device tree and machine configuration to match the updated
bitstream.
The bitstream was updated to v10.0 of the MicroBlaze core although
mainline GCC does not currently support v10.0+. Additionally the design
now enables divide-hard feature support. Memory and device addresses are
unchanged.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add virtual/boot-bin to EXTRA_IMAGEDEPENDS for all Zynq and ZynqMP
targets that use the deployed boot.bin from U-Boot.
Set the default provider for virtual/boot-bin to the current
virtual/bootloader provider. This handles the differing
u-boot/u-boot-xlnx defaults and also sets up the default provider for
consumers of machine-xilinx-default.inc.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
| |
Fix the issue while switching between different pmu-firmware providers
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
| |
Add support for both mainline and Xilinx's QEMU.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
| |
Add support for both mainline and Xilinx's QEMU.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This sets up the zcu102-zynqmp machine to by default generate a padded
SD card image for which runqemu can use to boot from. This image
includes all the components that are expected from to boot and mirrors
the same requirements that the real board has.
The QEMU args are changed to default to the SD boot mode and only U-Boot
SPL is passed in as a ROM image to boot the QEMU instance.
This setup mimics the boot flow of the physical target where the Boot
ROM loads U-Boot SPL and the PMU Firmware from the boot.bin.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The linux-xlnx kernel no longer has a zynqmp-zcu102.dtb target, use the
zynqmp-zcu102-rev1.0.dtb target for the default device tree.
Drop the revB device tree, this is no longer required for QEMU and
production boards are rev 1.0.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
| |
Build the rev 1.0 version of U-Boot and setup the deployment of
boot.bin.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
After reworking the kmeta data based on kernel-cache merge, these
configurations are not valid anymore. Delete the error causing kernel
fargments.
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
On ZU+ machines, we set the default tune for the lib32 multilib
configuration.This allows users to select multilib by simply requiring
conf/multilib.conf in their build setups.
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Tested-by: Bhargava Sreekantappa Gayathri <bhargava.sreekantappa-gayathri@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
| |
There are instances when serial console check if required to disable
consoles when it is not defined by SERIAL_CONSOLES.
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Make arm-trusted-firmware machine independent
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
| |
Simplify the functions used to generate the TUNE_CCARGS and PKGARCH
version strings.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With Xilinx MicroBlaze v8.30 a configuration issue requires that the
'pattern-compare' feature is enable for the 'reorder' feature to be
correctly functional. Previously the MicroBlaze tune setup would assume
that 'pattern-compare' was available even when it may not actually be,
and would force enable the 'pattern-compare' feature automatically. This
behaviour is prone to issues and may emit broken binaries for a target
when the user was not aware or expected that there target CPU was
broken.
This change inverts the behaviour such that instead of implicitly
enabling the 'pattern-compare' feature it instead does not enable
generation of reorder instructions for the compiler by setting
'-mno-xl-reorder' in the same way as the case that the target does not
have the feature enabled.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable all of the available kernel device trees for the zcu102. This
includes the 'zcu102-zynqmp.dtb'.
The 'revB' device tree is kept as the first entry due to its use for
QEMU.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Tested-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Change the microzed-zynq7, picozed-zynq7 and zybo-zynq7 machines to use
the mainline U-Boot by default.
All these machines can be supported by the mainline U-Boot and do not
require any of the drivers/features that are only provided in the Xilinx
vendor tree (u-boot-xlnx).
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
| |
Remove the version pinning for linux-xlnx, this allows for using the
newest version available without needing to change the include.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
| |
Pin the versions of linux-xlnx, u-boot-xlnx and arm-trusted-firmware to
the version prior to xilinx-v2017.1. This is due to the added
requirement of pmu-firmware for xilinx-v2017.1. Currently it is not
possible to boot the zcu102-zynqmp machine in QEMU with the newer
versions due to missing the pmu rom as well as the pmu firmware itself.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
| |
Pin the preferred provider and version of the kc705-microblazeel machine
to u-boot-xlnx and Xilinx release version xilinx-v2016.4. This is due to
patches only available for this version of u-boot-xlnx.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a recipe to generate uEnv.txt environments for SD boot of Zynq
targets. This replaces the existing uEnv.txt for zc702/zedboard that
were manually created and populated only for u-boot-xlnx builds.
The generated uEnv.txt files also support auto loading of the fpga
bitstream before the kernel.
Also enable the use of this recipe for all *-zynq7 machines that use
U-Boot and have SD/eMMC available. And additionally setup
IMAGE_BOOT_FILES for these machines.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
| |
Use FORCE_PLATFORM_INIT, setting it to "1" to force U-Boot to use the
platform-init from a virtual/xilinx-platform-init provider.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
| |
Update the QB_MEM value to match the size of memory that is expected to
be emulated for the board. The ZCU102 board has 4GB of DRAM attached to
the PS.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change reworks how the meta-xilinx layer enables and provides the
custom version of QEMU based on Xilinx's fork of QEMU. The existing
implementation relied on the single sysroot which was changed in oe-core
such that now recipes have their own sysroots (RSS support).
Additionally oe-core now provides the QEMU binaries to the runqemu
script via the 'qemu-helper-native' recipes sysroot as opposed to the
image sysroot.
These rework changes allow for a single machine to select the targeted
QEMU version as well as to provide the qemuboot config specific to the
targeted QEMU version. The selection of QEMU version is now handled by
PREFERRED_PROVIDER mechanics with the meta-xilinx layer providing an
additional recipe that is equivalent to qemu-helper-native and which
also provides said target allowing for the machine to select via the use
of PREFERRED_PROVIDER_qemu-helper-native. This recipe
(qemu-xilinx-helper-native) however instead provides the sysroot
populated with qemu-xilinx instead of qemu.
Additionally the XILINX_QEMUBOOT variable is replaced with the
qemuboot-xilinx.bbclass, this provides the overrides for setting up
qemu-xilinx specific QB_* args. Additionally this bbclass points runqemu
at the qemu-xilinx-helper-native sysroot for QEMU binaries.
These changes also work towards making the meta-xilinx layer better
handle multiple qemuboot.conf variants as well as handling different
QEMU versions.
This change also removes the 'qemu-system-xilinx' MACHINE_FEATURES, this
is due to MACHINE_FEATURES no longer being available for native recipes.
Additionally there is no longer any logic that needs to know this any
way.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
| |
Avoid using the MACHINE_DEVICETREE variable for detection of the device
tree that needs to be loaded. Instead only rely on IMAGE_BOOT_FILES or
KERNEL_DEVICETREE.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the use of MACHINE_DEVICETREE for providing sources to
device-tree, instead provide the device tree sources as SRC_URI entires.
Whilst this was already being done automatically by the
MACHINE_DEVICETREE logic it also created a non-standard way of providing
the device tree sources to the recipe.
The setup of SRC_URI is done via the use of a device-tree.bbappend
instead of directly in the device-tree.bb recipe itself. This is for two
reason, separation of the source from the build logic as well as to
provide an example for how a user can extend the device-tree recipe to
provide custom device tree sources in their layer.
This change also moves the paths to the sources around, this is to align
the names of the directories to match the OVERRIDES so that when
expanding the file paths it will search the subdirs based on the
OVERRIDES or machine names.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
| |
Use the newest available on targets that default to using linux-yocto.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds the 'arch-microblaze.inc' architecture tune features
include which provides all the relevant tune features for MicroBlaze.
This include replaces the 'tune-microblaze-features.inc' include, which
is not actually a valid TUNE. This change results in the MicroBlaze tune
and tune feature include tree matching the layout of meta/.
This change additionally consolidates all the smaller includes
(feature-microblaze-*.inc) into larger sets or into the
arch-microblaze.inc. This makes the package arch string ordering much
clearer as well as removing the large number of variables uses to set
the TUNE_CCARGS.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up the MicroBlaze versions tunes as well and improve the
TUNECONFLICTS for version features so that the conflicts matrix is
automatically generated. Additionally consolidate the version features
into a single include.
Improve and generate the "-mcpu=" and package strings based on the
version feature.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
| |
Both u-boot-xlnx and u-boot (mainline) now agree on the name for the
output binary which includes the dtb. Additionally both versions load
'u-boot.img' from SPL. The UBOOT_OFEMBED variable and conditional value
setting are no longer needed.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
| |
Update the linux-xlnx recipe to point at the xilinx-v2016.4 release.
Note that this changes the naming convention for the .bb file, this has
no affect on the value of PV since it is specific in the recipe itself.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
|
|
|
|
|
|
| |
Currently the mainline QEMU is lacking full support for emulating the
ZCU102 board. So use the more functional Xilinx QEMU for this board.
Also reformat some of the appends to QB_* variables for clarity.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
|