update buildroot to 2017.02.11

This commit is contained in:
jbnadal
2018-05-22 15:35:47 +02:00
parent 4bf1f5e091
commit a3c10bd762
9257 changed files with 433426 additions and 1701 deletions

View File

@@ -0,0 +1,69 @@
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
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
source "package/freescale-imx/imx-codec/Config.in"
source "package/freescale-imx/imx-kobs/Config.in"
source "package/freescale-imx/imx-lib/Config.in"
source "package/freescale-imx/imx-parser/Config.in"
source "package/freescale-imx/imx-uuc/Config.in"
source "package/freescale-imx/imx-vpu/Config.in"
source "package/freescale-imx/imx-vpuwrap/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 @@
sha256 c5bd4bff48cce9715a5d6d2c190ff3cd2262c7196f7facb9b0eda231c92cc223 firmware-imx-5.4.bin

View File

@@ -0,0 +1,32 @@
################################################################################
#
# firmware-imx
#
################################################################################
FIRMWARE_IMX_VERSION = 5.4
FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE)
FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin
FIRMWARE_IMX_LICENSE = NXP Semiconductor Software License Agreement
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
rm $(TARGET_DIR)/lib/firmware/imx/epdc/fsl-epdc.mk
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 a 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,3 @@
# locally computed
sha256 c7a6fa03b7aa2a375556c59908876554ba720c1e744baba2debb84a408f790db amd-gpu-x11-bin-mx51-11.09.01.bin
sha256 f0db68a764b5fb199729e7435f606b8d12b61ca97990336c647b7e81f4a584d9 amd-gpu-bin-mx51-11.09.01.bin

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,13 @@
config BR2_PACKAGE_IMX_CODEC
bool "imx-codec"
depends on BR2_arm # Only relevant for i.MX
depends on BR2_TOOLCHAIN_USES_GLIBC # prebuilt binaries
help
Binary codec libraries for the NXP i.MX SoCs.
This library is provided by NXP as-is and doesn't have
an upstream.
comment "imx-codec needs a glibc toolchain"
depends on BR2_arm
depends on !BR2_TOOLCHAIN_USES_GLIBC

View File

@@ -0,0 +1,2 @@
# locally computed
sha256 98fe71cb44f7e858c64c5eda81741ed02f40afaadc3d4ed1e693c7d1e684b81d imx-codec-4.1.4.bin

View File

@@ -0,0 +1,40 @@
################################################################################
#
# imx-codec
#
################################################################################
IMX_CODEC_VERSION = 4.1.4
IMX_CODEC_SITE = $(FREESCALE_IMX_SITE)
IMX_CODEC_SOURCE = imx-codec-$(IMX_CODEC_VERSION).bin
IMX_CODEC_INSTALL_STAGING = YES
IMX_CODEC_LICENSE = NXP Semiconductor Software License Agreement, BSD-3c (flac, ogg headers)
IMX_CODEC_LICENSE_FILES = EULA COPYING
IMX_CODEC_REDISTRIBUTE = NO
ifeq ($(BR2_ARM_EABIHF),y)
IMX_CODEC_CONF_OPTS += --enable-fhw
endif
ifeq ($(BR2_PACKAGE_IMX_VPU),y)
IMX_CODEC_CONF_OPTS += --enable-vpu
endif
define IMX_CODEC_EXTRACT_CMDS
$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_CODEC_SOURCE))
endef
# FIXME The Makefile installs both the arm9 and arm11 versions of the
# libraries, but we only need one of them.
# Upstream installs libraries into usr/lib/imx-mm, but the dynamic
# loader only looks in usr/lib, so move the libraries there
define IMX_CODEC_FIXUP_TARGET_PATH
find $(TARGET_DIR)/usr/lib/imx-mm -not -type d \
-exec mv {} $(TARGET_DIR)/usr/lib \;
rm -rf $(TARGET_DIR)/usr/lib/imx-mm
endef
IMX_CODEC_POST_INSTALL_TARGET_HOOKS += IMX_CODEC_FIXUP_TARGET_PATH
$(eval $(autotools-package))

View File

@@ -0,0 +1,92 @@
comment "imx-gpu-viv needs a glibc toolchain with armhf enabled"
depends on BR2_arm
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF
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
# Pre-built binaries only available for ARM EABIhf
depends on BR2_ARM_EABIHF
# 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
select BR2_PACKAGE_LIBPNG
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 @@
sha256 caaabd59a259e29aa5b7f9d1d7f3fe71cff9336ba44904485d258baef276351f imx-gpu-viv-5.0.11.p8.6-hfp.bin

View File

@@ -0,0 +1,130 @@
################################################################################
#
# imx-gpu-viv
#
################################################################################
IMX_GPU_VIV_VERSION = 5.0.11.p8.6-hfp
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 = NXP Semiconductor Software License Agreement
IMX_GPU_VIV_LICENSE_FILES = EULA COPYING
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)
IMX_GPU_VIV_DEPENDENCIES += libpng
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 @@
sha256 5b040de6e3db5d47371b311e7068380926827a7a6ef02e45fb2ba08b680d0ec5 imx-kobs-b402243a04e5a6760a860445e5ff6a931d86f794.tar.gz

View File

@@ -0,0 +1,12 @@
################################################################################
#
# imx-kobs
#
################################################################################
IMX_KOBS_VERSION = b402243a04e5a6760a860445e5ff6a931d86f794
IMX_KOBS_SITE = $(call github,NXPmicro,imx-kobs,$(IMX_KOBS_VERSION))
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 8d12c4a0a44d29569f1ead3a36adc28402b9c4036b53e11dd3ebf2295e3ce1d0 imx-lib-5.4.tar.gz

View File

@@ -0,0 +1,40 @@
################################################################################
#
# imx-lib
#
################################################################################
IMX_LIB_VERSION = 5.4
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,8 @@
config BR2_PACKAGE_IMX_PARSER
bool "imx-parser"
depends on BR2_arm # Only relevant for i.MX
help
Binary parser libraries for the NXP i.MX SoCs.
This library is provided by NXP as-is and doesn't have
an upstream.

View File

@@ -0,0 +1,2 @@
# locally computed
sha256 d3a03e60780bbbd0c92932f60bd34d2fe14ffecf6aa6b810723c3edf798cad1f imx-parser-4.1.4.bin

View File

@@ -0,0 +1,38 @@
################################################################################
#
# imx-parser
#
################################################################################
IMX_PARSER_VERSION = 4.1.4
IMX_PARSER_SITE = $(FREESCALE_IMX_SITE)
IMX_PARSER_SOURCE = imx-parser-$(IMX_PARSER_VERSION).bin
IMX_PARSER_INSTALL_STAGING = YES
IMX_PARSER_LICENSE = NXP Semiconductor Software License Agreement
IMX_PARSER_LICENSE_FILES = EULA COPYING
IMX_PARSER_REDISTRIBUTE = NO
ifeq ($(BR2_ARM_EABIHF),y)
IMX_PARSER_CONF_OPTS += --enable-fhw
else
IMX_PARSER_CONF_OPTS += --enable-fsw
endif
define IMX_PARSER_EXTRACT_CMDS
$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_PARSER_SOURCE))
endef
# The Makefile installs several versions of the libraries, but we only
# need one of them, depending on the platform.
# Upstream installs libraries into usr/lib/imx-mm, but the dynamic
# loader only looks in usr/lib, so move the libraries there
define IMX_PARSER_FIXUP_TARGET_PATH
find $(TARGET_DIR)/usr/lib/imx-mm -not -type d \
-exec mv {} $(TARGET_DIR)/usr/lib \;
rm -rf $(TARGET_DIR)/usr/lib/imx-mm
endef
IMX_PARSER_POST_INSTALL_TARGET_HOOKS += IMX_PARSER_FIXUP_TARGET_PATH
$(eval $(autotools-package))

View File

@@ -0,0 +1,21 @@
config BR2_PACKAGE_IMX_UUC
bool "imx-uuc"
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_arm # Only relevant for i.MX
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_HOST_DOSFSTOOLS
help
This package provides the Universal Adapter user-space
utility that is used to receive commands from the
Manufacturing Tool using the Freescale UTP Protocol.
It requires a Freescale/NXP kernel whose configuration
contains the CONFIG_FSL_UTP option.
This package is provided by Freescale/NXP as-is and doesn't
have an upstream.
comment "imx-uuc needs a toolchain w/ threads"
depends on BR2_arm
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -0,0 +1,27 @@
#!/bin/sh
NAME=uuc
DAEMON=/usr/bin/$NAME
case "$1" in
start)
printf "Starting $NAME: "
start-stop-daemon -S -q -b -m -p /var/run/${NAME}.pid -x $DAEMON
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
stop)
printf "Stopping $NAME: "
start-stop-daemon -K -q -p /var/run/${NAME}.pid
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
restart|reload)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@@ -0,0 +1,2 @@
# Locally computed
sha256 eac0c3e288c845cd9b82d02993f8358731a7a03e51591b27feeb453b143beb73 imx-uuc-3440b1108373e79669cc17ba1d2be91a123a2053.tar.gz

View File

@@ -0,0 +1,40 @@
################################################################################
#
# imx-uuc
#
################################################################################
IMX_UUC_VERSION = 3440b1108373e79669cc17ba1d2be91a123a2053
IMX_UUC_SITE = $(call github,NXPmicro,imx-uuc,$(IMX_UUC_VERSION))
IMX_UUC_LICENSE = GPLv2+
IMX_UUC_LICENSE_FILES = COPYING
# mkfs.vfat is needed to create a FAT partition used by g_mass_storage
# so Windows do not offer to format the device when connected to the PC.
IMX_UUC_DEPENDENCIES = host-dosfstools
define IMX_UUC_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC=$(TARGET_CC)
endef
define IMX_UUC_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 755 $(@D)/uuc $(TARGET_DIR)/usr/bin/uuc
$(INSTALL) -D -m 755 $(@D)/sdimage $(TARGET_DIR)/usr/bin/sdimage
dd if=/dev/zero of=$(TARGET_DIR)/fat bs=1M count=1
$(HOST_DIR)/usr/sbin/mkfs.vfat $(TARGET_DIR)/fat
endef
define IMX_UUC_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/freescale-imx/imx-uuc/S80imx-uuc \
$(TARGET_DIR)/etc/init.d/S80imx-uuc
endef
define IMX_UUC_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/freescale-imx/imx-uuc/imx-uuc.service \
$(TARGET_DIR)/usr/lib/systemd/system/imx-uuc.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/
ln -fs ../../../../usr/lib/systemd/system/imx-uuc.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/imx-uuc.service
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,11 @@
[Unit]
Description=i.MX Universal UTP Communication Service
After=systemd-modules-load.service
[Service]
Type=simple
ExecStart=/usr/bin/uuc
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,17 @@
comment "imx-vpu needs an i.MX platform with VPU support"
depends on BR2_arm
depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
config BR2_PACKAGE_IMX_VPU
bool "imx-vpu"
depends on BR2_arm # Only relevant for i.MX
depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
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 e1d6550426dfc59e4fd0352f1d312ea7eff5dcf18974f923ed7a85007cb40e27 imx-vpu-5.4.35.bin

View File

@@ -0,0 +1,39 @@
################################################################################
#
# imx-vpu
#
################################################################################
IMX_VPU_VERSION = 5.4.35
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 = NXP 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,19 @@
comment "imx-vpuwrap needs an imx-specific Linux kernel to be built"
depends on BR2_arm
depends on !BR2_LINUX_KERNEL
comment "imx-vpuwrap needs an i.MX platform with VPU support"
depends on BR2_arm
depends on BR2_LINUX_KERNEL && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
config BR2_PACKAGE_IMX_VPUWRAP
bool "imx-vpuwrap"
depends on BR2_LINUX_KERNEL
depends on BR2_arm # Only relevant for i.MX
depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
select BR2_PACKAGE_IMX_VPU
help
Wrapper library for the vpu library, giving it a different API.
This library is provided by NXP as-is and doesn't have
an upstream.

View File

@@ -0,0 +1,2 @@
# locally computed
sha256 282e7f8766ce385d8752bd29f04ddeff709ece0846be97547cf982183bbe241e imx-vpuwrap-1.0.68.bin

View File

@@ -0,0 +1,21 @@
################################################################################
#
# imx-vpuwrap
#
################################################################################
IMX_VPUWRAP_VERSION = 1.0.68
IMX_VPUWRAP_SITE = $(FREESCALE_IMX_SITE)
IMX_VPUWRAP_SOURCE = imx-vpuwrap-$(IMX_VPUWRAP_VERSION).bin
IMX_VPUWRAP_DEPENDENCIES = imx-vpu
IMX_VPUWRAP_INSTALL_STAGING = YES
IMX_VPUWRAP_LICENSE = NXP Semiconductor Software License Agreement
IMX_VPUWRAP_LICENSE_FILES = EULA COPYING
IMX_VPUWRAP_REDISTRIBUTE = NO
define IMX_VPUWRAP_EXTRACT_CMDS
$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_VPUWRAP_SOURCE))
endef
$(eval $(autotools-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 51dd137bd67ae991fa58fff4151c6bd7dd46bafd613f43e83d8403ec37217a90 kernel-module-imx-gpu-viv-bfa78b095a892705a09afe9514fc5d236b3124d2.tar.gz

View File

@@ -0,0 +1,20 @@
################################################################################
#
# kernel-module-imx-gpu-viv
#
################################################################################
KERNEL_MODULE_IMX_GPU_VIV_VERSION = bfa78b095a892705a09afe9514fc5d236b3124d2
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/ glibc"
depends on !BR2_ARM_EABI || !BR2_TOOLCHAIN_USES_GLIBC

View File

@@ -0,0 +1,2 @@
# locally computed
sha256 08767eb269a0a30ca0aa3d3b5aa9a53a2d17ed1c24651b7e8cefc7704b883f19 libz160-bin-11.09.01.bin

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))