aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-01-12gcc-source: Add all Xilinx MicroBlaze GCC 7.2 patchesrockoNathan Rossi
Add all the Xilinx patches for MicroBlaze, this includes a number of bug fixes, testsuite fixes, feature improvements and additional feature support. Important changes: * v10.0 - CPU support * v10.0 - Bit-field instruction support * v10.0 - 8-stage pipeline aka 'frequency' optimized * Size optimized implementations for shift instructions Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2018-01-12binutils: Add all Xilinx MicroBlaze binutils 2.29 patchesNathan Rossi
Add all the Xilinx patches for MicroBlaze, this includes bug fixes, testsuite fixes (and workarounds) as well as additional features. A number of these changes are required to support additional Xilinx patches for MicroBlaze GCC. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-12-13meta-xilinx: Restructuring meta-xilinx to support multiple layersManjukumar Matha
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>
2017-12-06arch-microblaze.inc: Add 'frequency-optimized' tuneNathan Rossi
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>
2017-12-06arch-microblaze.inc: Add v10.0 conflict for bigendianNathan Rossi
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>
2017-12-06feature-microblaze-versions.inc: Rework and expand version conflictsNathan Rossi
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>
2017-12-06kc705-microblazeel: Updates to match v2017.3 bitstreamNathan Rossi
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>
2017-12-06kc705-bitstream_2017.3.bb: Update to v2017.3 KC705 bitstreamNathan Rossi
Update to the v2017.3 KC705 bitstream. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-12-04conf/machine: Add virtual/boot-bin dependency and set providerNathan Rossi
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>
2017-12-04u-boot-spl-zynq-init.inc: Add virtual/boot-bin providerNathan Rossi
Add back the PROVIDES for virtual/boot-bin and additionally improve the logic that enables the provide so that U-Boot can be built without providing virtual/boot-bin. In order for the u-boot recipe to provide virtual/boot-bin for Zynq and ZynqMP targets the selected provider for virtual/boot-bin must be the current u-boot (e.g. u-boot or u-boot-xlnx) or the provider must be unset. When u-boot provides virtual/boot-bin it is only enabling the deployment of boot.bin. In cases where it is not the provider it forcibly prevents the deployment of boot.bin. This ensures that the platform-init files are still provided even if SPL is not used for the boot.bin. Additionally for ZynqMP if u-boot is not providing the boot.bin do not depend on virtual/pmu-firmware. Since the boot.bin is what contains the pmu binary. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-12-04u-boot-xlnx: provide overrideable repo/branch plumbingManjukumar Matha
With these patches, top level component selection configuration can now easily override u-boot-xlnx source repositories and branches. Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-12-04arm-trusted-firmware: provide reconfigurable repo/branchManjukumar Matha
This commit adds the ability to override SRC_URI components individually via conf settings. Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-12-04device-tree.bb: Add variable to override device tree padding sizeManjukumar Matha
Add DT_PADDING_SIZE variable which can override the default setting. There are instances where it is necessary to change device tree padding size. Reviewed-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-12-04device-tree.bb: Provide override device tree directoryManjukumar Matha
Provide a way to override device tree work directory and include file directory, this might be particalarly helpful while using this recipes in other layers, for example in meta-xilinx-tools to override workdir and point it to dtg based build directory Reviewed-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-12-04device-tree.bb: Remove multiple inherit statementsManjukumar Matha
Merge all the inherit classes in a single line Reviewed-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-12-02qemu-devicetrees_2017.3.bb: Rewire QEMU devicetree recipeManjukumar Matha
Rewire so that we can update the Xilinx QEMU devicetree release just like other recipes Acked-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-12-02qemu-xilinx_2017.3.bb: Rewire QEMU recipe to adopt to Xilinx releasesManjukumar Matha
Rewire so that we can update the Xilinx QEMU releases just like other recipes Acked-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-30arm-trusted-firmware.inc: Remove stale FILESEXTRAPATHS_prependManjukumar Matha
Remove stale FILESEXTRAPATHS_prepend definition, this is not required since we dont have any patches to hold under files directory. Reviewed-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-29pmu-firmware: Fix the pmu-firmware providerManjukumar Matha
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>
2017-11-29zc706-zynq7: Add runqemu supportAlistair Francis
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>
2017-11-29zc702-zynq7: Add runqemu supportAlistair Francis
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>
2017-11-21zcu102-zynqmp: Setup runqemu to boot from an SD imageNathan Rossi
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>
2017-11-21u-boot-xlnx_2017.3: Fix QEMU SD boot partition setupNathan Rossi
Add a patch to fix the SD boot partition setup for QEMU targets such that instead of QEMU being special it defaults to the same behaviour as silicon/etc. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-21image-types-xilinx-qemu.bbclass: Add conversion type to pad for QEMUNathan Rossi
This image types class add the conversion type 'qemu-sd' to pad target images such that their size aligns with a 256K boundary. This is required due to how QEMU emulates SD cards from block devices, since QEMU truncates the size to match the 256K multiple of which SD cards advertise Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-21arm-trusted-firmware.inc: Deploy atf-uboot.ubNathan Rossi
This is the default name that U-Boot SPL uses to load ATF from, so it makes sense to deploy this by default instead of forcing all machines to define IMAGE_BOOT_FILES with a rename. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-21u-boot-xlnx.inc: For ZCU102 populate u-boot-spl.binNathan Rossi
u-boot-spl.bin is used for runqemu execution since boot.bin has a header it cannot be loaded such that the boot.bin image content is at its load address. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-21u-boot-zynq-uenv.bb: Rework into python task and support ZynqMPNathan Rossi
Rework the do_compile from shell appends into a python task such that special string content ('${..}' of u-boot environment vars) can be handed cleanly. Additionally rework some variables such that they can be overridden for zynq/zynqmp specific values, as well as allowing custom overrides to e.g. bootargs. This also adds support for differing image load types include Image (arm64), zImage, fitImage and the existing uImage. The u-boot cmd (boot*) is automatically selected depending on the type of KERNEL_IMAGETYPE. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-21zcu102-zynqmp: Update kernel device treesNathan Rossi
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>
2017-11-21zcu102-zynqmp: Use 'rev 1.0' U-Boot config and deploy boot.binNathan Rossi
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>
2017-11-21Update recipes for Xilinx v2017.3 releaseNathan Rossi
Update the arm-trusted-firmware, pmu-firmware, u-boot-xlnx, linux-xlnx, qemu-xilinx and qemu-devicetrees recipes for to the 'xilinx-v2017.3' release tags. Drop/update existing patches where applicable. 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>
2017-11-21u-boot-spl-zynq-init.inc: Add ZynqMP PMU binary input supportNathan Rossi
Add support to provide the path of the PMU firmware to the U-Boot build via the CONFIG_PMUFW_INIT_FILE config so that the binary can be embedded into the boot.bin output where support is available (e.g. u-boot-xlnx). Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-21u-boot-spl-zynq-init.inc: Use task and rework logicNathan Rossi
Change the include so that is adds a task for platform-init setup when required. This avoids the need to modify the do_configure task which prevents changes to its taskhash and avoids issues with taskhash modification when the meta-xilinx layer is added but no configuration is changed or used from it. Improve the logic around how configs are detected such that UBOOT_MACHINE can specify either the make target or the defconfig file name (e.g. *_config or *_defconfig). U-Boot and u-boot.inc accept both targets as valid configs since the values are passed directory to U-Boot's kbuild/kconfig. This change also drops compatibility with the older variable names HAS_PS7INIT and FORCE_PS7INIT. Additionally the 'virtual/boot-bin' provide logic was broken in most cases since SPL_BINARY = "spl/boot.bin", so remove it. Clean up use of tabs in python. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-21device-tree: Setup COMPATIBLE_MACHINENathan Rossi
Setup COMPATIBLE_MACHINE for the device-tree recipe so that it is only available to machines that have provided sources/device-trees. The COMPATIBLE_MACHINE is defined by overrides to match any machine ('.*') which sets the targeted override. This allows for easy reuse of sources across similar machines. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-20zc70*-zynq7.conf: Remove rtc.sccManjukumar Matha
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>
2017-11-09tune-zynqmp.inc: Add default tune for multilib lib32 buildsManjukumar Matha
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>
2017-11-07device-tree: Populate the built device tree blobs into the sysrootNathan Rossi
Populate any built dtb's into the sysroot so that other recipes can use the output products. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-07pmu-rom_2017.3.bb: Update to use the v2017.3 pmu-rom from ZCU102 BSPNathan Rossi
Update to use the v2017.3 ZCU102 BSP for pmu-rom binary. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
2017-11-07zcu102-zynqmp.conf: Add serial consoles checkManjukumar Matha
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>
2017-10-18kernel-module-mali.bb: Add PM runtime barries after removing from suspendManjukumar Matha
Runtime PM suspend "put" results in addition of PM suspend API in work queue. This barrier API will remove it from the work queue. Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-10-18linux-yocto_4.4.bbappend: Drop patches for 4.4Nathan Rossi
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>
2017-10-18linux/xilinx-kmeta: Consolidate zybo-linux-bd-zynq7 configsNathan Rossi
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>
2017-10-18tune-*.inc: Remove KMACHINENathan Rossi
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>
2017-10-18linux-xlnx: Rework kernel config setupNathan Rossi
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>
2017-10-18linux-yocto: Rework kmeta/config for linux-yocto bbappendsNathan Rossi
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>
2017-10-18linux/xilinx-kmeta: Collapse xilinx-* kmeta directories into oneNathan Rossi
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>
2017-10-18linux/config: Rework kmeta based on kernel-cache mergeNathan Rossi
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>
2017-10-18u-boot-xlnx.inc: In certain cases the 'bc' command is neededNathan Rossi
Add bc-native as build time dependency Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-10-18gnu-config: No longer neededNathan Rossi
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>
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>