Move all to deprecated folder.

This commit is contained in:
2016-11-16 21:57:57 +01:00
parent 01738a7684
commit 05de7d6c04
9777 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
menuconfig BR2_PACKAGE_FREESCALE_IMX
bool "Freescale i.MX libraries"
depends on BR2_arm
help
Those packages provide hardware acceleration for GPU or VPU, hardware
optimization or some hardware tools for Freescale i.MX platforms.
if BR2_PACKAGE_FREESCALE_IMX
choice
prompt "i.MX platform"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX25_3STACK
bool "imx25-3stack"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS
bool "imx27ads"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX37_3STACK
bool "imx37-3stack"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX50
bool "imx50"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51
bool "imx51"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53
bool "imx53"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
bool "imx6q"
endchoice
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
string
default "IMX25_3STACK" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX25_3STACK
default "IMX27ADS" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS
default "IMX37_3STACK" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX37_3STACK
default "IMX50" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX50
default "IMX51" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51
default "IMX53" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53
default "IMX6Q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
source "package/freescale-imx/imx-kobs/Config.in"
source "package/freescale-imx/imx-lib/Config.in"
source "package/freescale-imx/imx-vpu/Config.in"
source "package/freescale-imx/firmware-imx/Config.in"
if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53)
source "package/freescale-imx/gpu-amd-bin-mx51/Config.in"
source "package/freescale-imx/libz160/Config.in"
endif
if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
source "package/freescale-imx/imx-gpu-viv/Config.in"
source "package/freescale-imx/kernel-module-imx-gpu-viv/Config.in"
endif
endif

View File

@@ -0,0 +1,10 @@
config BR2_PACKAGE_FIRMWARE_IMX
bool "firmware-imx"
depends on BR2_arm # Only relevant for i.MX
help
Firmware blobs for the Freescale i.MX SoCs.
It contains blobs for SDMA and VPU.
This library is provided by Freescale as-is and doesn't have
an upstream.

View File

@@ -0,0 +1,2 @@
# locally computed
sha256 8cc2df128c0e2d2f5224d73389fbe6e4d6fa9ede76f8c0a9adaf7ec0986d0f1f firmware-imx-5.2.bin

View File

@@ -0,0 +1,32 @@
################################################################################
#
# firmware-imx
#
################################################################################
FIRMWARE_IMX_VERSION = 5.2
FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE)
FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin
FIRMWARE_IMX_LICENSE = Freescale Semiconductor Software License Agreement, \
Atheros license (ath6k)
FIRMWARE_IMX_LICENSE_FILES = EULA COPYING
FIRMWARE_IMX_REDISTRIBUTE = NO
FIRMWARE_IMX_BLOBS = sdma vpu
define FIRMWARE_IMX_EXTRACT_CMDS
$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(FIRMWARE_IMX_SOURCE))
endef
define FIRMWARE_IMX_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/lib/firmware/imx
for blobdir in $(FIRMWARE_IMX_BLOBS); do \
cp -r $(@D)/firmware/$${blobdir} $(TARGET_DIR)/lib/firmware; \
done
cp -r $(@D)/firmware/epdc $(TARGET_DIR)/lib/firmware/imx
mv $(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted \
$(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,34 @@
################################################################################
#
# freescale-imx
#
################################################################################
FREESCALE_IMX_SITE = http://www.freescale.com/lgfiles/NMG/MAD/YOCTO
# Helper for self-extracting binaries distributed by Freescale.
#
# The --force option makes sure it doesn't fail if the source
# directory already exists. The --auto-accept skips the license check,
# as it is not needed in Buildroot because we have legal-info. Since
# there's a EULA in the binary file, we extract it in this macro, and
# it should therefore be added to the LICENSE_FILES variable of
# packages using this macro. Also, remember to set REDISTRIBUTE to
# "NO". Indeed, this is a legal minefield: the EULA specifies that the
# Board Support Package includes software and hardware (sic!) for
# which a separate license is needed...
#
# $(1): full path to the archive file
#
define FREESCALE_IMX_EXTRACT_HELPER
awk 'BEGIN { start = 0; } \
/^EOEULA/ { start = 0; } \
{ if (start) print; } \
/<<EOEULA/ { start = 1; }' \
$(1) > $(@D)/EULA
cd $(@D) && sh $(1) --force --auto-accept
find $(@D)/$(basename $(notdir $(1))) -mindepth 1 -maxdepth 1 -exec mv {} $(@D) \;
rmdir $(@D)/$(basename $(notdir $(1)))
endef
include $(sort $(wildcard package/freescale-imx/*/*.mk))

View File

@@ -0,0 +1,60 @@
comment "gpu-amd-bin-mx51 needs an (e)glibc EABI toolchain w/ C++"
depends on BR2_arm
depends on !BR2_ARM_EABI || !BR2_TOOLCHAIN_USES_GLIBC || \
!BR2_INSTALL_LIBSTDCPP
config BR2_PACKAGE_GPU_AMD_BIN_MX51
bool "gpu-amd-bin-mx51 (also imx53)"
select BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_HAS_LIBGLES
select BR2_PACKAGE_HAS_LIBOPENVG
depends on BR2_ARM_EABI
depends on BR2_TOOLCHAIN_USES_GLIBC
depends on BR2_INSTALL_LIBSTDCPP
help
Freescale libraries, headers and executables for the
AMD GPU on i.MX5x, containing OpenGL/ES, OpenVG
and EGL support.
if BR2_PACKAGE_GPU_AMD_BIN_MX51
choice
prompt "Output option"
help
There are two versions of this library: one for
direct framebuffer access, one for X11 rendering.
Choose here which version to install.
config BR2_PACKAGE_GPU_AMD_BIN_MX51_OUTPUT_X11
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_LIBXCB
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_XLIB_LIBXEXT
select BR2_PACKAGE_XLIB_LIBXRENDER
select BR2_PACKAGE_XLIB_LIBXDMCP
select BR2_PACKAGE_XLIB_LIBXAU
bool "X11"
comment "X11 backend needs X.org enabled"
depends on !BR2_PACKAGE_XORG7
config BR2_PACKAGE_GPU_AMD_BIN_MX51_OUTPUT_FB
bool "Framebuffer"
endchoice
config BR2_PACKAGE_PROVIDES_LIBEGL
default "gpu-amd-bin-mx51"
config BR2_PACKAGE_PROVIDES_LIBGLES
default "gpu-amd-bin-mx51"
config BR2_PACKAGE_PROVIDES_LIBOPENVG
default "gpu-amd-bin-mx51"
config BR2_PACKAGE_GPU_AMD_BIN_MX51_EXAMPLES
bool "install examples"
help
Copy the examples to the target.
endif

View File

@@ -0,0 +1,10 @@
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: egl
Description: Freescale amd-gpu-bin-mx51 implementation of EGL
Version: 7.11.0
Libs: -L${libdir} -lEGL
Cflags: -I${includedir}

View File

@@ -0,0 +1,10 @@
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: glesv2
Description: Freescale amd-gpu-bin-mx51 implementation of OpenGL ESv2
Version: 7.11.0
Libs: -L${libdir} -lGLESv2
Cflags: -I${includedir}

View File

@@ -0,0 +1,67 @@
################################################################################
#
# gpu-amd-bin-mx51
#
################################################################################
GPU_AMD_BIN_MX51_SITE = $(FREESCALE_IMX_SITE)
GPU_AMD_BIN_MX51_BASE_VERSION = 11.09.01
ifeq ($(BR2_PACKAGE_GPU_AMD_BIN_MX51_OUTPUT_FB),y)
GPU_AMD_BIN_MX51_VERSION = $(GPU_AMD_BIN_MX51_BASE_VERSION)-fb
GPU_AMD_BIN_MX51_SOURCE = amd-gpu-bin-mx51-$(GPU_AMD_BIN_MX51_BASE_VERSION).bin
else
GPU_AMD_BIN_MX51_VERSION = $(GPU_AMD_BIN_MX51_BASE_VERSION)-x11
GPU_AMD_BIN_MX51_SOURCE = amd-gpu-x11-bin-mx51-$(GPU_AMD_BIN_MX51_BASE_VERSION).bin
GPU_AMD_BIN_MX51_DEPENDENCIES = libxcb xlib_libX11 xlib_libXext \
xlib_libXrender xlib_libXau xlib_libXdmcp
endif
GPU_AMD_BIN_MX51_PROVIDES = libegl libgles libopenvg
GPU_AMD_BIN_MX51_INSTALL_STAGING = YES
GPU_AMD_BIN_MX51_LICENSE = Freescale Semiconductor Software License Agreement
GPU_AMD_BIN_MX51_LICENSE_FILES = EULA
GPU_AMD_BIN_MX51_REDISTRIBUTE = NO
define GPU_AMD_BIN_MX51_EXTRACT_CMDS
$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(GPU_AMD_BIN_MX51_SOURCE))
endef
# Upstream headers need to be compiled with -D_LINUX. It is more convenient
# to rely on __linux__ which is defined in compiler itself
define GPU_AMD_BIN_MX51_FIXUP_HEADERS
$(SED) 's/_LINUX/__linux__/g' $(@D)/usr/include/*/*.h
endef
GPU_AMD_BIN_MX51_POST_PATCH_HOOKS += GPU_AMD_BIN_MX51_FIXUP_HEADERS
# eglplatform_1.4.h contains X11 compatible headers
ifeq ($(BR2_PACKAGE_GPU_AMD_BIN_MX51_OUTPUT_X11),y)
define GPU_AMD_BIN_MX51_FIXUP_EGL_HEADERS
mv $(STAGING_DIR)/usr/include/EGL/eglplatform_1.4.h $(STAGING_DIR)/usr/include/EGL/eglplatform.h
endef
endif
define GPU_AMD_BIN_MX51_INSTALL_STAGING_CMDS
$(INSTALL) -d $(STAGING_DIR)/usr/lib/pkgconfig
$(INSTALL) -m 644 package/freescale-imx/gpu-amd-bin-mx51/*.pc $(STAGING_DIR)/usr/lib/pkgconfig/
$(INSTALL) -m 755 $(@D)/usr/lib/lib* $(STAGING_DIR)/usr/lib/
cp -r $(@D)/usr/include/* $(STAGING_DIR)/usr/include
$(GPU_AMD_BIN_MX51_FIXUP_EGL_HEADERS)
endef
ifeq ($(BR2_PACKAGE_GPU_AMD_BIN_MX51_EXAMPLES),y)
define GPU_AMD_BIN_MX51_INSTALL_EXAMPLES
$(INSTALL) -d $(TARGET_DIR)/usr/share/examples/gpu_amd_samples
$(INSTALL) -m 755 $(@D)/usr/bin/* $(TARGET_DIR)/usr/share/examples/gpu_amd_samples
endef
endif
define GPU_AMD_BIN_MX51_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 $(@D)/usr/lib/lib*so* $(TARGET_DIR)/usr/lib/
$(GPU_AMD_BIN_MX51_INSTALL_EXAMPLES)
endef
define GPU_AMD_BIN_MX51_DEVICES
/dev/gsl_kmod c 640 0 0 249 0 1 4
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,10 @@
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: vg
Description: Freescale amd-gpu-bin-mx51 implementation of OpenVG
Version: 1.1
Libs: -L${libdir} -lOpenVG
Cflags: -I${includedir}/

View File

@@ -0,0 +1,90 @@
comment "imx-gpu-viv needs an (e)glibc toolchain"
depends on BR2_arm
depends on !BR2_TOOLCHAIN_USES_GLIBC
config BR2_PACKAGE_IMX_GPU_VIV
bool "imx-gpu-viv"
select BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_HAS_LIBGLES
select BR2_PACKAGE_HAS_LIBOPENVG
depends on BR2_arm # Only relevant for i.MX6
# Library binaries are linked against libc.so.6
depends on BR2_TOOLCHAIN_USES_GLIBC
help
Userspace libraries for Vivante GPU on i.MX6 platforms
It contains libraries and headers for GLES, OpenCL, and
OpenVG. It also contains a DRI plugin for X11. It also
contains a plugin for DirectFB-1.4.0, but that doesn't work
together with buildroot's DirectFB version.
This library is provided by Freescale as-is and doesn't have
an upstream.
if BR2_PACKAGE_IMX_GPU_VIV
choice
prompt "Output option"
help
There are two versions of this library: one for
direct framebuffer access, one for X11 rendering.
Choose here which version to install.
config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11
bool "X11"
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_XLIB_LIBXDAMAGE
select BR2_PACKAGE_XLIB_LIBXEXT
select BR2_PACKAGE_XLIB_LIBXFIXES
comment "X11 backend needs Xorg package"
depends on !BR2_PACKAGE_XORG7
config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB
bool "Framebuffer"
endchoice
config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT
string
default "x11" if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11
default "fb" if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB
config BR2_PACKAGE_PROVIDES_LIBEGL
default "imx-gpu-viv"
config BR2_PACKAGE_PROVIDES_LIBGLES
default "imx-gpu-viv"
config BR2_PACKAGE_PROVIDES_LIBOPENVG
default "imx-gpu-viv"
config BR2_PACKAGE_IMX_GPU_VIV_APITRACE
bool "install apitrace tools"
select BR2_PACKAGE_IMX_GPU_VIV_G2D
help
Copy the apitrace tool to the target. Apitrace consists
of a set of tools to trace, replay and/or inspect OpenGL,
OpenGL ES APIs calls
http://apitrace.github.io/
config BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES
bool "install examples"
help
Copy the Vivante examples to the target.
Warning: examples take approximately 150 MB of disk space.
config BR2_PACKAGE_IMX_GPU_VIV_G2D
bool "install G2D libraries"
help
Copy the GPU2D libraries to the target.
config BR2_PACKAGE_IMX_GPU_VIV_GMEM_INFO
bool "install gmem_info tool"
help
Copy the gmem_info tool to the target which provides
information about GPU memory consumption.
endif

View File

@@ -0,0 +1,3 @@
# locally computed
sha256 43fea6ebbb1222e0f594fff3b48147f4bb6173b85f2caa9fa6bf04a1c85ee93a imx-gpu-viv-5.0.11.p7.1-sfp.bin
sha256 e49ca1d31ca83bb50f6672325db37ae3754eb9073ad98a37790ab1209ea5cba8 imx-gpu-viv-5.0.11.p7.1-hfp.bin

View File

@@ -0,0 +1,134 @@
################################################################################
#
# imx-gpu-viv
#
################################################################################
IMX_GPU_VIV_BASE_VERSION = 5.0.11.p7.1
ifeq ($(BR2_ARM_EABIHF),y)
IMX_GPU_VIV_VERSION = $(IMX_GPU_VIV_BASE_VERSION)-hfp
else
IMX_GPU_VIV_VERSION = $(IMX_GPU_VIV_BASE_VERSION)-sfp
endif
IMX_GPU_VIV_SITE = $(FREESCALE_IMX_SITE)
IMX_GPU_VIV_SOURCE = imx-gpu-viv-$(IMX_GPU_VIV_VERSION).bin
IMX_GPU_VIV_INSTALL_STAGING = YES
IMX_GPU_VIV_LICENSE = Freescale Semiconductor Software License Agreement
IMX_GPU_VIV_LICENSE_FILES = EULA
IMX_GPU_VIV_REDISTRIBUTE = NO
IMX_GPU_VIV_PROVIDES = libegl libgles libopenvg
IMX_GPU_VIV_LIB_TARGET = $(call qstrip,$(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT))
ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11)
# The libGAL.so library provided by imx-gpu-viv uses X functions. Packages
# may want to link against libGAL.so (QT5 Base with OpenGL and X support
# does so). For this to work we need build dependencies to libXdamage,
# libXext and libXfixes so that X functions used in libGAL.so are referenced.
IMX_GPU_VIV_DEPENDENCIES += xlib_libXdamage xlib_libXext xlib_libXfixes
endif
define IMX_GPU_VIV_EXTRACT_CMDS
$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_GPU_VIV_SOURCE))
endef
# Instead of building, we fix up the inconsistencies that exist
# in the upstream archive here.
# Make sure these commands are idempotent.
define IMX_GPU_VIV_BUILD_CMDS
$(SED) 's/defined(LINUX)/defined(__linux__)/g' $(@D)/gpu-core/usr/include/*/*.h
ln -sf libGL.so.1.2 $(@D)/gpu-core/usr/lib/libGL.so
ln -sf libGL.so.1.2 $(@D)/gpu-core/usr/lib/libGL.so.1
ln -sf libGL.so.1.2 $(@D)/gpu-core/usr/lib/libGL.so.1.2.0
ln -sf libEGL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libEGL.so
ln -sf libEGL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libEGL.so.1
ln -sf libEGL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libEGL.so.1.0
ln -sf libGLESv2-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGLESv2.so
ln -sf libGLESv2-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGLESv2.so.2
ln -sf libGLESv2-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGLESv2.so.2.0.0
ln -sf libVIVANTE-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libVIVANTE.so
ln -sf libGAL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGAL.so
endef
ifeq ($(IMX_GPU_VIV_LIB_TARGET),fb)
define IMX_GPU_VIV_FIXUP_FB_HEADERS
$(SED) '39i\
#if !defined(EGL_API_X11) && !defined(EGL_API_DFB) && !defined(EGL_API_FB) \n\
#define EGL_API_FB \n\
#endif' $(STAGING_DIR)/usr/include/EGL/eglvivante.h
endef
endif
ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_G2D),y)
define IMX_GPU_VIV_INSTALL_G2D_STAGING
cp -dpfr $(@D)/g2d/usr/include/* $(STAGING_DIR)/usr/include/
cp -dpfr $(@D)/g2d/usr/lib/* $(STAGING_DIR)/usr/lib/
endef
endif
define IMX_GPU_VIV_INSTALL_STAGING_CMDS
cp -r $(@D)/gpu-core/usr/* $(STAGING_DIR)/usr
$(IMX_GPU_VIV_FIXUP_FB_HEADERS)
$(IMX_GPU_VIV_INSTALL_G2D_STAGING)
for lib in egl glesv2 vg; do \
$(INSTALL) -m 0644 -D \
$(@D)/gpu-core/usr/lib/pkgconfig/$${lib}.pc \
$(STAGING_DIR)/usr/lib/pkgconfig/$${lib}.pc; \
done
endef
ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_APITRACE),y)
ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11)
define IMX_GPU_VIV_INSTALL_APITRACE
cp -dpfr $(@D)/apitrace/x11/usr/bin/* $(TARGET_DIR)/usr/bin/
cp -dpfr $(@D)/apitrace/x11/usr/lib/* $(TARGET_DIR)/usr/lib/
endef
else
define IMX_GPU_VIV_INSTALL_APITRACE
cp -dpfr $(@D)/apitrace/non-x11/usr/bin/* $(TARGET_DIR)/usr/bin/
cp -dpfr $(@D)/apitrace/non-x11/usr/lib/* $(TARGET_DIR)/usr/lib/
endef
endif
endif
ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES),y)
define IMX_GPU_VIV_INSTALL_EXAMPLES
mkdir -p $(TARGET_DIR)/usr/share/examples/
cp -r $(@D)/gpu-demos/opt/* $(TARGET_DIR)/usr/share/examples/
endef
endif
ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_G2D),y)
define IMX_GPU_VIV_INSTALL_G2D
cp -dpfr $(@D)/g2d/usr/lib/* $(TARGET_DIR)/usr/lib/
endef
endif
ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_GMEM_INFO),y)
define IMX_GPU_VIV_INSTALL_GMEM_INFO
cp -dpfr $(@D)/gpu-tools/gmem-info/usr/bin/* $(TARGET_DIR)/usr/bin/
endef
endif
# On the target, remove the unused libraries.
# Note that this is _required_, else ldconfig may create symlinks
# to the wrong library
define IMX_GPU_VIV_INSTALL_TARGET_CMDS
$(IMX_GPU_VIV_INSTALL_APITRACE)
$(IMX_GPU_VIV_INSTALL_EXAMPLES)
$(IMX_GPU_VIV_INSTALL_G2D)
$(IMX_GPU_VIV_INSTALL_GMEM_INFO)
cp -a $(@D)/gpu-core/usr/lib $(TARGET_DIR)/usr
for lib in EGL GAL VIVANTE GLESv2; do \
for f in $(TARGET_DIR)/usr/lib/lib$${lib}-*.so; do \
case $$f in \
*-$(IMX_GPU_VIV_LIB_TARGET).so) : ;; \
*) $(RM) $$f ;; \
esac; \
done; \
done
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,39 @@
[PATCH] Fix musl build
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
src/mtd.c | 1 +
src/mtd.h | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/src/mtd.c b/src/mtd.c
index 1edc441..6d2264c 100644
--- a/src/mtd.c
+++ b/src/mtd.c
@@ -31,6 +31,7 @@
#include <fcntl.h>
#include <ctype.h>
#include <errno.h>
+#include <stddef.h>
#include <sys/types.h>
#include <sys/ioctl.h>
diff --git a/src/mtd.h b/src/mtd.h
index bd21add..debfc84 100644
--- a/src/mtd.h
+++ b/src/mtd.h
@@ -31,6 +31,11 @@
#include "BootControlBlocks.h"
#include "rom_nand_hamming_code_ecc.h"
+// musl library doesn't define loff_t
+#if !defined(__GLIBC__) && !defined(__UCLIBC__)
+#define loff_t off_t
+#endif
+
//------------------------------------------------------------------------------
// Re-definitions of true and false, because the standard ones aren't good
// enough?
--
2.5.1

View File

@@ -0,0 +1,26 @@
[PATCH] Fix build for recent toolchains
Starting with Linux 4.4 headers, mtd-user.h isn't including stdint.h
anymore which breaks the build.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
src/BootControlBlocks.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/BootControlBlocks.h b/src/BootControlBlocks.h
index 192eb61..aacdb64 100644
--- a/src/BootControlBlocks.h
+++ b/src/BootControlBlocks.h
@@ -20,6 +20,8 @@
#ifndef BOOTCONTROLBLOCKS_H_
#define BOOTCONTROLBLOCKS_H_
+#include <stdint.h>
+
#define NCB_FINGERPRINT1 0x504d5453 //!< 'STMP'
#define NCB_FINGERPRINT2 0x2042434e //!< 'NCB<space>' - NAND Control Block
#define NCB_FINGERPRINT3 0x4e494252 //!< 'RBIN' - ROM Boot Image Block - N
--
2.6.4

View File

@@ -0,0 +1,10 @@
config BR2_PACKAGE_IMX_KOBS
bool "imx-kobs"
depends on BR2_arm # Only relevant for i.MX
help
The imx-kobs tool is used for writing images to NAND on i.MX
platforms.
This library is provided by Freescale as-is and doesn't have
an upstream.

View File

@@ -0,0 +1,2 @@
# locally computed
sha256 28c7356187ae26a2b37fb37a4b7bfdb63b3628b72d737d897ae6d5b969fbb51a imx-kobs-5.1.tar.gz

View File

@@ -0,0 +1,12 @@
################################################################################
#
# imx-kobs
#
################################################################################
IMX_KOBS_VERSION = 5.1
IMX_KOBS_SITE = $(FREESCALE_IMX_SITE)
IMX_KOBS_LICENSE = GPLv2+
IMX_KOBS_LICENSE_FILES = COPYING
$(eval $(autotools-package))

View File

@@ -0,0 +1,16 @@
comment "imx-lib needs an imx-specific Linux kernel to be built"
depends on BR2_arm && !BR2_LINUX_KERNEL
config BR2_PACKAGE_IMX_LIB
bool "imx-lib"
depends on BR2_LINUX_KERNEL
depends on BR2_arm # Only relevant for i.MX
help
Library of userspace helpers specific for the Freescale i.MX
platform. It wraps the kernel interfaces for some i.MX platform
specific drivers. It requires a kernel that includes the i.MX
specific headers to be built.
This library is provided by Freescale as-is and doesn't have
an upstream.

View File

@@ -0,0 +1,2 @@
# locally computed
sha256 2b4547ffb1de328cf8997a09a423c6f015d808493efd11a98a5d42c6497e3445 imx-lib-5.1.tar.gz

View File

@@ -0,0 +1,40 @@
################################################################################
#
# imx-lib
#
################################################################################
IMX_LIB_VERSION = 5.1
IMX_LIB_SITE = $(FREESCALE_IMX_SITE)
IMX_LIB_LICENSE = LGPLv2.1+
IMX_LIB_LICENSE_FILES = COPYING-LGPL-2.1
IMX_LIB_INSTALL_STAGING = YES
# imx-lib needs access to imx-specific kernel headers
IMX_LIB_DEPENDENCIES += linux
IMX_LIB_INCLUDE = \
-I$(LINUX_DIR)/drivers/mxc/security/rng/include \
-I$(LINUX_DIR)/drivers/mxc/security/sahara2/include \
-idirafter $(LINUX_DIR)/include/uapi
IMX_LIB_MAKE_ENV = \
$(TARGET_MAKE_ENV) \
$(TARGET_CONFIGURE_OPTS) \
CROSS_COMPILE="$(TARGET_CROSS)" \
PLATFORM=$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM) \
INCLUDE="$(IMX_LIB_INCLUDE)"
define IMX_LIB_BUILD_CMDS
$(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D)
endef
define IMX_LIB_INSTALL_STAGING_CMDS
$(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(STAGING_DIR) install
endef
define IMX_LIB_INSTALL_TARGET_CMDS
$(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(TARGET_DIR) install
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,12 @@
config BR2_PACKAGE_IMX_VPU
bool "imx-vpu"
depends on BR2_arm # Only relevant for i.MX
select BR2_PACKAGE_FIRMWARE_IMX
help
Library of userspace helpers specific for the Freescale i.MX
platform. It wraps the kernel interfaces for the i.MX platform
Video Processing Unit (VPU) driver. It requires a kernel that
includes the i.MX specific headers to be built.
This library is provided by Freescale as-is and doesn't have
an upstream.

View File

@@ -0,0 +1,2 @@
# Locally computed
sha256 a266ab317fbd866541eae506d68983bcd361f49d1162a66bb34cb8088ceec88c imx-vpu-5.4.31.bin

View File

@@ -0,0 +1,39 @@
################################################################################
#
# imx-vpu
#
################################################################################
IMX_VPU_VERSION = 5.4.31
IMX_VPU_SITE = $(FREESCALE_IMX_SITE)
IMX_VPU_SOURCE = imx-vpu-$(IMX_VPU_VERSION).bin
IMX_VPU_INSTALL_STAGING = YES
IMX_VPU_MAKE_ENV = \
$(TARGET_MAKE_ENV) \
$(TARGET_CONFIGURE_OPTS) \
CROSS_COMPILE="$(TARGET_CROSS)" \
PLATFORM=$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM)
IMX_VPU_LICENSE = Freescale Semiconductor Software License Agreement
IMX_VPU_LICENSE_FILES = EULA COPYING
IMX_VPU_REDISTRIBUTE = NO
define IMX_VPU_EXTRACT_CMDS
$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_VPU_SOURCE))
endef
define IMX_VPU_BUILD_CMDS
$(IMX_VPU_MAKE_ENV) $(MAKE1) -C $(@D)
endef
define IMX_VPU_INSTALL_STAGING_CMDS
$(IMX_VPU_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(STAGING_DIR) install
endef
define IMX_VPU_INSTALL_TARGET_CMDS
$(IMX_VPU_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(TARGET_DIR) install
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,14 @@
comment "kernel-module-imx-gpu-viv needs a Linux kernel to be built"
depends on !BR2_LINUX_KERNEL
config BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV
bool "kernel-module-imx-gpu-viv"
depends on BR2_LINUX_KERNEL
help
Kernel loadable module for Vivante GPU.
This package uses an exact copy of the GPU kernel driver source code
of the same version as base and include fixes and improvements
developed by FSL Community
https://github.com/Freescale/kernel-module-imx-gpu-viv

View File

@@ -0,0 +1,2 @@
# locally computed
sha256 955037fd86d31cdddaed15c254f377f4b30a8abcf5a5e4f9185bd660ff14b7c3 kernel-module-imx-gpu-viv-eeeb23c0fb1cee01318088d417025263479c44ac.tar.gz

View File

@@ -0,0 +1,20 @@
################################################################################
#
# kernel-module-imx-gpu-viv
#
################################################################################
KERNEL_MODULE_IMX_GPU_VIV_VERSION = eeeb23c0fb1cee01318088d417025263479c44ac
KERNEL_MODULE_IMX_GPU_VIV_SITE = \
$(call github,Freescale,kernel-module-imx-gpu-viv,$(KERNEL_MODULE_IMX_GPU_VIV_VERSION))
KERNEL_MODULE_IMX_GPU_VIV_LICENSE = GPLv2
KERNEL_MODULE_IMX_GPU_VIV_LICENSE_FILES = COPYING
KERNEL_MODULE_IMX_GPU_VIV_MODULE_MAKE_OPTS = \
AQROOT=$(@D)/kernel-module-imx-gpu-viv-src \
KERNEL_DIR=$(LINUX_DIR)
KERNEL_MODULE_IMX_GPU_VIV_MODULE_SUBDIRS = kernel-module-imx-gpu-viv-src
$(eval $(kernel-module))
$(eval $(generic-package))

View File

@@ -0,0 +1,10 @@
config BR2_PACKAGE_LIBZ160
bool "libz160"
depends on BR2_ARM_EABI
depends on BR2_TOOLCHAIN_USES_GLIBC
help
An API for user space programs to perform 2D accelerated graphics
operations on AMD GPU (included for examples in iMX5x chipsets)
comment "libz160 needs an EABI toolchain w/ (e)glibc"
depends on !BR2_ARM_EABI || !BR2_TOOLCHAIN_USES_GLIBC

View File

@@ -0,0 +1,30 @@
################################################################################
#
# libz160
#
################################################################################
LIBZ160_VERSION = 11.09.01
LIBZ160_SOURCE = libz160-bin-$(LIBZ160_VERSION).bin
LIBZ160_SITE = $(FREESCALE_IMX_SITE)
LIBZ160_INSTALL_STAGING = YES
# See freescale-imx
LIBZ160_LICENSE = Freescale Semiconductor Software License Agreement
LIBZ160_LICENSE_FILES = EULA
LIBZ160_REDISTRIBUTE = NO
define LIBZ160_EXTRACT_CMDS
$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(LIBZ160_SOURCE))
endef
define LIBZ160_INSTALL_STAGING_CMDS
$(INSTALL) -D -m 755 $(@D)/usr/lib/libz160.so $(STAGING_DIR)/usr/lib/libz160.so
$(INSTALL) -D -m 644 $(@D)/usr/include/z160.h $(STAGING_DIR)/usr/include/z160.h
endef
define LIBZ160_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 755 $(@D)/usr/lib/libz160.so $(TARGET_DIR)/usr/lib/libz160.so
endef
$(eval $(generic-package))