initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,129 @@
|
||||
menuconfig BR2_PACKAGE_FREESCALE_IMX
|
||||
bool "Freescale i.MX libraries"
|
||||
depends on BR2_arm || BR2_aarch64
|
||||
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/imx6dl"
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
|
||||
bool "imx6sl/imx6sx"
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
|
||||
bool "imx6ul/imx6ull"
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
|
||||
bool "imx7d/imx7ulp"
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8
|
||||
bool "imx8"
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
|
||||
bool "imx8m"
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
|
||||
bool "imx8mm"
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
|
||||
bool "imx8mn"
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP
|
||||
bool "imx8mp"
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
|
||||
bool "imx8x"
|
||||
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
|
||||
default "IMX6S" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
|
||||
default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
|
||||
default "IMX7" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
|
||||
default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8
|
||||
default "IMX8MQ" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
|
||||
default "IMX8MM" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
|
||||
default "IMX8MN" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
|
||||
default "IMX8MP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP
|
||||
|
||||
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
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
|
||||
bool
|
||||
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP
|
||||
|
||||
config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
|
||||
bool
|
||||
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
|
||||
|
||||
source "package/freescale-imx/imx-alsa-plugins/Config.in"
|
||||
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-m4fwloader/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-vpu-hantro/Config.in"
|
||||
source "package/freescale-imx/imx-vpuwrap/Config.in"
|
||||
source "package/freescale-imx/firmware-imx/Config.in"
|
||||
source "package/freescale-imx/imx-sc-firmware/Config.in"
|
||||
source "package/freescale-imx/imx-seco/Config.in"
|
||||
source "package/freescale-imx/imx-vpu-hantro-vc/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_HAS_VIV_GPU
|
||||
source "package/freescale-imx/imx-gpu-g2d/Config.in"
|
||||
source "package/freescale-imx/imx-gpu-viv/Config.in"
|
||||
source "package/freescale-imx/kernel-module-imx-gpu-viv/Config.in"
|
||||
endif
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,90 @@
|
||||
config BR2_PACKAGE_FIRMWARE_IMX
|
||||
bool "firmware-imx"
|
||||
depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
|
||||
help
|
||||
Firmware blobs for the Freescale i.MX SoCs.
|
||||
|
||||
It contains blobs for SDMA, VPU, HDMI, EDPC, and DDR
|
||||
training.
|
||||
|
||||
This library is provided by Freescale as-is and doesn't have
|
||||
an upstream.
|
||||
|
||||
if BR2_PACKAGE_FIRMWARE_IMX
|
||||
|
||||
config BR2_PACKAGE_FIRMWARE_IMX_SDMA_FW_NAME
|
||||
string
|
||||
default "imx25" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX25_3STACK
|
||||
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
|
||||
default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
|
||||
default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
|
||||
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
|
||||
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
|
||||
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
|
||||
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
|
||||
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP
|
||||
|
||||
config BR2_PACKAGE_FIRMWARE_IMX_VPU_FW_NAME
|
||||
string
|
||||
default "imx27" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS
|
||||
default "imx51" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51
|
||||
default "imx53" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53
|
||||
default "imx6" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
|
||||
default "imx8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8
|
||||
default "imx8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
|
||||
|
||||
config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW
|
||||
bool
|
||||
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
|
||||
|
||||
config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EPDC_FW
|
||||
bool
|
||||
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
|
||||
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
|
||||
|
||||
config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
|
||||
bool
|
||||
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
|
||||
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
|
||||
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
|
||||
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP
|
||||
|
||||
if BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
|
||||
|
||||
choice
|
||||
bool "DDR training binaries"
|
||||
default BR2_PACKAGE_FIRMWARE_IMX_LPDDR4
|
||||
help
|
||||
Choose the DDR training binaries to be used depending on the
|
||||
kind of memory that is available on the target board (DDR4,
|
||||
LPDDR4, etc...).
|
||||
|
||||
config BR2_PACKAGE_FIRMWARE_IMX_LPDDR4
|
||||
bool "lpddr4"
|
||||
help
|
||||
Use LPDDR4 binaries (i.e.: lpddr4_pmu_train_*.bin)
|
||||
|
||||
config BR2_PACKAGE_FIRMWARE_IMX_DDR4
|
||||
bool "DDR4"
|
||||
help
|
||||
Use DDR4 binaries (i.e.: ddr4_*_201810.bin).
|
||||
|
||||
endchoice # DDR training FW
|
||||
|
||||
config BR2_PACKAGE_FIRMWARE_IMX_IMEM_LEN
|
||||
hex "(LP)DDR IMEM padding length"
|
||||
default 0x8000
|
||||
help
|
||||
The IMEM firmware will be padded to this length
|
||||
|
||||
config BR2_PACKAGE_FIRMWARE_IMX_DMEM_LEN
|
||||
hex "(LP)DDR DMEM padding length"
|
||||
default 0x4000
|
||||
help
|
||||
The DMEM firmware will be padded to this length
|
||||
|
||||
endif # BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
|
||||
|
||||
endif # BR2_PACKAGE_FIRMWARE_IMX
|
||||
@@ -0,0 +1,4 @@
|
||||
# Locally calculated
|
||||
sha256 6b6747bf36ecc53e385234afdce01f69c5775adf0d6685c885281ca6e4e322ef firmware-imx-8.12.bin
|
||||
sha256 ea58636bf34f589048fcd46e38497c47229fde8498df086ff5fb52f9ef8e15ee COPYING
|
||||
sha256 50099e283cfd307f84f159aeb1a6f462351320273dbcdb80d7f2c9db0494b71c EULA
|
||||
@@ -0,0 +1,148 @@
|
||||
################################################################################
|
||||
#
|
||||
# firmware-imx
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FIRMWARE_IMX_VERSION = 8.12
|
||||
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_INSTALL_IMAGES = YES
|
||||
|
||||
define FIRMWARE_IMX_EXTRACT_CMDS
|
||||
$(call FREESCALE_IMX_EXTRACT_HELPER,$(FIRMWARE_IMX_DL_DIR)/$(FIRMWARE_IMX_SOURCE))
|
||||
endef
|
||||
|
||||
#
|
||||
# DDR firmware
|
||||
#
|
||||
|
||||
define FIRMWARE_IMX_PREPARE_DDR_FW
|
||||
$(TARGET_OBJCOPY) -I binary -O binary \
|
||||
--pad-to $(BR2_PACKAGE_FIRMWARE_IMX_IMEM_LEN) --gap-fill=0x0 \
|
||||
$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(1)).bin \
|
||||
$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(1))_pad.bin
|
||||
$(TARGET_OBJCOPY) -I binary -O binary \
|
||||
--pad-to $(BR2_PACKAGE_FIRMWARE_IMX_DMEM_LEN) --gap-fill=0x0 \
|
||||
$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(2)).bin \
|
||||
$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(2))_pad.bin
|
||||
cat $(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(1))_pad.bin \
|
||||
$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(2))_pad.bin > \
|
||||
$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(3)).bin
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),y)
|
||||
FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys
|
||||
|
||||
define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
|
||||
# Create padded versions of lpddr4_pmu_* and generate lpddr4_pmu_train_fw.bin.
|
||||
# lpddr4_pmu_train_fw.bin is needed when generating imx8-boot-sd.bin
|
||||
# which is done in post-image script.
|
||||
$(call FIRMWARE_IMX_PREPARE_DDR_FW, \
|
||||
lpddr4_pmu_train_1d_imem,lpddr4_pmu_train_1d_dmem,lpddr4_pmu_train_1d_fw)
|
||||
$(call FIRMWARE_IMX_PREPARE_DDR_FW, \
|
||||
lpddr4_pmu_train_2d_imem,lpddr4_pmu_train_2d_dmem,lpddr4_pmu_train_2d_fw)
|
||||
cat $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_1d_fw.bin \
|
||||
$(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_2d_fw.bin > \
|
||||
$(BINARIES_DIR)/lpddr4_pmu_train_fw.bin
|
||||
ln -sf $(BINARIES_DIR)/lpddr4_pmu_train_fw.bin $(BINARIES_DIR)/ddr_fw.bin
|
||||
|
||||
# U-Boot supports creation of the combined flash.bin image. To make
|
||||
# sure that U-Boot can access all available files copy them to
|
||||
# the binary dir.
|
||||
cp $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4*.bin $(BINARIES_DIR)/
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_DDR4),y)
|
||||
FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys
|
||||
|
||||
define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
|
||||
# Create padded versions of ddr4_* and generate ddr4_fw.bin.
|
||||
# ddr4_fw.bin is needed when generating imx8-boot-sd.bin
|
||||
# which is done in post-image script.
|
||||
$(call FIRMWARE_IMX_PREPARE_DDR_FW, \
|
||||
ddr4_imem_1d_201810,ddr4_dmem_1d_201810,ddr4_1d_201810_fw)
|
||||
$(call FIRMWARE_IMX_PREPARE_DDR_FW, \
|
||||
ddr4_imem_2d_201810,ddr4_dmem_2d_201810,ddr4_2d_201810_fw)
|
||||
cat $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_1d_201810_fw.bin \
|
||||
$(FIRMWARE_IMX_DDRFW_DIR)/ddr4_2d_201810_fw.bin > \
|
||||
$(BINARIES_DIR)/ddr4_201810_fw.bin
|
||||
ln -sf $(BINARIES_DIR)/ddr4_201810_fw.bin $(BINARIES_DIR)/ddr_fw.bin
|
||||
|
||||
# U-Boot supports creation of the combined flash.bin image. To make
|
||||
# sure that U-Boot can access all available files copy them to
|
||||
# the binary dir.
|
||||
cp $(FIRMWARE_IMX_DDRFW_DIR)/ddr4*.bin $(BINARIES_DIR)/
|
||||
endef
|
||||
endif
|
||||
|
||||
#
|
||||
# HDMI firmware
|
||||
#
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW),y)
|
||||
define FIRMWARE_IMX_INSTALL_IMAGE_HDMI_FW
|
||||
cp $(@D)/firmware/hdmi/cadence/signed_hdmi_imx8m.bin \
|
||||
$(BINARIES_DIR)/signed_hdmi_imx8m.bin
|
||||
endef
|
||||
endif
|
||||
|
||||
#
|
||||
# EPDC firmware
|
||||
#
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EPDC_FW),y)
|
||||
define FIRMWARE_IMX_INSTALL_TARGET_EPDC_FW
|
||||
mkdir -p $(TARGET_DIR)/lib/firmware/imx
|
||||
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
|
||||
endif
|
||||
|
||||
#
|
||||
# SDMA firmware
|
||||
#
|
||||
|
||||
FIRMWARE_IMX_SDMA_FW_NAME = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_IMX_SDMA_FW_NAME))
|
||||
ifneq ($(FIRMWARE_IMX_SDMA_FW_NAME),)
|
||||
define FIRMWARE_IMX_INSTALL_TARGET_SDMA_FW
|
||||
mkdir -p $(TARGET_DIR)/lib/firmware/imx/sdma
|
||||
cp -r $(@D)/firmware/sdma/sdma-$(FIRMWARE_IMX_SDMA_FW_NAME)*.bin \
|
||||
$(TARGET_DIR)/lib/firmware/imx/sdma/
|
||||
endef
|
||||
endif
|
||||
|
||||
#
|
||||
# VPU firmware
|
||||
#
|
||||
|
||||
FIRMWARE_IMX_VPU_FW_NAME = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_IMX_VPU_FW_NAME))
|
||||
ifneq ($(FIRMWARE_IMX_VPU_FW_NAME),)
|
||||
define FIRMWARE_IMX_INSTALL_TARGET_VPU_FW
|
||||
mkdir -p $(TARGET_DIR)/lib/firmware/vpu
|
||||
for i in $$(find $(@D)/firmware/vpu/vpu_fw_$(FIRMWARE_IMX_VPU_FW_NAME)*.bin); do \
|
||||
cp $$i $(TARGET_DIR)/lib/firmware/vpu/ ; \
|
||||
ln -sf vpu/$$(basename $$i) $(TARGET_DIR)/lib/firmware/$$(basename $$i) ; \
|
||||
done
|
||||
endef
|
||||
endif
|
||||
|
||||
define FIRMWARE_IMX_INSTALL_IMAGES_CMDS
|
||||
$(FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW)
|
||||
$(FIRMWARE_IMX_INSTALL_IMAGE_HDMI_FW)
|
||||
endef
|
||||
|
||||
define FIRMWARE_IMX_INSTALL_TARGET_CMDS
|
||||
$(FIRMWARE_IMX_INSTALL_TARGET_EPDC_FW)
|
||||
$(FIRMWARE_IMX_INSTALL_TARGET_SDMA_FW)
|
||||
$(FIRMWARE_IMX_INSTALL_TARGET_VPU_FW)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,34 @@
|
||||
################################################################################
|
||||
#
|
||||
# freescale-imx
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FREESCALE_IMX_SITE = http://www.nxp.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))
|
||||
@@ -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)"
|
||||
depends on BR2_ARM_EABI
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
select BR2_PACKAGE_HAS_LIBEGL
|
||||
select BR2_PACKAGE_HAS_LIBGLES
|
||||
select BR2_PACKAGE_HAS_LIBOPENVG
|
||||
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
|
||||
bool "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
|
||||
|
||||
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
|
||||
@@ -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}
|
||||
@@ -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}
|
||||
@@ -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
|
||||
@@ -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,$(GPU_AMD_BIN_MX51_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))
|
||||
@@ -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}/
|
||||
@@ -0,0 +1,22 @@
|
||||
config BR2_PACKAGE_IMX_ALSA_PLUGINS
|
||||
bool "imx-alsa-plugins"
|
||||
depends on BR2_arm # Only relevant for i.MX
|
||||
depends on BR2_LINUX_KERNEL
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
|
||||
select BR2_PACKAGE_ALSA_LIB
|
||||
help
|
||||
ALSA plugins specific for the Freescale i.MX platform. It
|
||||
requires a kernel that includes the i.MX specific headers
|
||||
to be built.
|
||||
|
||||
The following plugins are provided so far:
|
||||
* Rate Converter Plugin Using Freescale ASRC Hardware
|
||||
Resampler (i.MX53 and most i.MX6)
|
||||
|
||||
comment "imx-alsa-libs needs an imx-specific Linux kernel to be built"
|
||||
depends on BR2_arm
|
||||
depends on !BR2_LINUX_KERNEL
|
||||
|
||||
comment "imx-alsa-libs needs a toolchain w/ threads"
|
||||
depends on BR2_arm
|
||||
depends on BR2_LINUX_KERNEL && !BR2_TOOLCHAIN_HAS_THREADS
|
||||
@@ -0,0 +1,3 @@
|
||||
# Locally calculated:
|
||||
sha256 a9a5ef408a7329c2c5fa2a084ae7824afbfbebed68612bd72509488ccb0b94b3 imx-alsa-plugins-rel_imx_4.9.x_1.0.0_ga-br1.tar.gz
|
||||
sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL
|
||||
@@ -0,0 +1,21 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-alsa-plugins
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_ALSA_PLUGINS_VERSION = rel_imx_4.9.x_1.0.0_ga
|
||||
IMX_ALSA_PLUGINS_SITE = https://source.codeaurora.org/external/imx/imx-alsa-plugins
|
||||
IMX_ALSA_PLUGINS_SITE_METHOD = git
|
||||
IMX_ALSA_PLUGINS_LICENSE = GPL-2.0+
|
||||
IMX_ALSA_PLUGINS_LICENSE_FILES = COPYING.GPL
|
||||
IMX_ALSA_PLUGINS_DEPENDENCIES = host-pkgconf alsa-lib
|
||||
|
||||
# git, no configure
|
||||
IMX_ALSA_PLUGINS_AUTORECONF = YES
|
||||
|
||||
# needs access to imx-specific kernel headers
|
||||
IMX_ALSA_PLUGINS_DEPENDENCIES += linux
|
||||
IMX_ALSA_PLUGINS_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -idirafter $(LINUX_DIR)/include/uapi"
|
||||
|
||||
$(eval $(autotools-package))
|
||||
@@ -0,0 +1,13 @@
|
||||
config BR2_PACKAGE_IMX_CODEC
|
||||
bool "imx-codec"
|
||||
depends on BR2_arm || BR2_aarch64 # 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 || BR2_aarch64
|
||||
depends on !BR2_TOOLCHAIN_USES_GLIBC
|
||||
@@ -0,0 +1,4 @@
|
||||
# locally computed
|
||||
sha256 6bb54f91c3ca18567e14d95d3858022dc9be00dc86e9edfdb544d1240a3b2b04 imx-codec-4.3.5.bin
|
||||
sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING
|
||||
sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA
|
||||
@@ -0,0 +1,44 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-codec
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_CODEC_VERSION = 4.3.5
|
||||
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-3-Clause (flac, ogg headers)
|
||||
IMX_CODEC_LICENSE_FILES = EULA COPYING
|
||||
IMX_CODEC_REDISTRIBUTE = NO
|
||||
|
||||
ifeq ($(BR2_aarch64),y)
|
||||
IMX_CODEC_CONF_OPTS += --enable-armv8
|
||||
endif
|
||||
|
||||
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,$(IMX_CODEC_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))
|
||||
@@ -0,0 +1,29 @@
|
||||
comment "imx-gpu-g2d needs a glibc toolchain with armhf enabled"
|
||||
depends on BR2_arm
|
||||
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF
|
||||
|
||||
comment "imx-gpu-g2d needs a glibc toolchain"
|
||||
depends on BR2_aarch64
|
||||
depends on !BR2_TOOLCHAIN_USES_GLIBC
|
||||
|
||||
config BR2_PACKAGE_IMX_GPU_G2D
|
||||
bool "imx-gpu-g2d"
|
||||
# Pre-built binaries only available for ARM EABIhf
|
||||
depends on (BR2_arm && BR2_ARM_EABIHF) || BR2_aarch64
|
||||
# Library binaries are linked against libc.so.6
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC
|
||||
select BR2_PACKAGE_IMX_GPU_VIV
|
||||
help
|
||||
Userspace 2D libraries for Vivante GPU on i.MX platforms.
|
||||
|
||||
This library is provided by NXP as-is and doesn't have an
|
||||
upstream.
|
||||
|
||||
if BR2_PACKAGE_IMX_GPU_G2D
|
||||
|
||||
config BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES
|
||||
bool "install examples"
|
||||
help
|
||||
Copy the Vivante G2D examples to the target.
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,5 @@
|
||||
# Locally calculated
|
||||
sha256 39fe307916e19a0892a514621121086e276a43858af90230372a1344852116a2 imx-gpu-g2d-6.4.3.p2.0-arm.bin
|
||||
sha256 2642a49e088daae4cf568a150d01e7c095995e8a6ff1883c02c3fa6d26d254b3 imx-gpu-g2d-6.4.3.p2.0-aarch64.bin
|
||||
sha256 ea58636bf34f589048fcd46e38497c47229fde8498df086ff5fb52f9ef8e15ee COPYING
|
||||
sha256 50099e283cfd307f84f159aeb1a6f462351320273dbcdb80d7f2c9db0494b71c EULA
|
||||
@@ -0,0 +1,41 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-gpu-g2d
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ifeq ($(BR2_aarch64),y)
|
||||
IMX_GPU_G2D_VERSION = 6.4.3.p2.0-aarch64
|
||||
else
|
||||
IMX_GPU_G2D_VERSION = 6.4.3.p2.0-arm
|
||||
endif
|
||||
IMX_GPU_G2D_SITE = $(FREESCALE_IMX_SITE)
|
||||
IMX_GPU_G2D_SOURCE = imx-gpu-g2d-$(IMX_GPU_G2D_VERSION).bin
|
||||
IMX_GPU_G2D_DEPENDENCIES = imx-gpu-viv
|
||||
IMX_GPU_G2D_INSTALL_STAGING = YES
|
||||
|
||||
IMX_GPU_G2D_LICENSE = NXP Semiconductor Software License Agreement
|
||||
IMX_GPU_G2D_LICENSE_FILES = EULA COPYING
|
||||
IMX_GPU_G2D_REDISTRIBUTE = NO
|
||||
|
||||
define IMX_GPU_G2D_EXTRACT_CMDS
|
||||
$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_GPU_G2D_DL_DIR)/$(IMX_GPU_G2D_SOURCE))
|
||||
endef
|
||||
|
||||
define IMX_GPU_G2D_INSTALL_STAGING_CMDS
|
||||
cp -a $(@D)/g2d/usr/* $(STAGING_DIR)/usr
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES),y)
|
||||
define IMX_GPU_G2D_INSTALL_EXAMPLES
|
||||
mkdir -p $(TARGET_DIR)/usr/share/examples/
|
||||
cp -a $(@D)/gpu-demos/opt/* $(TARGET_DIR)/usr/share/examples/
|
||||
endef
|
||||
endif
|
||||
|
||||
define IMX_GPU_G2D_INSTALL_TARGET_CMDS
|
||||
$(IMX_GPU_G2D_INSTALL_EXAMPLES)
|
||||
cp -a $(@D)/g2d/usr/lib $(TARGET_DIR)/usr
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,103 @@
|
||||
comment "imx-gpu-viv needs a glibc toolchain with armhf enabled"
|
||||
depends on BR2_arm
|
||||
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF
|
||||
|
||||
comment "imx-gpu-viv needs a glibc toolchain"
|
||||
depends on BR2_aarch64
|
||||
depends on !BR2_TOOLCHAIN_USES_GLIBC
|
||||
|
||||
config BR2_PACKAGE_IMX_GPU_VIV
|
||||
bool "imx-gpu-viv"
|
||||
# Pre-built binaries only available for ARM EABIhf
|
||||
depends on (BR2_arm && BR2_ARM_EABIHF) || BR2_aarch64
|
||||
# Library binaries are linked against libc.so.6
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC
|
||||
# Library binaries are linked against libdrm.so.2, except framebuffer
|
||||
# output on ARM
|
||||
select BR2_PACKAGE_LIBDRM if !(BR2_arm && BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB)
|
||||
select BR2_PACKAGE_HAS_LIBEGL
|
||||
select BR2_PACKAGE_HAS_LIBGLES
|
||||
select BR2_PACKAGE_HAS_LIBOPENCL
|
||||
select BR2_PACKAGE_HAS_LIBOPENVG
|
||||
help
|
||||
Userspace libraries for Vivante GPU on i.MX 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
|
||||
# The i.MX8 blob doesn't support X11 output
|
||||
depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
|
||||
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
|
||||
depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
|
||||
|
||||
config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB
|
||||
bool "Framebuffer"
|
||||
# The i.MX8 blob doesn't support FB output
|
||||
depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
|
||||
|
||||
config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
|
||||
bool "Wayland"
|
||||
select BR2_PACKAGE_WAYLAND
|
||||
select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
|
||||
|
||||
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
|
||||
default "wayland" if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_LIBEGL
|
||||
default "imx-gpu-viv"
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_LIBGLES
|
||||
default "imx-gpu-viv"
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_LIBOPENCL
|
||||
default "imx-gpu-viv"
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_LIBOPENVG
|
||||
default "imx-gpu-viv"
|
||||
|
||||
config BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES
|
||||
bool "install examples"
|
||||
# example binaries are linked against libstdc++.so.6
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
help
|
||||
Copy the Vivante examples to the target.
|
||||
|
||||
Warning: examples take approximately 150 MB of disk space.
|
||||
|
||||
comment "imx-gpu-viv-examples need a toolchain w/ C++ support"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP
|
||||
|
||||
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
|
||||
@@ -0,0 +1,5 @@
|
||||
# Locally calculated
|
||||
sha256 1324b1aaf190110b80ad9a6f6533f4f50dce9e9ab8d49d8503f59764b151d219 imx-gpu-viv-6.4.3.p2.0-aarch32.bin
|
||||
sha256 003c30baefb1655790b475c3cdfa5cefbf81ea89ef37c6649b64f151dd23a52e imx-gpu-viv-6.4.3.p2.0-aarch64.bin
|
||||
sha256 ea58636bf34f589048fcd46e38497c47229fde8498df086ff5fb52f9ef8e15ee COPYING
|
||||
sha256 50099e283cfd307f84f159aeb1a6f462351320273dbcdb80d7f2c9db0494b71c EULA
|
||||
@@ -0,0 +1,96 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-gpu-viv
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ifeq ($(BR2_aarch64),y)
|
||||
IMX_GPU_VIV_VERSION = 6.4.3.p2.0-aarch64
|
||||
else
|
||||
IMX_GPU_VIV_VERSION = 6.4.3.p2.0-aarch32
|
||||
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 = NXP Semiconductor Software License Agreement
|
||||
IMX_GPU_VIV_LICENSE_FILES = EULA COPYING
|
||||
IMX_GPU_VIV_REDISTRIBUTE = NO
|
||||
|
||||
IMX_GPU_VIV_PROVIDES = libegl libgles libopencl 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
|
||||
|
||||
# Libraries are linked against libdrm, except framebuffer output on ARM
|
||||
ifneq ($(IMX_GPU_VIV_LIB_TARGET)$(BR2_arm),fby)
|
||||
IMX_GPU_VIV_DEPENDENCIES += libdrm
|
||||
endif
|
||||
|
||||
ifeq ($(IMX_GPU_VIV_LIB_TARGET),wayland)
|
||||
IMX_GPU_VIV_DEPENDENCIES += wayland
|
||||
endif
|
||||
|
||||
define IMX_GPU_VIV_EXTRACT_CMDS
|
||||
$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_GPU_VIV_DL_DIR)/$(IMX_GPU_VIV_SOURCE))
|
||||
endef
|
||||
|
||||
ifeq ($(IMX_GPU_VIV_LIB_TARGET),fb)
|
||||
define IMX_GPU_VIV_FIXUP_PKGCONFIG
|
||||
ln -sf egl_linuxfb.pc $(@D)/gpu-core/usr/lib/pkgconfig/egl.pc
|
||||
endef
|
||||
else ifeq ($(IMX_GPU_VIV_LIB_TARGET),wayland)
|
||||
define IMX_GPU_VIV_FIXUP_PKGCONFIG
|
||||
ln -sf egl_wayland.pc $(@D)/gpu-core/usr/lib/pkgconfig/egl.pc
|
||||
endef
|
||||
else ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11)
|
||||
define IMX_GPU_VIV_FIXUP_PKGCONFIG
|
||||
$(foreach lib,egl gbm glesv1_cm glesv2 vg, \
|
||||
ln -sf $(lib)_x11.pc $(@D)/gpu-core/usr/lib/pkgconfig/$(lib).pc
|
||||
)
|
||||
endef
|
||||
endif
|
||||
|
||||
# Instead of building, we fix up the inconsistencies that exist
|
||||
# in the upstream archive here. We also remove unused backend files.
|
||||
# Make sure these commands are idempotent.
|
||||
define IMX_GPU_VIV_BUILD_CMDS
|
||||
cp -dpfr $(@D)/gpu-core/usr/lib/$(IMX_GPU_VIV_LIB_TARGET)/* $(@D)/gpu-core/usr/lib/
|
||||
$(foreach backend,fb x11 wayland, \
|
||||
$(RM) -r $(@D)/gpu-core/usr/lib/$(backend)
|
||||
)
|
||||
$(IMX_GPU_VIV_FIXUP_PKGCONFIG)
|
||||
endef
|
||||
|
||||
define IMX_GPU_VIV_INSTALL_STAGING_CMDS
|
||||
cp -r $(@D)/gpu-core/usr/* $(STAGING_DIR)/usr
|
||||
endef
|
||||
|
||||
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_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
|
||||
|
||||
define IMX_GPU_VIV_INSTALL_TARGET_CMDS
|
||||
$(IMX_GPU_VIV_INSTALL_EXAMPLES)
|
||||
$(IMX_GPU_VIV_INSTALL_GMEM_INFO)
|
||||
cp -a $(@D)/gpu-core/usr/lib $(TARGET_DIR)/usr
|
||||
$(INSTALL) -D -m 0644 $(@D)/gpu-core/etc/Vivante.icd $(TARGET_DIR)/etc/OpenCL/vendors/Vivante.icd
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
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.
|
||||
@@ -0,0 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 5855c8964f908ad30e5d4500180ee57c51af68186289ef1bdf8553ee60d3b1f5 imx-kobs-a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b.tar.gz
|
||||
sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING
|
||||
@@ -0,0 +1,12 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-kobs
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_KOBS_VERSION = a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b
|
||||
IMX_KOBS_SITE = $(call github,codeauroraforum,imx-kobs,$(IMX_KOBS_VERSION))
|
||||
IMX_KOBS_LICENSE = GPL-2.0+
|
||||
IMX_KOBS_LICENSE_FILES = COPYING
|
||||
|
||||
$(eval $(autotools-package))
|
||||
@@ -0,0 +1,15 @@
|
||||
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.
|
||||
@@ -0,0 +1,3 @@
|
||||
# locally computed
|
||||
sha256 cad7823568cbd367ed8525e01c8c11a2393fc2dc481425273cb7919385367c61 imx-lib-3f777974c0c146817e2ff5cb0340ca66a1f99e57-br1.tar.gz
|
||||
sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING-LGPL-2.1
|
||||
@@ -0,0 +1,39 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-lib
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_LIB_VERSION = 3f777974c0c146817e2ff5cb0340ca66a1f99e57
|
||||
IMX_LIB_SITE = https://source.codeaurora.org/external/imx/imx-lib
|
||||
IMX_LIB_SITE_METHOD = git
|
||||
IMX_LIB_LICENSE = LGPL-2.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 = \
|
||||
-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))
|
||||
@@ -0,0 +1,8 @@
|
||||
config BR2_PACKAGE_IMX_M4FWLOADER
|
||||
bool "imx-m4fwloader"
|
||||
depends on BR2_arm # Only relevant for i.MX
|
||||
help
|
||||
This package provides a tool to load a firmware to the
|
||||
Cortex-M4 core available in some i.MX processors.
|
||||
|
||||
https://github.com/codeauroraforum/imx-m4fwloader
|
||||
@@ -0,0 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 fb6334900972fe389e808845417dd9045fb0f7eb47952fc22a00f4cdaf94af1a imx-m4fwloader-8cf4d17a09ba23250d43381b49ba00d92406fad9.tar.gz
|
||||
sha256 c03cea027b4b40e4402fabd08557736727ec3d5bc54ad64ab6472de432198cad LICENSE
|
||||
@@ -0,0 +1,22 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-m4fwloader
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_M4FWLOADER_VERSION = 8cf4d17a09ba23250d43381b49ba00d92406fad9
|
||||
IMX_M4FWLOADER_SITE = $(call github,codeauroraforum,imx-m4fwloader,$(IMX_M4FWLOADER_VERSION))
|
||||
IMX_M4FWLOADER_LICENSE = GPL-2.0+
|
||||
IMX_M4FWLOADER_LICENSE_FILES = LICENSE
|
||||
|
||||
define IMX_M4FWLOADER_BUILD_CMDS
|
||||
$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -o $(@D)/imx-m4fwloader \
|
||||
$(@D)/m4fwloader.c
|
||||
endef
|
||||
|
||||
define IMX_M4FWLOADER_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -D -m 755 $(@D)/imx-m4fwloader \
|
||||
$(TARGET_DIR)/usr/sbin/imx-m4fwloader
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,8 @@
|
||||
config BR2_PACKAGE_IMX_PARSER
|
||||
bool "imx-parser"
|
||||
depends on BR2_arm || BR2_aarch64 # 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.
|
||||
@@ -0,0 +1,4 @@
|
||||
# locally computed
|
||||
sha256 9cd8c49a0bb1050afcfbcc7a677a348443fda4ecacb621cc6e38897619e27c67 imx-parser-4.3.5.bin
|
||||
sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING
|
||||
sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA
|
||||
@@ -0,0 +1,42 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-parser
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_PARSER_VERSION = 4.3.5
|
||||
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_aarch64),y)
|
||||
IMX_PARSER_CONF_OPTS += --enable-armv8
|
||||
endif
|
||||
|
||||
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,$(IMX_PARSER_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))
|
||||
@@ -0,0 +1,10 @@
|
||||
config BR2_PACKAGE_IMX_SC_FIRMWARE
|
||||
bool "imx-sc-firmware"
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
|
||||
help
|
||||
System Control Unit Firmware blobs for the Freescale i.MX8
|
||||
SoCs.
|
||||
|
||||
This library is provided by Freescale as-is and doesn't have
|
||||
an upstream.
|
||||
@@ -0,0 +1,4 @@
|
||||
# Locally calculated
|
||||
sha256 24a647237c0077ce0172563d67fcbc5e8f231bad7cf55a2436848c89579c5a06 imx-sc-firmware-1.8.0.bin
|
||||
sha256 a07e8df685161553d7e0b78b8b93ebe9086d95bb8635abff0ed3247992181e85 EULA
|
||||
sha256 4f3cc2dcbe3b7369bd4a51df749f432b69d8189fc2bde88f9fadbec73c686683 COPYING
|
||||
@@ -0,0 +1,34 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-sc-firmware
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_SC_FIRMWARE_VERSION = 1.8.0
|
||||
IMX_SC_FIRMWARE_SITE = $(FREESCALE_IMX_SITE)
|
||||
IMX_SC_FIRMWARE_SOURCE = imx-sc-firmware-$(IMX_SC_FIRMWARE_VERSION).bin
|
||||
|
||||
IMX_SC_FIRMWARE_LICENSE = NXP Semiconductor Software License Agreement
|
||||
IMX_SC_FIRMWARE_LICENSE_FILES = EULA COPYING
|
||||
IMX_SC_FIRMWARE_REDISTRIBUTE = NO
|
||||
|
||||
define IMX_SC_FIRMWARE_EXTRACT_CMDS
|
||||
$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_SC_FIRMWARE_DL_DIR)/$(IMX_SC_FIRMWARE_SOURCE))
|
||||
endef
|
||||
|
||||
IMX_SC_FIRMWARE_INSTALL_IMAGES = YES
|
||||
|
||||
# SCFW firmware is needed when generating imx8-boot-sd.bin which is
|
||||
# done in post-image script.
|
||||
ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y)
|
||||
define IMX_SC_FIRMWARE_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/mx8qx-mek-scfw-tcm.bin $(BINARIES_DIR)/mx8qx-mek-scfw-tcm.bin
|
||||
cp $(@D)/mx8qx-val-scfw-tcm.bin $(BINARIES_DIR)/mx8qx-val-scfw-tcm.bin
|
||||
endef
|
||||
else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8),y)
|
||||
define IMX_SC_FIRMWARE_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/mx8qm-*-scfw-tcm.bin $(BINARIES_DIR)/
|
||||
endef
|
||||
endif
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,53 @@
|
||||
config BR2_PACKAGE_IMX_SECO
|
||||
bool "imx-seco"
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 || \
|
||||
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
|
||||
help
|
||||
Firmware file for the i.MX8 and i.MX8X Security Controller.
|
||||
|
||||
This library is provided by Freescale as-is and doesn't have
|
||||
an upstream.
|
||||
|
||||
if BR2_PACKAGE_IMX_SECO
|
||||
|
||||
choice
|
||||
prompt "i.MX Seco Firmware Release"
|
||||
default BR2_PACKAGE_IMX_SECO_MX8QMB0 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8
|
||||
default BR2_PACKAGE_IMX_SECO_MX8QXC0 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
|
||||
help
|
||||
Select the appropriate ahab container image to install
|
||||
to match the iMX asics revision.
|
||||
|
||||
Note - mismatches result in a failure to boot
|
||||
|
||||
config BR2_PACKAGE_IMX_SECO_MX8DXLA0
|
||||
bool "imx-seco-mx8dxla0"
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8
|
||||
|
||||
config BR2_PACKAGE_IMX_SECO_MX8DXLA1
|
||||
bool "imx-seco-mx8dxla1"
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8
|
||||
|
||||
config BR2_PACKAGE_IMX_SECO_MX8QMB0
|
||||
bool "imx-seco-mx8qmb0"
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8
|
||||
|
||||
config BR2_PACKAGE_IMX_SECO_MX8QXB0
|
||||
bool "imx-seco-mx8qxb0"
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
|
||||
|
||||
config BR2_PACKAGE_IMX_SECO_MX8QXC0
|
||||
bool "imx-seco-mx8qxc0"
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_PACKAGE_IMX_SECO_AHAB_CONTAINER_IMAGE
|
||||
string
|
||||
default "mx8dxla0-ahab-container.img" if BR2_PACKAGE_IMX_SECO_MX8DXLA0
|
||||
default "mx8dxla1-ahab-container.img" if BR2_PACKAGE_IMX_SECO_MX8DXLA1
|
||||
default "mx8qmb0-ahab-container.img" if BR2_PACKAGE_IMX_SECO_MX8QMB0
|
||||
default "mx8qxb0-ahab-container.img" if BR2_PACKAGE_IMX_SECO_MX8QXB0
|
||||
default "mx8qxc0-ahab-container.img" if BR2_PACKAGE_IMX_SECO_MX8QXC0
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,4 @@
|
||||
# Locally calculated
|
||||
sha256 08cf25a4be6841ca7264a50b29c311b386eae1c02fced8a3b55fd04213acb4bc imx-seco-3.7.5.bin
|
||||
sha256 72edc2072c86d93aa1993d15d4d19d96270af3749b0108995ad50c81d1461f52 EULA
|
||||
sha256 9c16421e7c702f56756650b8ac954d34556327e598a8666e6e8f4eb3a1aa95f1 COPYING
|
||||
@@ -0,0 +1,30 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-seco
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_SECO_VERSION = 3.7.5
|
||||
IMX_SECO_SITE = $(FREESCALE_IMX_SITE)
|
||||
IMX_SECO_SOURCE = imx-seco-$(IMX_SECO_VERSION).bin
|
||||
|
||||
IMX_SECO_LICENSE = NXP Semiconductor Software License Agreement
|
||||
IMX_SECO_LICENSE_FILES = EULA COPYING
|
||||
IMX_SECO_REDISTRIBUTE = NO
|
||||
|
||||
define IMX_SECO_EXTRACT_CMDS
|
||||
$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_SECO_DL_DIR)/$(IMX_SECO_SOURCE))
|
||||
endef
|
||||
|
||||
IMX_SECO_INSTALL_IMAGES = YES
|
||||
|
||||
# SECO firmware is needed when generating imx8-boot-sd.bin which
|
||||
# is done in post-image script.
|
||||
IMX_SECO_AHAB_CONTAINER_IMAGE = $(call qstrip,$(BR2_PACKAGE_IMX_SECO_AHAB_CONTAINER_IMAGE))
|
||||
|
||||
define IMX_SECO_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/firmware/seco/$(IMX_SECO_AHAB_CONTAINER_IMAGE) \
|
||||
$(BINARIES_DIR)/ahab-container.img
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,23 @@
|
||||
config BR2_PACKAGE_IMX_UUC
|
||||
bool "imx-uuc"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # usb_functionfs_descs_head_v2
|
||||
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, headers >= 3.18"
|
||||
depends on BR2_arm
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
|
||||
@@ -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 $?
|
||||
@@ -0,0 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 7f4d4838d4bf489932ef4a242677db30ad8d9ffd76065e07f4ddee3e6c35db82 imx-uuc-d6afb27e55d73d7ad08cd2dd51c784d8ec9694dc.tar.gz
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
||||
@@ -0,0 +1,38 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-uuc
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_UUC_VERSION = d6afb27e55d73d7ad08cd2dd51c784d8ec9694dc
|
||||
IMX_UUC_SITE = $(call github,NXPmicro,imx-uuc,$(IMX_UUC_VERSION))
|
||||
IMX_UUC_LICENSE = GPL-2.0+
|
||||
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) $(TARGET_CONFIGURE_OPTS)
|
||||
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
|
||||
$(INSTALL) -D -m 755 $(@D)/ufb $(TARGET_DIR)/usr/bin/ufb
|
||||
dd if=/dev/zero of=$(TARGET_DIR)/fat bs=1M count=1
|
||||
$(HOST_DIR)/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
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
comment "imx-vpu-hantro-vc needs an i.MX-specific Linux kernel to be built"
|
||||
depends on !BR2_LINUX_KERNEL
|
||||
|
||||
comment "imx-vpu-hantro-vc needs an i.MX platform with Hantro VPU"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
|
||||
|
||||
config BR2_PACKAGE_IMX_VPU_HANTRO_VC
|
||||
bool "imx-vpu-hantro-vc"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
|
||||
help
|
||||
i.MX VC8000E Encoder library. Intended for the i.MX 8M Plus
|
||||
processor.
|
||||
@@ -0,0 +1,4 @@
|
||||
# Locally computed:
|
||||
sha256 d5efae484c4271c098286d007590d6bf40c272d4f35702ff65625f2362715ab3 imx-vpu-hantro-vc-1.4.0.bin
|
||||
sha256 ea58636bf34f589048fcd46e38497c47229fde8498df086ff5fb52f9ef8e15ee COPYING
|
||||
sha256 50099e283cfd307f84f159aeb1a6f462351320273dbcdb80d7f2c9db0494b71c EULA
|
||||
@@ -0,0 +1,25 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-vpu-hantro-vc
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_VPU_HANTRO_VC_VERSION = 1.4.0
|
||||
IMX_VPU_HANTRO_VC_SITE = $(FREESCALE_IMX_SITE)
|
||||
IMX_VPU_HANTRO_VC_SOURCE = imx-vpu-hantro-vc-$(IMX_VPU_HANTRO_VC_VERSION).bin
|
||||
IMX_VPU_HANTRO_VC_DEPENDENCIES = linux
|
||||
|
||||
IMX_VPU_HANTRO_VC_LICENSE = NXP Semiconductor Software License Agreement
|
||||
IMX_VPU_HANTRO_VC_LICENSE_FILES = EULA COPYING
|
||||
IMX_VPU_HANTRO_VC_REDISTRIBUTE = NO
|
||||
|
||||
define IMX_VPU_HANTRO_VC_EXTRACT_CMDS
|
||||
$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_HANTRO_VC_DL_DIR)/$(IMX_VPU_HANTRO_VC_SOURCE))
|
||||
endef
|
||||
|
||||
define IMX_VPU_HANTRO_VC_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -D -m 0755 $(@D)/usr/lib/libhantro_vc8000e.so $(TARGET_DIR)/usr/lib/libhantro_vc8000e.so
|
||||
$(INSTALL) -D -m 0755 $(@D)/usr/lib/libhantro_vc8000e.so.1 $(TARGET_DIR)/usr/lib/libhantro_vc8000e.so.1
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
From dfe8ef9123936d2c1d5da34f63f661849171d5ef Mon Sep 17 00:00:00 2001
|
||||
From: Gary Bisson <gary.bisson@boundarydevices.com>
|
||||
Date: Sun, 3 Oct 2021 16:39:29 -0700
|
||||
Subject: [PATCH] Fix ion.h header inclusion to be standard
|
||||
|
||||
NXP "solution" was to manually copy the header to include/linux.
|
||||
Let's point the Makefile to the proper (mainline) location instead:
|
||||
https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h
|
||||
|
||||
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
|
||||
Signed-off-by: Chris Dimich <chris.dimich@boundarydevices.com>
|
||||
---
|
||||
Makefile_G1G2 | 4 ++--
|
||||
Makefile_H1 | 4 ++--
|
||||
decoder_sw/software/linux/dwl/dwl_linux.c | 2 +-
|
||||
h1_encoder/software/linux_reference/ewl/ewl_x280_common.c | 2 +-
|
||||
4 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/Makefile_G1G2 b/Makefile_G1G2
|
||||
index 8f83391..25884fa 100755
|
||||
--- a/Makefile_G1G2
|
||||
+++ b/Makefile_G1G2
|
||||
@@ -10,8 +10,8 @@ INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/so
|
||||
|
||||
INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc
|
||||
#INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver
|
||||
-#INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
|
||||
-INCLUDE_HEADERS += -I$(SDKTARGETSYSROOT)/usr/include/imx
|
||||
+INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
|
||||
+INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi
|
||||
|
||||
CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \
|
||||
-DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \
|
||||
diff --git a/Makefile_H1 b/Makefile_H1
|
||||
index 0979571..479940a 100755
|
||||
--- a/Makefile_H1
|
||||
+++ b/Makefile_H1
|
||||
@@ -17,8 +17,8 @@ ENV = -DENC_MODULE_PATH=\\\"/dev/mxc_hantro_h1\\\"
|
||||
#ENV += -DSDRAM_LM_BASE=0x00000000
|
||||
ENV += -DEWL_NO_HW_TIMEOUT
|
||||
ENV += -DUSE_ION
|
||||
-#ENV += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
|
||||
-ENV += -I$(SDKTARGETSYSROOT)/usr/include/imx
|
||||
+ENV += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include
|
||||
+ENV += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi
|
||||
|
||||
ifeq ($(CFG_SECURE_DATA_PATH), y)
|
||||
ENV += -DCFG_SECURE_DATA_PATH
|
||||
diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c
|
||||
index 7d5e33b..c0e5727 100755
|
||||
--- a/decoder_sw/software/linux/dwl/dwl_linux.c
|
||||
+++ b/decoder_sw/software/linux/dwl/dwl_linux.c
|
||||
@@ -50,7 +50,7 @@
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0)
|
||||
#include <linux/dma-heap.h>
|
||||
#else
|
||||
-#include <linux/ion.h>
|
||||
+#include <ion.h>
|
||||
#endif
|
||||
#ifdef ANDROID
|
||||
#include <linux/mxc_ion.h>
|
||||
diff --git a/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c b/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c
|
||||
index 312e4cc..70630c3 100755
|
||||
--- a/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c
|
||||
+++ b/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c
|
||||
@@ -52,7 +52,7 @@
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0)
|
||||
#include <linux/dma-heap.h>
|
||||
#else
|
||||
-#include <linux/ion.h>
|
||||
+#include <ion.h>
|
||||
#endif
|
||||
#include <linux/dma-buf.h>
|
||||
#include <linux/version.h>
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From 4f51b0a6b9a36cc56fa06eb0f76596d8e387f980 Mon Sep 17 00:00:00 2001
|
||||
From: Gary Bisson <gary.bisson@boundarydevices.com>
|
||||
Date: Fri, 27 Mar 2020 23:17:30 +0100
|
||||
Subject: [PATCH] Fix build with uclibc toolchain
|
||||
|
||||
From: Laurent Gauthier (OSS) <laurent.gauthier_1@oss.nxp.com>
|
||||
|
||||
By default, backtrace support is disabled in uclibc. In that case the
|
||||
execinfo.h header file is missing, producing a build error.
|
||||
|
||||
Signed-off-by: Laurent Gauthier (OSS) <laurent.gauthier_1@oss.nxp.com>
|
||||
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
|
||||
---
|
||||
openmax_il/source/dbgmacros.h | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/openmax_il/source/dbgmacros.h b/openmax_il/source/dbgmacros.h
|
||||
index 3771c91..37ae09f 100755
|
||||
--- a/openmax_il/source/dbgmacros.h
|
||||
+++ b/openmax_il/source/dbgmacros.h
|
||||
@@ -50,13 +50,6 @@
|
||||
# define __USE_GNU
|
||||
#endif
|
||||
|
||||
-#ifndef ANDROID
|
||||
-#include <execinfo.h>
|
||||
-#include <link.h>
|
||||
-#endif
|
||||
-#include <dlfcn.h>
|
||||
-#include <elf.h>
|
||||
-
|
||||
/*****************
|
||||
** DEBUG FLAGS **
|
||||
*****************/
|
||||
@@ -76,6 +69,13 @@
|
||||
#define TRACE_FILE "trace.log"
|
||||
#endif
|
||||
|
||||
+#ifndef ANDROID
|
||||
+#include <execinfo.h>
|
||||
+#include <link.h>
|
||||
+#endif
|
||||
+#include <dlfcn.h>
|
||||
+#include <elf.h>
|
||||
+
|
||||
#ifdef LOG_IN_FILE
|
||||
#define TRACE(...) \
|
||||
{ \
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
comment "imx-vpu-hantro needs an i.MX-specific Linux kernel to be built"
|
||||
depends on !BR2_LINUX_KERNEL
|
||||
|
||||
comment "imx-vpu-hantro needs an i.MX platform with Hantro VPU"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
|
||||
|
||||
config BR2_PACKAGE_IMX_VPU_HANTRO
|
||||
bool "imx-vpu-hantro"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
|
||||
help
|
||||
Library of userspace helpers specific for the NXP i.MX SoC
|
||||
integrating a Hantro Video Processing Unit (VPU) such as the
|
||||
i.MX8MQ/i.MX8MM.
|
||||
It requires a kernel that includes the i.MX specific headers
|
||||
to be built.
|
||||
|
||||
This library is provided by NXP as-is and doesn't have an
|
||||
upstream.
|
||||
@@ -0,0 +1,4 @@
|
||||
# Locally computed:
|
||||
sha256 03c61dfb268b31a0d25a4d1387cb3ad0261029ad5de801f72224602e2b37da00 imx-vpu-hantro-1.22.0.bin
|
||||
sha256 ea58636bf34f589048fcd46e38497c47229fde8498df086ff5fb52f9ef8e15ee COPYING
|
||||
sha256 50099e283cfd307f84f159aeb1a6f462351320273dbcdb80d7f2c9db0494b71c EULA
|
||||
@@ -0,0 +1,43 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-vpu-hantro
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_VPU_HANTRO_VERSION = 1.22.0
|
||||
IMX_VPU_HANTRO_SITE = $(FREESCALE_IMX_SITE)
|
||||
IMX_VPU_HANTRO_SOURCE = imx-vpu-hantro-$(IMX_VPU_HANTRO_VERSION).bin
|
||||
IMX_VPU_HANTRO_DEPENDENCIES = linux
|
||||
IMX_VPU_HANTRO_INSTALL_STAGING = YES
|
||||
|
||||
IMX_VPU_HANTRO_MAKE_ENV = \
|
||||
$(TARGET_MAKE_ENV) \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
SDKTARGETSYSROOT=$(STAGING_DIR) \
|
||||
LINUX_KERNEL_ROOT=$(LINUX_DIR) \
|
||||
PLATFORM=$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM)
|
||||
|
||||
IMX_VPU_HANTRO_LICENSE = NXP Semiconductor Software License Agreement
|
||||
IMX_VPU_HANTRO_LICENSE_FILES = EULA COPYING
|
||||
IMX_VPU_HANTRO_REDISTRIBUTE = NO
|
||||
|
||||
define IMX_VPU_HANTRO_EXTRACT_CMDS
|
||||
$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_HANTRO_DL_DIR)/$(IMX_VPU_HANTRO_SOURCE))
|
||||
endef
|
||||
|
||||
define IMX_VPU_HANTRO_BUILD_CMDS
|
||||
$(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D)
|
||||
endef
|
||||
|
||||
define IMX_VPU_HANTRO_INSTALL_STAGING_CMDS
|
||||
$(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \
|
||||
DEST_DIR=$(STAGING_DIR) libdir=/usr/lib install
|
||||
endef
|
||||
|
||||
define IMX_VPU_HANTRO_INSTALL_TARGET_CMDS
|
||||
$(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \
|
||||
DEST_DIR=$(TARGET_DIR) libdir=/usr/lib install
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,14 @@
|
||||
comment "imx-vpu needs an i.MX platform with VPU support"
|
||||
depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
|
||||
|
||||
config BR2_PACKAGE_IMX_VPU
|
||||
bool "imx-vpu"
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
|
||||
select BR2_PACKAGE_FIRMWARE_IMX
|
||||
help
|
||||
Library of userspace helpers specific for the NXP i.MX SoC
|
||||
integrating a Chips&Media CODA Video Processing Unit (VPU)
|
||||
such as the i.MX27/i.MX5x/i.MX6x.
|
||||
|
||||
This library is provided by NXP as-is and doesn't have an
|
||||
upstream.
|
||||
@@ -0,0 +1,4 @@
|
||||
# Locally computed
|
||||
sha256 87cb799a57df654db29403cb74a75ca5185a1517022d3a4a16b8d69056c36127 imx-vpu-5.4.39.3.bin
|
||||
sha256 2ceab29de5ea533b86f570bcc4e9ddbfb5fe85a1da4978a8613ff3fd9bed781d COPYING
|
||||
sha256 7ffad92e72e5f6b23027e7cf93a770a4acef00a92dcf79f22701ed401c5478c0 EULA
|
||||
@@ -0,0 +1,39 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-vpu
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_VPU_VERSION = 5.4.39.3
|
||||
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,$(IMX_VPU_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))
|
||||
@@ -0,0 +1,19 @@
|
||||
comment "imx-vpuwrap needs an imx-specific Linux kernel to be built"
|
||||
depends on !BR2_LINUX_KERNEL
|
||||
|
||||
comment "imx-vpuwrap needs an i.MX platform with VPU support"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
|
||||
|
||||
config BR2_PACKAGE_IMX_VPUWRAP
|
||||
bool "imx-vpuwrap"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU || BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
|
||||
select BR2_PACKAGE_IMX_VPU if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
|
||||
select BR2_PACKAGE_IMX_VPU_HANTRO if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
|
||||
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.
|
||||
@@ -0,0 +1,4 @@
|
||||
# locally computed
|
||||
sha256 5c08b4b7c771404c998779f0e27a75564b57958d463e2df152c910d76cca9e44 imx-vpuwrap-4.3.5.bin
|
||||
sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING
|
||||
sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA
|
||||
@@ -0,0 +1,28 @@
|
||||
################################################################################
|
||||
#
|
||||
# imx-vpuwrap
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMX_VPUWRAP_VERSION = 4.3.5
|
||||
IMX_VPUWRAP_SITE = $(FREESCALE_IMX_SITE)
|
||||
IMX_VPUWRAP_SOURCE = imx-vpuwrap-$(IMX_VPUWRAP_VERSION).bin
|
||||
IMX_VPUWRAP_INSTALL_STAGING = YES
|
||||
|
||||
ifeq ($(BR2_PACKAGE_IMX_VPU),y)
|
||||
IMX_VPUWRAP_DEPENDENCIES += imx-vpu
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_IMX_VPU_HANTRO),y)
|
||||
IMX_VPUWRAP_DEPENDENCIES += imx-vpu-hantro
|
||||
endif
|
||||
|
||||
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,$(IMX_VPUWRAP_DL_DIR)/$(IMX_VPUWRAP_SOURCE))
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
||||
@@ -0,0 +1,16 @@
|
||||
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.
|
||||
|
||||
This module is only meant for NXP-based kernel.
|
||||
|
||||
https://github.com/Freescale/kernel-module-imx-gpu-viv
|
||||
@@ -0,0 +1,3 @@
|
||||
# locally computed
|
||||
sha256 257c6cd8b01cfb6543827cbeb78409e6a2ad4ae321891751dcea1abc47d89379 kernel-module-imx-gpu-viv-ae0f3be0b7240f11cca191a3e2bdd4a445ee46e5.tar.gz
|
||||
sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING
|
||||
@@ -0,0 +1,24 @@
|
||||
################################################################################
|
||||
#
|
||||
# kernel-module-imx-gpu-viv
|
||||
#
|
||||
################################################################################
|
||||
|
||||
KERNEL_MODULE_IMX_GPU_VIV_VERSION = ae0f3be0b7240f11cca191a3e2bdd4a445ee46e5
|
||||
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 = GPL-2.0
|
||||
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
|
||||
|
||||
define KERNEL_MODULE_IMX_GPU_VIV_LINUX_CONFIG_FIXUPS
|
||||
$(call KCONFIG_DISABLE_OPT,CONFIG_MXC_GPU_VIV)
|
||||
endef
|
||||
|
||||
$(eval $(kernel-module))
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,11 @@
|
||||
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
|
||||
@@ -0,0 +1,3 @@
|
||||
# locally computed
|
||||
sha256 08767eb269a0a30ca0aa3d3b5aa9a53a2d17ed1c24651b7e8cefc7704b883f19 libz160-bin-11.09.01.bin
|
||||
sha256 6d7a2fefc2f7ce888f9eb74919b852aed5a1087b2e84345be90cadbebe1b6578 EULA
|
||||
@@ -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,$(LIBZ160_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))
|
||||
Reference in New Issue
Block a user