aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-10-18shadow: Drop shadow hack/workaround for MicroBlazeNathan Rossi
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>
2017-10-18gcc-source_7.%.bbappend: Update/add patches for GCC 7Nathan Rossi
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>
2017-10-18Drop Xilinx v2016.x release recipesNathan Rossi
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>
2017-10-18zynqmp-pmu-config.inc: Restrict BPNs furtherNathan Rossi
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>
2017-10-02pmu-firmware: Make the recipe provide virtual/pmu-firmwareNathan Rossi
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>
2017-10-02ep108-zynqmp.conf: Remove ep108Manjukumar Matha
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>
2017-08-28pmu-rom_2017.1.bb: Recipe that deploys pmu-rom.elf from ZCU102 BSPNathan Rossi
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>
2017-08-28kc705-bitstream_2016.3.bb: Update to use the PetaLinux BSP bitstreamNathan Rossi
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>
2017-08-28xilinx-fetch-restricted.bbclass: Custom fetch task for restricted filesNathan Rossi
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>
2017-08-28README.md: Add paragraph for the 'xilinx' license flagNathan Rossi
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>
2017-08-27arm-trusted-firmware: Update ATF patches to match mainlineAlistair Francis
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>
2017-08-27zynqmp-pmu.bbclass: Fix issues with zynqmp-pmu and multilibNathan Rossi
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>
2017-08-27zynqmp-pmu-config.inc: Limit to specific recipesNathan Rossi
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>
2017-08-26linux-yocto_4.1.bbappend: Drop 4.1 and its patchNathan Rossi
linux-yocto 4.1 is no longer available in oe-core, so drop the append. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-08-26pmu-firmware: Create and deploy a binary firmware blobMike Looijmans
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>
2017-08-23arm-trusted-firmware: Fix a false positive out of boundsAlistair Francis
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>
2017-08-23arm-trusted-firmware: Fix a double const build errorAlistair Francis
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>
2017-08-20machine-xilinx-default.inc: Remove image_types_ubootAlistair Francis
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>
2017-08-20binutils: Remove MicroBlaze specific patchNathan Rossi
This patch is no longer required, the behaviour has been resolved. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-08-20glibc: Remove 2.25 bbappend and patchesNathan Rossi
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>
2017-07-11kernel-module-mali.bb: Update source locationBhargava Sreekantappa Gayathri
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>
2017-07-11feature-microblaze-versions.inc: Remove v7.* MicroBlaze CPU VersionsNathan Rossi
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>
2017-07-11meta: introduce bigendian instead of little-endian/big-endianMing Liu
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>
2017-06-20u-boot-zynq-uenv.bb: Enforce default load addressesNathan Rossi
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>
2017-06-08zybo-linux-bd-zynq7: Change gem0 phy to match kernel definitionNathan Rossi
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>
2017-06-03ep108-zynqmp: Re-enable 'qemuboot' image classNathan Rossi
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>
2017-06-03u-boot-xlnx.inc: Remove redefinition of package archManjukumar Matha
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>
2017-06-03xf86-video-armsoc_git.bb: Correct the dependency on libx11Manjukumar Matha
Change the dependency to virtual/libx11 Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
2017-06-03zcu102-zynqmp: Remove pinning of older kernel, u-boot and atf versionsNathan Rossi
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>
2017-06-03zcu102-zynqmp: Setup the use of multiarch QEMUNathan Rossi
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>
2017-06-03qemu-xilinx: Set the value of QEMU_TARGETS as opposed to defaultNathan Rossi
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>
2017-06-03qemu-xilinx-multiarch-helper-native: Recipe to provide a helper scriptNathan Rossi
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>
2017-06-03README.qemu.md: Add a README to detail PMU ROMNathan Rossi
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>
2017-06-03qemu-devicetrees: Deploying of MULTI_ARCH device treesNathan Rossi
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>
2017-06-03zcu102-zynqmp: Enable building of PMU recipes and build pmu firmwareNathan Rossi
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>
2017-06-03classes/zynqmp-pmu.bbclass: Create a extender class for the ZynqMP PMUNathan Rossi
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>
2017-06-03pmu-firmware: Create a recipe for the PMU firmware for PMU on ZynqMPNathan Rossi
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>
2017-06-03libgloss_2.5.0: Add libgloss recipeNathan Rossi
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>
2017-06-03newlib_2.5.0: Add recipe for the newlib libcNathan Rossi
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>
2017-05-30machine-xilinx-default.inc: Remove xserver-xorg-extension-glxManjukumar Matha
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>
2017-05-30zcu102-zynqmp.conf: Remove mali as machine featureManjukumar Matha
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>
2017-05-30arm-trusted-firmware: deploy versioned imagesManjukumar Matha
This patch modifies the deployed content to use versioned image names,while retaining unversioned symlinks. 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>
2017-05-30arm-trusted-firmware_git.bb: Make ATF machine independentManjukumar Matha
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>
2017-05-30feature-microblaze-versions.inc: Simplify version formatting functionsNathan Rossi
Simplify the functions used to generate the TUNE_CCARGS and PKGARCH version strings. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-05-30arch-microblaze.inc: Invert how the 'reorder' feature is used for v8.30Nathan Rossi
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>
2017-05-30zcu102-zynqmp: Enable all the zcu102 kernel device treesNathan Rossi
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>
2017-05-30linux/config: Update zynqmp config fragmentsNathan Rossi
Update the zynqmp config fragments, adding new drivers available in linux-xlnx as well as some mainline available drivers. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-05-30linux/config: Update zynq7 fragmentsNathan Rossi
Update the zynq7 fragments to include new configs available in linux-xlnx and mainline kernels. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-05-30*-zynq7: Change some boards to mainline U-Boot by defaultNathan Rossi
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>
2017-05-15kernel-module-mali.bb: Update MALI kernel module to r7p0Manjukumar Matha
Update kernel-module-mali to r7p0 version Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>