Message ID | c51b22347b65d6afefcdd92b7cbc36b62b3e8c2e.1422055104.git.yann.morin.1998@free.fr |
---|---|
State | Changes Requested |
Headers | show |
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@free.fr>: > From: Nicolas Serafini <nicolas.serafini@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@sensefly.com> > [yann.morin.1998@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@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@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot >
Benoît, All, On 2015-01-26 14:31 +0100, Ben Ben spake thusly: > They are no package khronos-registry-openmax. > I replace it with khronos-registry-openmaxil. Fixed, thanks for spotting. Regards, Yann E. MORIN.
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))