aboutsummaryrefslogtreecommitdiffstats
path: root/conf/machine/include
AgeCommit message (Collapse)Author
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-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-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-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-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-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-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-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-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-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-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-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-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-15machine-xilinx-default.inc: Remove version pinning for linux-xlnxNathan Rossi
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>
2017-04-28qemuboot-xilinx.bbclass: Rework qemu-xilinx setupNathan Rossi
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>
2017-04-26machine-xilinx-qemu.inc: Don't use MACHINE_DEVICETREE for dtb detectionNathan Rossi
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>
2017-04-26machine-xilinx-default.inc: Remove linux-yocto version pinningNathan Rossi
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>
2017-03-31arch-microblaze.inc: Consolidate MicroBlaze tune featuresNathan Rossi
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>
2017-03-31feature-microblaze-versions.inc: Clean up and consolidationNathan Rossi
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>
2017-03-09machine-xilinx-default.inc: Remove UBOOT_OFEMBED for UBOOT_BINARYNathan Rossi
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>
2017-02-16linux-xlnx: Update to the xilinx-v2016.4 releaseNathan Rossi
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>
2017-02-16zcu102-zynqmp: Default qemuboot to using Xilinx QEMUNathan Rossi
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>
2017-01-18machine-xilinx-qemu.inc: Add support for starting Xilinx's QEMUAlistair Francis
This patch adds support to the general include file to boot Xilinx's QEMU machines. Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-12-02machine-xilinx-default.inc: Add XSERVERManjukumar Matha
Add X org X server configurations, armsoc driver for zynqmp Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-11-19linux-xlnx_4.4: Drop this version it is supersededNathan Rossi
The v4.4/xilinx-v2016.2 version of the linux-xlnx kenrel is dropped in favour of the newer 4.6/xilinx-v2016.3 kernel. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-11-02feature-microblaze-*: Add Microblaze v10.0 IPManjukumar Matha
Add v10.0 IP for microblaze Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-10-11machine-xilinx-default.inc: Update default linux-yocto version to 4.8Nathan Rossi
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-10-11machine-xilinx-default.inc: Set UBOOT_OFEMBED for u-boot-xlnx-devNathan Rossi
The u-boot-xlnx-dev version of u-boot is the same as u-boot-xlnx source, it generates with OF_EMBED=y. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-10-11machine-xilinx-qemu.inc: Move common runqemu setup to includeNathan Rossi
Move the common setup for QEMU machines into an include call 'machine-xilinx-qemu.inc'. This include is added to any machine that has a QEMU model. It sets up common QB_* values as well as inheriting the qemuboot class and adding the EXTRA_IMAGEDEPENDS on qemu-native. This include also has helper functions to automatically determine the DTB from KERNEL_DEVICETREE/MACHINE_DEVICETREE and automatically setup the 'console=' kernel command line based on SERIAL_CONSOLE. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-08-17machine-xilinx-default.inc: Only recommend mali when machine has featureNathan Rossi
Only recommend the kernel-module-mali if the kernel provider is currently linux-xlnx and the current machine has the 'mali' feature. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-08-07machine-xilinx-default.inc: Only recommend mali module for linux-xlnxNathan Rossi
Only recommend the kernel-module-mali if the kernel provider is currently linux-xlnx. This is due to linux-xlnx providing the support for this external module, other kernels such as linux-yocto do not support it. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-08-07machine-xilinx-default.inc: Fix misspelled "kernel-module-mali"Mike Looijmans
The kernel module is named "kernel-module-mali", not "kernel-module-mali-modules" Fix this in machine-xilinx-default.inc. Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-05-26machine-xilinx-default.inc: Add MALI kernel moduleManjukumar Matha
Enable adding the MALI kernel module to the image for ZynqMP machines Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-05-18machine-xilinx-default.inc: Disable 'qemu-usermode' for MicroBlazeNathan Rossi
The qemu-usermode machine feature enables the ability for using QEMU linux-user during the host build. This allows for the distro feature gobject-introspection-data to use linux-user mode of QEMU to generate data. But this process is broken on MicroBlaze due to issues with glib and the MicroBlaze toolchain. This change disables the use of QEMU linux-user and is a workaround to avoid the execution of the gobject-introspection-data process which is default enabled in commonly used distros ('nodistro' and 'poky'). Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-05-13machine-xilinx-default.inc: uboot format is binManjukumar Matha
u-boot output is bin suffix format for KC705 microblaze Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-05-13feature-microblaze-*.inc: Updated to v9.6Manjukumar Matha
Update to the latest v9.6 tune feature Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-05-05machine-xilinx-default.inc: Update default linux-yocto version to 4.4Nathan Rossi
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-05-03machine-xilinx-default.inc: Default to v4.4 kernelManjukumar Matha
Default preferred version for Xilinx kernel is v4.4 Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-03-25machine-xilinx-default.inc: Handle 'u-boot-dtb.img' for ZynqNathan Rossi
Handle the case where mainline u-boot does not default to having the target device tree embedded into the u-boot ELF via OF_EMBED, which is default for the u-boot-xlnx source tree. Select the UBOOT_BINARY value based on the currently configured virtual/bootloader provider. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-03-06machine-xilinx-*.inc: Remove default append for 'device-tree'Nathan Rossi
* The device-tree recipe is not required for all machines or all boards, remove the default append to allow each machine to add the dependency when needed * Add the 'device-tree' as a machine RDEPEND for all machines that use the device-tree recipe to obtain the machines device tree output Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-03-06device-tree.bb: Move zynq7-base.dtsi into recipe sourceNathan Rossi
* Move zynq7-base.dtsi out of conf/machine/boards and into the files/ directory of the device-tree recipe * Also move the config from machine-xilinx-default.inc that includes the dtsi for zynq targets Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-02-29tune-zynq: Change ABI to hard-float with thumbManjukumar Matha
Zynq-7000 devices support hard-float with thumb-2 instruction set. Xilinx SDK toolchain with hard-float enabled will be available from v2016.1 release. Hence the ABI needs to change to match the toolchain. Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2016-01-06machine-xilinx-default.inc: Update default linux-xlnx to 4.0%Nathan Rossi
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2015-11-26Fix up UBOOT_BINARY for Zynq and setup SPL to load correctlyNathan Rossi
u-boot-xlnx 'xilinx-v2015.2' (fixed in newer versions) incorrectly sets the SPL image to load as 'u-boot-dtb.img' despite the images being built having embedded device trees (OF_EMBED=y). This change fixes this up so that there are no hacks to the u-boot recipes and no overrides to use the incorrectly named U-Boot image file. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>