[Buildroot] [PATCH 12/14 v6] package/nvidia-tegra23-binaries: new package

Ben Ben carmazen84 at gmail.com
Mon Jan 26 13:31:58 UTC 2015


Hi Yann,

They are no package khronos-registry-openmax.
I replace it with  khronos-registry-openmaxil.

Works fine.

Regards,
Benoît

2015-01-24 0:24 GMT+01:00 Yann E. MORIN <yann.morin.1998 at free.fr>:

> From: Nicolas Serafini <nicolas.serafini at sensefly.com>
>
> This patch adds a new package for all libraries and drivers
> provided by Nvidia Linux4Tegra release 16.4.0.
>
> We have intermediate .mk and Config.in, because those values will be
> shared with the codecs package, to come in a follow-up patch, like we
> have for the Freescale stuff.
>
> Signed-off-by: Nicolas Serafini <nicolas.serafini at sensefly.com>
> [yann.morin.1998 at free.fr:
>   - split jpeg into its own patch
>   - split codecs and gstreamer plugins out into their own packages
>   - do not patch for .pc files, just bundle them in $(@D)
> ]
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> ---
>  package/Config.in                                  |   1 +
>  package/nvidia-tegra23/Config.in                   |  36 ++++++++
>  .../nvidia-tegra23-binaries/Config.in              |  95
> ++++++++++++++++++++
>  .../nvidia-tegra23/nvidia-tegra23-binaries/egl.pc  |  10 +++
>  .../nvidia-tegra23/nvidia-tegra23-binaries/gles.pc |  10 +++
>  .../nvidia-tegra23-binaries/glesv2.pc              |  10 +++
>  .../nvidia-tegra23-binaries.hash                   |   3 +
>  .../nvidia-tegra23-binaries.mk                     | 100
> +++++++++++++++++++++
>  package/nvidia-tegra23/nvidia-tegra23.mk           |  17 ++++
>  9 files changed, 282 insertions(+)
>  create mode 100644 package/nvidia-tegra23/Config.in
>  create mode 100644
> package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
>  create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc
>  create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc
>  create mode 100644
> package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc
>  create mode 100644
> package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash
>  create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/
> nvidia-tegra23-binaries.mk
>  create mode 100644 package/nvidia-tegra23/nvidia-tegra23.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index d5382f6..89526f5 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -353,6 +353,7 @@ endif
>         source "package/nanocom/Config.in"
>         source "package/neard/Config.in"
>         source "package/nvidia-driver/Config.in"
> +       source "package/nvidia-tegra23/Config.in"
>         source "package/ofono/Config.in"
>         source "package/ola/Config.in"
>         source "package/on2-8170-modules/Config.in"
> diff --git a/package/nvidia-tegra23/Config.in
> b/package/nvidia-tegra23/Config.in
> new file mode 100644
> index 0000000..950f2f8
> --- /dev/null
> +++ b/package/nvidia-tegra23/Config.in
> @@ -0,0 +1,36 @@
> +menuconfig BR2_PACKAGE_NVIDIA_TEGRA23
> +       bool "nvidia-tegra23"
> +       depends on BR2_cortex_a9
> +       depends on BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC
> +       depends on BR2_PACKAGE_XORG7
> +       help
> +         Install NVidia proprietary blobs to drive Tegra2 or Tegra3
> +         GPUs found in some mobile-targeted ARM SoCs.
> +
> +if BR2_PACKAGE_NVIDIA_TEGRA23
> +
> +choice
> +       prompt "Tegra platform"
> +       help
> +         Select the SOC platform.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA2
> +       bool "Tegra 2"
> +       help
> +         NVIDIA Tegra 2 is a dual-core Cortex-A9 without NEON.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA3
> +       bool "Tegra 3"
> +       depends on BR2_ARM_CPU_HAS_NEON
> +       help
> +         NVIDIA Tegra 3 is a quad-core Cortex-A9 with NEON.
> +
> +endchoice
> +
> +source "package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in"
> +endif
> +
> +comment "nvidia-tegra23 needs Xorg and a (e)glibc toolchain w/ EABIhf"
> +       depends on BR2_cortex_a9
> +       depends on !BR2_ARM_EABIHF || !BR2_TOOLCHAIN_USES_GLIBC \
> +               || !BR2_PACKAGE_XORG7
> diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
> b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
> new file mode 100644
> index 0000000..66bb8c3
> --- /dev/null
> +++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
> @@ -0,0 +1,95 @@
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES
> +       bool "nvidia-tegra23 binaries"
> +       select BR2_PACKAGE_KHRONOS_REGISTRY_KHRPLATFORM
> +       select BR2_PACKAGE_KHRONOS_REGISTRY_OPENGL
> +       select BR2_PACKAGE_KHRONOS_REGISTRY_OPENKODE
> +       select BR2_PACKAGE_KHRONOS_REGISTRY_OPENMAXIL
> +       select BR2_PACKAGE_XLIB_LIBXT
> +       select BR2_PACKAGE_XLIB_LIBXEXT
> +       select BR2_PACKAGE_XLIB_LIBXV
> +       select BR2_PACKAGE_HAS_LIBEGL
> +       select BR2_PACKAGE_HAS_LIBGLES
> +       select BR2_PACKAGE_HAS_LIBOPENMAX
> +       help
> +         Those packages provide libraries, drivers and firmware that
> comes from
> +         NVIDIA Linux For Tegra.
> +
> +         https://developer.nvidia.com/linux-tegra
> +
> +if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES
> +
> +config BR2_PACKAGE_PROVIDES_LIBEGL
> +       default "nvidia-tegra23-binaries"
> +
> +config BR2_PACKAGE_PROVIDES_LIBGLES
> +       default "nvidia-tegra23-binaries"
> +
> +config BR2_PACKAGE_PROVIDES_LIBOPENMAX
> +       default "nvidia-tegra23-binaries"
> +
> +choice
> +       prompt "X11 ABI version"
> +       default BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V11
> +       help
> +         Select Tegra X11 ABI version.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V5
> +       bool "X11 ABI 5"
> +       help
> +         Tegra X11 ABI 5.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V6
> +       bool "X11 ABI 6"
> +       help
> +         Tegra X11 ABI 6.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V7
> +       bool "X11 ABI 7"
> +       help
> +         Tegra X11 ABI 7.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V8
> +       bool "X11 ABI 8"
> +       help
> +         Tegra X11 ABI 8.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V10
> +       bool "X11 ABI 10"
> +       help
> +         Tegra X11 ABI 10.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V11
> +       bool "X11 ABI 11"
> +       help
> +         Tegra X11 ABI 11.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V12
> +       bool "X11 ABI 12"
> +       help
> +         Tegra X11 ABI 12.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V13
> +       bool "X11 ABI 13"
> +       help
> +         Tegra X11 ABI 13.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V14
> +       bool "X11 ABI 14"
> +       help
> +         Tegra X11 ABI 14.
> +
> +endchoice
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI
> +       int
> +       default 5  if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V5
> +       default 6  if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V6
> +       default 7  if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V7
> +       default 8  if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V8
> +       default 10 if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V10
> +       default 11 if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V11
> +       default 12 if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V12
> +       default 13 if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V13
> +       default 14 if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V14
> +
> +endif
> diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc
> b/package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc
> new file mode 100644
> index 0000000..3af7eec
> --- /dev/null
> +++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc
> @@ -0,0 +1,10 @@
> +prefix=/usr
> +exec_prefix=${prefix}
> +libdir=/usr/lib
> +includedir=/usr/include
> +
> +Name: egl
> +Description: EGL implementation
> +Version: 1
> +Cflags: -I${includedir}/EGL
> +Libs: -L${libdir} -lEGL
> diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc
> b/package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc
> new file mode 100644
> index 0000000..91387c9
> --- /dev/null
> +++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc
> @@ -0,0 +1,10 @@
> +prefix=/usr
> +exec_prefix=${prefix}
> +libdir=/usr/lib
> +includedir=/usr/include
> +
> +Name: glesv2
> +Description: OpenGL ES 1.1 implementation
> +Version: 1.1
> +Cflags: -I${includedir}/GLES
> +Libs: -L${libdir} -lGLESv1_CM
> diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc
> b/package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc
> new file mode 100644
> index 0000000..356a1cb
> --- /dev/null
> +++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc
> @@ -0,0 +1,10 @@
> +prefix=/usr
> +exec_prefix=${prefix}
> +libdir=/usr/lib
> +includedir=/usr/include
> +
> +Name: glesv2
> +Description: OpenGL ES 2 implementation
> +Version: 2
> +Cflags: -I${includedir}/GLESv2
> +Libs: -L${libdir} -lGLESv2
> diff --git
> a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash
> b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash
> new file mode 100644
> index 0000000..8185593
> --- /dev/null
> +++
> b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash
> @@ -0,0 +1,3 @@
> +# From https://developer.nvidia.com/linux-tegra-rel-16
> +sha1 6b57b43f8f9c5b76fa3763144e57c0c16047b1a8
> Tegra20_Linux_R16.4.0_armhf.tbz2
> +sha1 44e7f84dd6e3b80d37ecddf9cc133031b2653004
> Tegra30_Linux_R16.4.0_armhf.tbz2
> diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/
> nvidia-tegra23-binaries.mk
> b/package/nvidia-tegra23/nvidia-tegra23-binaries/
> nvidia-tegra23-binaries.mk
> new file mode 100644
> index 0000000..5998bbf
> --- /dev/null
> +++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/
> nvidia-tegra23-binaries.mk
> @@ -0,0 +1,100 @@
>
> +################################################################################
> +#
> +# nvidia-tegra3-binaries
> +#
>
> +################################################################################
> +
> +NVIDIA_TEGRA23_BINARIES_VERSION        = $(NVIDIA_TEGRA23_VERSION)
> +NVIDIA_TEGRA23_BINARIES_SITE = $(NVIDIA_TEGRA23_SITE)
> +NVIDIA_TEGRA23_BINARIES_SOURCE =
> $(NVIDIA_TEGRA23_BASE)_R$(NVIDIA_TEGRA23_BINARIES_VERSION)_armhf.tbz2
> +
> +NVIDIA_TEGRA23_BINARIES_LICENSE = License For Customer Use of NVIDIA
> Software
> +NVIDIA_TEGRA23_BINARIES_LICENSE_FILES = nv_tegra/LICENSE
> +
> +NVIDIA_TEGRA23_BINARIES_INSTALL_STAGING = YES
> +NVIDIA_TEGRA23_BINARIES_INSTALL_TARGET = YES
> +
> +NVIDIA_TEGRA23_BINARIES_DEPENDENCIES = \
> +       khronos-registry-opengl khronos-registry-openkode \
> +       khronos-registry-openmax khronos-registry-khrplatform \
> +       xlib_libX11 xlib_libXext xlib_libXv
> +
> +NVIDIA_TEGRA23_BINARIES_PROVIDES = libegl libgles libopenmax
> +
> +ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_TEGRA2),y)
> +NVIDIA_TEGRA23_BINARIES_FIRMWARE = \
> +       nvrm_avp.bin nvavp_vid_ucode_alt.bin nvavp_os_0ff00000.bin \
> +       nvavp_os_eff00000.bin
> +endif
> +ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_TEGRA3),y)
> +NVIDIA_TEGRA23_BINARIES_FIRMWARE = \
> +       nvrm_avp_0ff00000.bin nvrm_avp_8e000000.bin nvrm_avp_9e000000.bin \
> +       nvrm_avp_be000000.bin nvrm_avp_eff00000.bin
> nvavp_vid_ucode_alt.bin \
> +       nvavp_os_0ff00000.bin nvavp_os_eff00000.bin
> +endif
> +
> +NVIDIA_TEGRA23_BINARIES_LIBRARIES = \
> +       libardrv_dynamic.so libcgdrv.so libEGL.so.1 libGLESv1_CM.so.1
> libGLESv2.so.2 \
> +       libKD.so libnvapputil.so libnvavp.so libnvcwm.so libnvdc.so \
> +       libnvddk_2d.so libnvddk_2d_v2.so libnvddk_disp.so libnvddk_kbc.so \
> +       libnvddk_mipihsi.so libnvddk_nand.so libnvddk_se.so
> libnvddk_snor.so \
> +       libnvddk_spif.so libnvddk_usbphy.so libnvdispatch_helper.so
> libnvglsi.so \
> +       libnvmedia_audio.so libnvmm_audio.so libnvmm_camera.so
> libnvmm_contentpipe.so \
> +       libnvmm_image.so libnvmmlite_audio.so libnvmmlite_image.so
> libnvmmlite.so \
> +       libnvmmlite_utils.so libnvmmlite_video.so libnvmm_manager.so
> libnvmm_parser.so \
> +       libnvmm_service.so libnvmm.so libnvmm_utils.so libnvmm_video.so
> libnvmm_writer.so \
> +       libnvodm_disp.so libnvodm_dtvtuner.so libnvodm_imager.so
> libnvodm_misc.so \
> +       libnvodm_query.so libnvomxilclient.so libnvomx.so libnvos.so
> libnvparser.so \
> +       libnvrm_graphics.so libnvrm.so libnvsm.so libnvtestio.so
> libnvtestresults.so \
> +       libnvtvmr.so libnvwinsys.so libnvwsi.so
> +
> +NVIDIA_TEGRA23_BINARIES_DRV = \
> +
>  nv_tegra/nvidia_drivers/usr/lib/xorg/modules/drivers/tegra_drv.abi$(BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI).so
> +
> +NVIDIA_TEGRA23_BINARIES_PKGCONFIG = egl.pc gles.pc glesv2.pc
> +
> +define NVIDIA_TEGRA23_BINARIES_EXTRACT_FURTHER
> +       $(INSTALL) -d $(@D)/nv_tegra/nvidia_drivers
> +       $(call suitable-extractor,$(@D)/nv_tegra/nvidia_drivers.tbz2) \
> +               $(@D)/nv_tegra/nvidia_drivers.tbz2 | \
> +       $(TAR) $(TAR_STRIP_COMPONENTS)=0 -C $(@D)/nv_tegra/nvidia_drivers/
> $(TAR_OPTIONS) -
> +       $(INSTALL) -d $(@D)/nv_tegra/nv_sample_apps/nvgstapps
> +       $(call
> suitable-extractor,$(@D)/nv_tegra/nv_sample_apps/nvgstapps.tbz2) \
> +               $(@D)/nv_tegra/nv_sample_apps/nvgstapps.tbz2 | \
> +       $(TAR) $(TAR_STRIP_COMPONENTS)=0 -C
> $(@D)/nv_tegra/nv_sample_apps/nvgstapps/ $(TAR_OPTIONS) -
> +endef
> +NVIDIA_TEGRA23_BINARIES_POST_EXTRACT_HOOKS +=
> NVIDIA_TEGRA23_BINARIES_EXTRACT_FURTHER
> +
> +define NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS
> +       $(foreach lib,$(NVIDIA_TEGRA23_BINARIES_LIBRARIES),
> +               $(INSTALL) -D -m 0644
> $(@D)/nv_tegra/nvidia_drivers/usr/lib/$(lib) \
> +                       $(1)/usr/lib/$(lib); \
> +       )
> +       (cd $(1)/usr/lib; \
> +               ln -sf libGLESv2.so.2 libGLESv2.so; \
> +               ln -sf libGLESv1_CM.so.1 libGLESv1_CM.so; \
> +               ln -sf libEGL.so.1 libEGL.so \
> +       )
> +endef
> +
> +define NVIDIA_TEGRA23_BINARIES_INSTALL_STAGING_CMDS
> +       $(call NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS,$(STAGING_DIR))
> +       $(foreach pkgconfig,$(NVIDIA_TEGRA23_BINARIES_PKGCONFIG),
> +               $(INSTALL) -D -m 0644
> package/nvidia-tegra23/nvidia-tegra23-binaries/$(pkgconfig) \
> +                       $(STAGING_DIR)/usr/lib/pkgconfig/$(pkgconfig); \
> +       )
> +endef
> +
> +define NVIDIA_TEGRA23_BINARIES_INSTALL_TARGET_CMDS
> +       $(call NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS,$(TARGET_DIR))
> +       $(foreach firmware,$(NVIDIA_TEGRA23_BINARIES_FIRMWARE),
> +               $(INSTALL) -D -m 0644
> $(@D)/nv_tegra/nvidia_drivers/lib/firmware/$(firmware) \
> +                       $(TARGET_DIR)/lib/firmware/$(firmware); \
> +       )
> +       $(INSTALL) -D -m 0644
> $(@D)/nv_tegra/nvidia_drivers/etc/nv_tegra_release \
> +               $(TARGET_DIR)/etc/nv_tegra_release
> +       $(INSTALL) -D -m 0644 $(@D)/$(NVIDIA_TEGRA23_BINARIES_DRV) \
> +               $(TARGET_DIR)/usr/lib/xorg/modules/drivers/tegra_drv.so
> +endef
> +
> +$(eval $(generic-package))
> diff --git a/package/nvidia-tegra23/nvidia-tegra23.mk
> b/package/nvidia-tegra23/nvidia-tegra23.mk
> new file mode 100644
> index 0000000..46a7e04
> --- /dev/null
> +++ b/package/nvidia-tegra23/nvidia-tegra23.mk
> @@ -0,0 +1,17 @@
>
> +################################################################################
> +#
> +# nvidia-tegra23
> +#
>
> +################################################################################
> +
> +NVIDIA_TEGRA23_SITE =
> https://developer.nvidia.com/sites/default/files/akamai/mobile/files/L4T
> +NVIDIA_TEGRA23_VERSION = 16.4.0
> +
> +ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA2),y)
> +NVIDIA_TEGRA23_BASE = Tegra20_Linux
> +endif
> +ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA3),y)
> +NVIDIA_TEGRA23_BASE = Tegra30_Linux
> +endif
> +
> +include $(sort $(wildcard package/nvidia-tegra23/*/*.mk))
> --
> 1.9.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150126/6c198446/attachment.html>


More information about the buildroot mailing list