Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Copyright 2021-2024 NXP
|
||||
SUMMARY = "NXP i.MX ELE firmware"
|
||||
DESCRIPTION = "EdgeLock Secure Enclave firmware for i.MX series SoCs"
|
||||
SECTION = "base"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
|
||||
|
||||
inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
|
||||
IMX_SRCREV_ABBREV = "d30b14a"
|
||||
SRC_URI[sha256sum] = "293a0e7957ca2a24c6c2edbc87b237141a4b7ef19b35257edce65a026d7cbc0a"
|
||||
|
||||
S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/ele
|
||||
for fw in ${SECO_FIRMWARE_NAME} ${SECOEXT_FIRMWARE_NAME}; do
|
||||
install -m 0644 ${S}/$fw ${D}${nonarch_base_libdir}/firmware/imx/ele
|
||||
done
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
# Deploy the related firmware to be packaged by imx-boot
|
||||
install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
|
||||
}
|
||||
addtask deploy after do_install before do_build
|
||||
|
||||
FILES:${PN} = "${nonarch_base_libdir}/firmware"
|
||||
|
||||
RREPLACES:${PN} = "firmware-sentinel"
|
||||
RPROVIDES:${PN} = "firmware-sentinel"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8ulp-generic-bsp|mx9-generic-bsp)"
|
||||
@@ -0,0 +1,16 @@
|
||||
# Copyright (C) 2012-2016 Freescale Semiconductor
|
||||
# Copyright 2017-2024 NXP
|
||||
# Copyright (C) 2018 O.S. Systems Software LTDA.
|
||||
SECTION = "base"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
|
||||
|
||||
# Note: This .inc file is used from differently named recipes, so the package
|
||||
# name must be hard-coded, i.e., ${BPN} cannot be used.
|
||||
SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
|
||||
IMX_SRCREV_ABBREV = "5af0ceb"
|
||||
SRC_URI[sha256sum] = "61f925e606ab020b1a36f3f7f7e459c6847f5b9dbc79421f9ef86e8fc124eb2f"
|
||||
|
||||
S = "${WORKDIR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}"
|
||||
|
||||
inherit fsl-eula-unpack
|
||||
@@ -0,0 +1,171 @@
|
||||
# Copyright (C) 2012-2016 Freescale Semiconductor
|
||||
# Copyright 2017-2021,2024 NXP
|
||||
# Copyright (C) 2018 O.S. Systems Software LTDA.
|
||||
SUMMARY = "Freescale i.MX firmware"
|
||||
DESCRIPTION = "Freescale i.MX firmware such as for the VPU"
|
||||
|
||||
require ${BP}.inc
|
||||
|
||||
PE = "1"
|
||||
|
||||
inherit allarch
|
||||
|
||||
IMX_USE_LINUX_FIRMWARE_SDMA ?= "1"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx
|
||||
|
||||
# SDMA Firmware section
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/sdma
|
||||
install -m 0644 ${S}/firmware/sdma/* ${D}${nonarch_base_libdir}/firmware/imx/sdma
|
||||
# Define IMX_USE_LINUX_FIRMWARE_SDMA = "0" in layer.conf, machine.conf, local.conf
|
||||
# or in .bbappend to use sdma-imx6q/7d.bin from here and not linux-firmware
|
||||
if [ ${IMX_USE_LINUX_FIRMWARE_SDMA} -gt 0 ]
|
||||
then
|
||||
rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin
|
||||
rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin
|
||||
fi
|
||||
|
||||
# EASRC Firmware section
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/easrc
|
||||
install -m 0644 ${S}/firmware/easrc/* ${D}${nonarch_base_libdir}/firmware/imx/easrc/
|
||||
|
||||
# XCVR Firmware section
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/xcvr
|
||||
install -m 0644 ${S}/firmware/xcvr/* ${D}${nonarch_base_libdir}/firmware/imx/xcvr/
|
||||
|
||||
# XUVI Firmware section
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/xuvi
|
||||
install -m 0644 ${S}/firmware/xuvi/* ${D}${nonarch_base_libdir}/firmware/imx/xuvi/
|
||||
|
||||
# EPDC Firmware section
|
||||
# NOTE:
|
||||
# epdc_ED060XH2C1.fw file has .nonrestricted suffix in the source archive, hence it should
|
||||
# be installed with a different name
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/epdc
|
||||
install -m 0644 ${S}/firmware/epdc/*.fw ${D}${nonarch_base_libdir}/firmware/imx/epdc/
|
||||
install -m 0644 ${S}/firmware/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${nonarch_base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw
|
||||
|
||||
# HDMI Firmware section
|
||||
# NOTE:
|
||||
# Only install pre-defined list of firmware files, since the source archive contains
|
||||
# also HDMI binary files for imx8m derivatives, which are taken care of by another recipe
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware
|
||||
|
||||
# VPU Firmware section
|
||||
# NOTE:
|
||||
# Do the same thing as above for HDMI - only install a pre-defined list of firmware files,
|
||||
# as some of other files are provided by packages from other recipes.
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/vpu
|
||||
install -m 0644 ${S}/firmware/vpu/vpu_fw_imx*.bin ${D}${nonarch_base_libdir}/firmware/vpu
|
||||
# Update i.MX8 vpu firmware path to align with kernel6.5+
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/amphion/vpu/
|
||||
mv ${D}${nonarch_base_libdir}/firmware/vpu/vpu_fw_imx8* ${D}${nonarch_base_libdir}/firmware/amphion/vpu/
|
||||
# Install i.MX 95 VPU firmware
|
||||
install -m 0644 ${S}/firmware/vpu/wave633c_codec_fw.bin ${D}${nonarch_base_libdir}/firmware
|
||||
}
|
||||
|
||||
#
|
||||
# This prepend is here to produce separate packages containing firmware,
|
||||
# which could be included separately based on the machine definition.
|
||||
#
|
||||
# It operates similar to the FILES mechanism by travesing through
|
||||
# ${D} + folder supplied as a first parameter, matches the regexp supplied
|
||||
# as second one, and for every file match - it creates a separate package,
|
||||
# which contains only files that matches the pattern.
|
||||
#
|
||||
python populate_packages:prepend() {
|
||||
# CODA driver tries to locate VPU firmwares directly in ${nonarch_base_libdir}/firmware, to
|
||||
# avoid fallback loading which is usually 40-60 seconds later after system boots up, let's
|
||||
# create symbolic links in ${nonarch_base_libdir}/firmware for VPU firmwares.
|
||||
def coda_vpu_links(file, pkg, pattern, format, basename):
|
||||
# Only CODA VPU firmwares need this procedure
|
||||
if 'imx8' in basename:
|
||||
return
|
||||
|
||||
dir = os.path.dirname(file)
|
||||
dir = os.path.abspath(os.path.join(dir, os.pardir))
|
||||
cwd = os.getcwd()
|
||||
|
||||
os.chdir(dir)
|
||||
|
||||
name = os.path.basename(file)
|
||||
os.symlink(os.path.join("vpu", name), name)
|
||||
|
||||
oldfiles = d.getVar('FILES:' + pkg)
|
||||
newfile = os.path.join(d.getVar('nonarch_base_libdir'), "firmware", name)
|
||||
d.setVar('FILES:' + pkg, oldfiles + " " + newfile)
|
||||
|
||||
os.chdir(cwd)
|
||||
|
||||
|
||||
easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d)
|
||||
do_split_packages(d, easrcdir, r'^easrc-([^_]*).*\.bin',
|
||||
output_pattern='firmware-imx-easrc-%s',
|
||||
description='Freescale IMX EASRC Firmware [%s]',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
|
||||
vpudir = bb.data.expand('${nonarch_base_libdir}/firmware/vpu', d)
|
||||
do_split_packages(d, vpudir, r'^vpu_fw_([^_]*).*\.bin',
|
||||
output_pattern='firmware-imx-vpu-%s',
|
||||
description='Freescale IMX VPU Firmware [%s]',
|
||||
hook=coda_vpu_links,
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
|
||||
sdmadir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/sdma', d)
|
||||
do_split_packages(d, sdmadir, r'^sdma-([^-]*).*\.bin',
|
||||
output_pattern='firmware-imx-sdma-%s',
|
||||
description='Freescale IMX SDMA Firmware [%s]',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
|
||||
xcvrdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xcvr', d)
|
||||
do_split_packages(d, xcvrdir, r'^xcvr-([^_]*).*\.bin',
|
||||
output_pattern='firmware-imx-xcvr-%s',
|
||||
description='Freescale IMX XCVR Firmware [%s]',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
|
||||
xuvidir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xuvi', d)
|
||||
do_split_packages(d, xuvidir, r'^vpu_fw_([^_]*).*\.bin',
|
||||
output_pattern='firmware-imx-xuvi-%s',
|
||||
description='Freescale IMX XUVI Firmware [%s]',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
}
|
||||
|
||||
# Declare a contract that we would provide packages produced by prepend above
|
||||
PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xuvi-*"
|
||||
|
||||
#
|
||||
# Deal with the rest of Firmware packages here
|
||||
#
|
||||
# Provide EPDC and HDMI Firmware in common packages as they tend to be special in
|
||||
# terms of the content.
|
||||
#
|
||||
# NOTE: PACKAGES are defined explicitly here in order to remove the auto-generated
|
||||
# complimentary packages (-dev and -dbg).
|
||||
# This is done in order to be able to keep the main package empty and fail when
|
||||
# somebody tries to install it in the image.
|
||||
# If -dev package is present in that setup, and dev-pkgs is enabled in
|
||||
# IMAGE_FEATURES - this leads to a failure during do_rootfs() while all -dev
|
||||
# packages would be installed, and -dev package would fail because the main one
|
||||
# is empty.
|
||||
# Therefore, we opt-out from producing -dev package here, since also for firmware
|
||||
# files it makes no sense.
|
||||
PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi ${PN}-vpu-amphion ${PN}-vpu-wave"
|
||||
|
||||
FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/"
|
||||
FILES:${PN}-hdmi = " \
|
||||
${nonarch_base_libdir}/firmware/hdmitxfw.bin \
|
||||
${nonarch_base_libdir}/firmware/hdmirxfw.bin \
|
||||
${nonarch_base_libdir}/firmware/dpfw.bin \
|
||||
"
|
||||
FILES:${PN}-vpu-amphion = "${nonarch_base_libdir}/firmware/amphion/vpu/*"
|
||||
FILES:${PN}-vpu-wave = "${nonarch_base_libdir}/firmware/wave633c_codec_fw.bin"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-generic-bsp)"
|
||||
@@ -0,0 +1,175 @@
|
||||
# Copyright 2020-2024 NXP
|
||||
|
||||
SUMMARY = "Wi-Fi firmware redistributed by NXP"
|
||||
DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP. Some \
|
||||
is available in linux-firmware, but what is here is the latest and \
|
||||
should be preferred."
|
||||
|
||||
SECTION = "kernel"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca53281cc0caa7e320d4945a896fb837"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-firmware.git;protocol=https;branch=${SRCBRANCH}"
|
||||
SRCBRANCH = "lf-6.6.52_2.2.0"
|
||||
SRCREV = "2978f3c88d6bcc5695a7b45f1936f18d31eebfa8"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit allarch
|
||||
|
||||
CLEANBROKEN = "1"
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
|
||||
do_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/nxp
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/brcm/
|
||||
|
||||
# Install bcm4359-pcie
|
||||
for f in cyw-wifi-bt/*_CYW*/brcmfmac4359-pcie*; do
|
||||
install -D -m 0644 $f ${D}${nonarch_base_libdir}/firmware/brcm/$(basename $f)
|
||||
done
|
||||
|
||||
for f in cyw-wifi-bt/*_CYW*/BCM4349B1*.hcd; do
|
||||
install -D -m 0644 $f ${D}${sysconfdir}/firmware/$(basename $f)
|
||||
done
|
||||
|
||||
for f in nxp/FwImage_IW612_SD/*; do
|
||||
install -D -m 0644 $f ${D}${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/$(basename $f)
|
||||
done
|
||||
|
||||
oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp
|
||||
|
||||
# Upstream SDIO8997 and IW416 driver firmwares are located on mrvl folder
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/mrvl
|
||||
ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin
|
||||
ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sdiouartiw416_combo_v0.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin
|
||||
}
|
||||
|
||||
PACKAGES =+ " \
|
||||
${PN}-bcm4359-pcie \
|
||||
${PN}-nxp-common \
|
||||
${PN}-nxp8801-sdio \
|
||||
${PN}-nxp8987-sdio \
|
||||
${PN}-nxp8997-common \
|
||||
${PN}-nxp8997-pcie \
|
||||
${PN}-nxp8997-sdio \
|
||||
${PN}-nxp9098-pcie \
|
||||
${PN}-nxp9098-common \
|
||||
${PN}-nxp9098-sdio \
|
||||
${PN}-nxpiw416-sdio \
|
||||
${PN}-nxpiw610-sdio \
|
||||
${PN}-nxpiw612-sdio \
|
||||
"
|
||||
|
||||
FILES:${PN}-bcm4359-pcie = " \
|
||||
${nonarch_base_libdir}/firmware/brcm/brcmfmac4359-pcie.* \
|
||||
${sysconfdir}/firmware/BCM4349B1_*.hcd \
|
||||
"
|
||||
|
||||
FILES:${PN}-nxp-common = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/wifi_mod_para.conf \
|
||||
${nonarch_base_libdir}/firmware/nxp/helper_uart_3000000.bin \
|
||||
"
|
||||
|
||||
FILES:${PN}-nxp8801-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/*8801* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp8801-sdio += "${PN}-nxp-common"
|
||||
|
||||
FILES:${PN}-nxp8987-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/*8987* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp8987-sdio += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
|
||||
RREPLACES:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
|
||||
RCONFLICTS:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
|
||||
|
||||
FILES:${PN}-nxp8997-common = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \
|
||||
${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \
|
||||
${nonarch_base_libdir}/firmware/nxp/uart8997_bt_v4.bin \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
|
||||
RREPLACES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
|
||||
RCONFLICTS:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
|
||||
|
||||
FILES:${PN}-nxp8997-pcie = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/pci*8997* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp8997-pcie += "${PN}-nxp8997-common"
|
||||
RPROVIDES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
|
||||
RREPLACES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
|
||||
RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
|
||||
|
||||
FILES:${PN}-nxp8997-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin \
|
||||
${nonarch_base_libdir}/firmware/nxp/sdio*8997* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common"
|
||||
RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
|
||||
RREPLACES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
|
||||
RCONFLICTS:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
|
||||
|
||||
FILES:${PN}-nxp9098-common = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \
|
||||
${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \
|
||||
${nonarch_base_libdir}/firmware/nxp/uart9098_bt_v1.bin \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
|
||||
RREPLACES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
|
||||
RCONFLICTS:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
|
||||
|
||||
FILES:${PN}-nxp9098-pcie = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/pcie*9098* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp9098-pcie += "${PN}-nxp9098-common"
|
||||
RPROVIDES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
|
||||
RREPLACES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
|
||||
RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
|
||||
|
||||
FILES:${PN}-nxp9098-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/sdio*9098* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common"
|
||||
RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
|
||||
RREPLACES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
|
||||
RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
|
||||
|
||||
FILES:${PN}-nxpiw416-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin \
|
||||
${nonarch_base_libdir}/firmware/nxp/*iw416* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
|
||||
RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
|
||||
RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
|
||||
|
||||
FILES:${PN}-nxpiw610-sdio += " \
|
||||
${nonarch_base_libdir}/firmware/nxp/sd_iw610.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/sduart_iw610.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/uart_iw610_bt.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/uartspi_iw610.bin.se \
|
||||
"
|
||||
RDEPENDS:${PN}-nxpiw610-sdio += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
|
||||
RREPLACES:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
|
||||
RCONFLICTS:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
|
||||
|
||||
FILES:${PN}-nxpiw612-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/uartspi_n61x_v1.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/ \
|
||||
${nonarch_base_libdir}/firmware/nxp/uartuart_n61x_v1.bin.se \
|
||||
"
|
||||
RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
|
||||
RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
|
||||
RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
|
||||
@@ -0,0 +1,23 @@
|
||||
# Copyright (C) 2020-2022 NXP
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
DESCRIPTION = "Sound Open Firmware"
|
||||
HOMEPAGE = "https://www.sofproject.org"
|
||||
SECTION = "base"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENCE;md5=0f00d99239d922ffd13cabef83b33444"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/sof-imx-${PV}.tar.gz"
|
||||
SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b"
|
||||
|
||||
S = "${WORKDIR}/sof-imx-${PV}"
|
||||
|
||||
inherit allarch
|
||||
|
||||
do_install() {
|
||||
# Install sof and sof-tplg folder
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/
|
||||
cp -r sof* ${D}${nonarch_base_libdir}/firmware/imx/
|
||||
}
|
||||
|
||||
FILES:${PN} = "${nonarch_base_libdir}/firmware/imx"
|
||||
@@ -0,0 +1,61 @@
|
||||
# Copyright (C) 2018-2024 NXP
|
||||
SUMMARY = "Freescale i.MX Firmware files used for boot"
|
||||
|
||||
require firmware-imx-${PV}.inc
|
||||
|
||||
inherit deploy nopackages
|
||||
|
||||
do_install[noexec] = "1"
|
||||
|
||||
DEPLOY_FOR = ""
|
||||
DEPLOY_FOR:mx8-generic-bsp = "mx8"
|
||||
DEPLOY_FOR:mx8m-generic-bsp = "mx8m"
|
||||
DEPLOY_FOR:mx9-generic-bsp = "mx9"
|
||||
|
||||
deploy_for_mx8() {
|
||||
# Cadence HDMI
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR}
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR}
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR}
|
||||
}
|
||||
|
||||
deploy_for_mx8m() {
|
||||
# Synopsys DDR
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
|
||||
done
|
||||
|
||||
# Cadence DP and HDMI
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR}
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR}
|
||||
}
|
||||
|
||||
|
||||
deploy_for_mx9() {
|
||||
# Synopsys DDR
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
|
||||
done
|
||||
}
|
||||
|
||||
python () {
|
||||
# Manually add the required functions as dependencies otherwise they won't be included in the
|
||||
# final run script.
|
||||
deploy_for = d.getVar('DEPLOY_FOR', True).split()
|
||||
for soc in deploy_for:
|
||||
d.appendVarFlag('do_deploy', 'vardeps', ' deploy_for_%s' % soc)
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
for soc in ${DEPLOY_FOR}; do
|
||||
bbnote "Running deploy for $soc"
|
||||
deploy_for_$soc
|
||||
done
|
||||
}
|
||||
|
||||
addtask deploy after do_install before do_build
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)"
|
||||
COMPATIBLE_MACHINE:mx8x-generic-bsp = "(^$)"
|
||||
Reference in New Issue
Block a user