This is the Vivante kernel driver split from the kernel source code in
order to make it possible to be used in any kernel source since 3.10.53.
The driver source code provided by Freescale needs fixes so the
community forked the code to allow faster development and easier
integration of fixes from the community.
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/32cf391https://github.com/Freescale/meta-fsl-arm/commit/4249193
This package has been tested with the following commands:
# modprobe galcore
# cd /usr/share/examples/viv_samples/vdk/
# ./tutorial7
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Some heavily (and most often improperly) modified Linux kernels may export
new APIs to userland, so as to speak to custom hardware or custom kernel
facilities.
However, we currently have no easy way to use such kernels as a source
for the linux-headers package, which precludes having those userland
headers intalled for userland applications to use them.
We do have a way for the kernel to use the same version as for the
headers, but that is definitely not enough, as the linux-headers package
has a version choice that is far less versatile and capable than that of
the linux package.
Add a new option for the linux-headers package, for the user to specify
that the version (really, the sources) of the kernel be used to install
the headers from.
We do that by making linux-headers patch-depend on the linux package.
We can't have linux-header simply depend on linux, because the simple
dependency means the the dependee will be configured, built and installed
before the dependent is configured. And since linux is a target package,
it depends on the toolchain, which internally dependes on linux-headers,
which would depend on linux, and we'd get a circular dependency.
Using patch-depend will ensure that linux is extracted and patched
before linux-headers is extracted, which is really all we need.
Then, we install the headers from the linux source tree, rather than
from linux-headers' source tree (as there's nothing in there!).
Since we need to install a private set for uClibc (see cde947f, uclibc:
prevent rebuilding after installation to staging), we explicitly set
INSTALL_HDR_PATH when calling the kernel' install-headers rule in
LINUX_HEADERS_CONFIGURE_CMDS, so that the headers are installed in
linux-headers' $(@D) instead of linux' $(@D).
Finally, as there is no way to know the kernel version in this case, we
must still prompt the user for the kernel series the headers are from
(like we do for a custom version) and check for consistency at build
time.
Note however that this still leaves users that want to built their
such-kernel outside of Buildroot out in the cold.
[Peter: drop comment as suggested by Thomas]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Karoly Kasza <kaszak@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
In case of uClibc librt depends on libpthread. In particular
timer_create() function uses pthread_XXX(). That means in case
of static builds it's required to link not librt alone but
together with libpthread. So if checking timer_create function
in librt fails, it is necessary to check if timer_create function
successfully links with "-lpthread".
That issues was spotted in Buldroot autobuilder failures:
http://autobuild.buildroot.net/results/759/75960db671807091fe9155aee9e46a6245e32590/http://autobuild.buildroot.org/results/112/112e8b85783f5aaba42a937a6eb064317615a21b/
0005-build-sys-use-REALTIME_LIBS.patch is a back-port of upstream
b97edfe731
that won't apply cleanly on v2.27.1
0006-buildsys-fix-static-configuration-and-building.patch was just
applied upstream, see 71a77ca1dd
Both patches must be removed on util-linux version bump.
Signed-off-by: Lada Trimasova <ltrimas@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Binutils runs the configure scripts of subdirs at make time, so we need a
custom build command to ensure TARGET_CONFIGURE_ARGS are taken into
consideration for those (E.G. for musl gettext handling).
Reported-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The build error was not yet being found by the autobuilders.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
I stumbled across this error using a musl-based allyesconfig but I
doubt it is related to musl. The autobuilders did not catch this
problem yet but the patch I found fits my config (BR2_i386=y,
BR2_x86_i586=y) and it solved the problem right away.
[Peter: pick patches from upstream git instead of downloading from alphine]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
In some cases, the toolchain sources are now recovered and available in
the legal-info output. So, adapt the header to use conditional instead
of an definitive negation.
Also update the part about saving the sources: it's not the license list
that defines whether sources are installed, but rather whether the
package is redistributable or not.
Update the header accordingly.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Update to latest boundary-imx_3.14.28_1.0.0_ga commit which brings the
following additions:
- Fix cache functions export when !MULTI_CACHE
https://github.com/Freescale/linux-fslc/commit/6325d57
- Mandatory for Vivante kernel module
- Add TW686x video decoder support
- Fix OV5642 subdev/capture driver conflict
- Add GSLX680 touchscreen support
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The license is now provided in the package.
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/1195b71
The following xorg.conf was used in order to force the use of the
vivante module:
https://github.com/Freescale/meta-fsl-arm/blob/master/recipes-graphics
/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
Note that the X server must be started with the "noreset" option to
avoid crashes when closing X apps.
# X -noreset
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Upgrade to 5.0.11 P7.1 for i.MX6 with GPU
i.MX6QP qualified graphics driver(5.0.11P7.1).
Includes many of the bug fixes and stability improvements.
For more information refer to release notes from
http://www.freescale.com/imx6qp
libGAL_egl is no longer provided in p7.1.
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/b3ef125
This package has been tested with both X11 and Framebuffer backends:
# cd /usr/share/examples/viv_samples/vdk/
# apitrace trace --api egl ./tutorial7
# gmem_info
... display memory use per PID ...
# apitrace replay tutorial7.trace
# eglretrace tutorial7.trace
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
gst1-imx package links against libgstphotography for its imxv4l2src
plugin.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Changelog:
- Enable resolution change for H.263 and VP8
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/f11936b
This package has been implicitely tested through gstreamer as the
plugins rely on it for vpu decoding:
# gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipuvideosink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Changelog:
- Add h264 parser version.
- Support wide and 'ms 0x0 0x11' adpcm tag.
- Support hev1 tag for hevc video codec.
- TS segment fault.
- Improve mkv parser's loading time when create parser with large size
file.
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/6406ad4https://github.com/Freescale/meta-fsl-arm/commit/09a532chttps://github.com/Freescale/meta-fsl-arm/commit/371df94
This package has been implicitely tested through gstreamer as the 0.10
plugin relies on it:
# gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Changelog since 4.0.3:
- Add mx7 SoC support.
- Add test binary to release package.
- Fix segmentation fault issue with only standard build.
- Build std only for arm11 and arm12.
- Fix some mp3_dec noise issue of c code for arm11 and arm9.
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/47b2677https://github.com/Freescale/meta-fsl-arm/commit/c88fd22https://github.com/Freescale/meta-fsl-arm/commit/3220a4c
This package has been implicitely tested through gstreamer as the 0.10
plugin relies on it:
# gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As all the packages now have a version which doesn't depend on the BSP
version.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Change version to be independent of BSP version. This limits
confusion on future BSP updates that do not include imx-lib updates.
Changelog since 3.14.28-1.0.0_ga:
- Add i.MX 7D support.
- Change LICENSE file.
- Enable pxp libraries for i.MX 6UltraLite.
- Fix rng and shara2 to exclude the 6UL platform to avoid build breaks
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/b299454https://github.com/Freescale/meta-fsl-arm/commit/5f28af0
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Use a different versioning schema based on package versioning
instead of BSP version. This way, if a new BSP version does
not bump this package, we can keep this package unchanged as well.
Changelog since 3.14.28-1.0.0_ga:
- Add fixes for maximum ecc strength for each platform.
- Add mx7 boot config support.
- Add i.MX 6UltraLite support.
- Join the ecc with real FCB data when not byte-aligned.
- Generalize the encode_bch_ecc function for different configurations.
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/8d47a2ehttps://github.com/Freescale/meta-fsl-arm/commit/70edf16
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Use a different versioning schema based on package versioning
instead of BSP version. This way, if a new BSP version does
not bump this package, we can keep this package unchanged as well.
VPU firmware upgraded to v3.1.1_r46067
- Low Latency fixes for H.264 encoder
- Wrong frame number fix for H.264 decoder
- Decode failure fix for H.264 decoder with multi-SPS/PPS headers
The package adds the EPDC waveforms and the needed changes to properly
install those were done in the firmware-imx.mk file.
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/d869826https://github.com/Freescale/meta-fsl-arm/commit/075a5b1
This package has been implicitely tested through gstreamer as the
plugins rely on them for vpu decoding for instance:
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipuvideosink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
[Thomas:
- fix typo in commit logs
- remove ; \ and ; at the end of commands, since they were not
needed.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To match the previous kernel version bump.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: only add the symlink with the old 2014.09 Linaro toolchain,
for the newer ones, it is no longer needed.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Runtime tested with Qemu 2.3.1 using a configuration based on
qemu_arm_vexpress_defconfig with BR2_ARM_ENABLE_VFP and
BR2_ARM_EABIHF selected
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: only add the symlink with the old 2014.09 Linaro toolchain,
for the newer ones, it is no longer needed. This has been runtime
tested in Qemu.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
New release contains a security fix for the resolver library parts.
It contains exp10(), so some patches in buildroot might be obsolete,
when the buildroot toolchains are rebuilt.
It also contains a fix for the symbol clashing with bind9.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since we now only support uClibc-ng, remove the version selection from
the uclibc package.
Note that the BR2_UCLIBC_VERSION_SUPPORTS_* hidden booleans, which
were only used to allow each uClibc version to specify which thread
implementation they support and on which architecture are removed. Now
such architecture dependencies are directly encoded in the "Thread
library implementation" choice.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The snapshot version points to the original uClibc project, which is
dead. Moreover, we no longer support "snapshot" versions for any other
Buildroot component, so there is no reason to keep it for uClibc.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The upstream project is dead, the 0.9.33 version requires tons of
patches, and uclibc-ng has now successfully replaced uclibc. It is
time to get rid of the 0.9.33 version.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
samba4 relies on the $ORIGIN feature of the dynamic linker, which used
to not be implemented in old uClibc versions. However:
- this feature is supported by glibc
- this feature is supported by uClibc-ng, which is the only uClibc
version we are going to support
- this feature is supported by musl
Consequently, we can completely remove the dependency of samba4 on
certain C libraries.
Note that despite this commit, samba4 still cannot be chosen when the
musl C library is used, because samba4 requires native RPC support,
which musl doesn't provide.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
vlc uses <spawn.h> which was not available in old uClibc
versions. However, since we are removing support for uClibc 0.9.33, we
can get rid of such dependency. In addition, <spawn.h> is provided by
musl, and therefore VLC can be enabled with this C library.
Consequently, this commit completely removes any C library dependency for
the vlc package. The only special case that needs to be handled is the
Blackfin external toolchain from Analog Devices, which still uses an old
uClibc version that doesn't provide <spawn.h>, but as vlc uses fork() we add
a depends on BR2_USE_MMU (which covers the blackfin toolchain).
[Peter: add BR2_USE_MMU dependency]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
mongrel2 uses the {get,make,swap}context functions:
- With glibc, no problem, they are available on all supported
architectures
- With uClibc, they are available only on a subset of the
architectures. Until now, only BR2_UCLIBC_VERSION_SNAPSHOT
configurations were allowed to select mongrel2, but we are going to
get rid of the uClibc snapshot version, and uClibc-ng is as capable
as the uClibc snapshot. However, only certain architectures have
the *context() functions.
- With musl, there is no *context() support.
Since this dependency is quite complicated, we introduce a
BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS hidden boolean to encode which C
libraries are supported.
Also, listing the supported uClibc architectures would be too long in
the comment, so we simply indicate that the package needs uClibc or
glibc.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Due to posix_fallocate() being unavailable in uClibc 0.9.33,
lttng-babeltrace was marked as available only for uClibc snapshot and
glibc. However:
- lttng-babeltrace builds fine with musl
- lttng-babeltrace builds fine with uClibc-ng
- we're going to get rid of uClibc 0.9.33 support
- the only toolchain left with an old uClibc version is the Blackfin
Analog Devices toolchain, and lttng-babeltrace cannot be enabled on
non-MMU platforms
Conclusion: We can enable lttng-babeltrace on all C libraries, and no
longer require any condition. This commit adjusts the lttng-babeltrace
package accordingly.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The libunwind package currently dependency on glibc *or* uclibc
snapshot. However, we are going to remove the support for uclibc
snapshot, and uClibc-ng has equivalent functionality as uclibc
snapshot. Moreover, musl is also capable of building libunwind for
certain architectures.
Therefore, this commit reworks the architecture dependencies of
libunwind, to make it available on all architectures for which it is
supported, depending on the capabilities of the different C libraries,
and the implementation of libunwind on each architecture.
On some architectures, libunwind uses the C library *context()
functions, which are not provided by musl at all, and not provided by
uClibc on all architectures. But on some other architectures,
libunwind does not use the C library *context() functions, which
explains why it can be built with musl on such architectures.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Runtime tested with Qemu 2.3.1 using qemu_aarch64_virt_defconfig.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: only add the symlink with the old 2014.09 Linaro toolchain,
for the newer ones, it is no longer needed. This has been runtime
tested in Qemu.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In the hope of improving the quality of patches send by newcomers,
add a reference to the submitting-patches section of the manual
to the Contribute tab of the website.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In the hope of improving the quality of patches sent by newcomers,
add a reference to the submitting-patches section of the manual
to the top-level README file.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>