zeus migration: firmware-imx: update recipe to v8.7
https://jira.digi.com/browse/DEL-7013 Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit is contained in:
parent
d9f7ed8a2d
commit
75b2db5513
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# firmware loader script
|
||||
|
||||
MX7_EPDC="/sys/bus/platform/devices/*/firmware/imx!epdc!epdc_ED060XH2C1.fw"
|
||||
|
||||
if [ 0 -lt $(ls $MX7_EPDC 2>/dev/null | wc -w) ]; then
|
||||
cd ${MX7_EPDC}
|
||||
echo 1 > loading
|
||||
cat /lib/firmware/imx/epdc/epdc_ED060XH2C1.fw > data
|
||||
echo 0 > loading
|
||||
fi
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
[Unit]
|
||||
Description=User Space Epdc Firmware Loading
|
||||
|
||||
[Service]
|
||||
ExecStart=/etc/epdc
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# firmware loader script
|
||||
|
||||
MX8_HDMITX="/sys/bus/platform/devices/*/firmware/hdmitxfw.bin"
|
||||
MX8_HDMIRX="/sys/bus/platform/devices/*/firmware/hdmirxfw.bin"
|
||||
MX8_HDMIDP="/sys/bus/platform/devices/*/firmware/dpfw.bin"
|
||||
|
||||
if [ 0 -lt $(ls $MX8_HDMITX 2>/dev/null | wc -w) ]; then
|
||||
cd ${MX8_HDMITX}
|
||||
echo 1 > loading
|
||||
cat /lib/firmware/imx/hdmi/hdmitxfw.bin > data
|
||||
echo 0 > loading
|
||||
fi
|
||||
|
||||
if [ 0 -lt $(ls $MX8_HDMIRX 2>/dev/null | wc -w) ]; then
|
||||
cd ${MX8_HDMIRX}
|
||||
echo 1 > loading
|
||||
cat /lib/firmware/imx/hdmi/hdmirxfw.bin > data
|
||||
echo 0 > loading
|
||||
fi
|
||||
|
||||
if [ 0 -lt $(ls $MX8_HDMIDP 2>/dev/null | wc -w) ]; then
|
||||
cd ${MX8_HDMIDP}
|
||||
echo 1 > loading
|
||||
cat /lib/firmware/imx/hdmi/dpfw.bin > data
|
||||
echo 0 > loading
|
||||
fi
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
[Unit]
|
||||
Description=User Space HDMI Firmware Loading
|
||||
|
||||
[Service]
|
||||
ExecStart=/etc/hdmi
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# firmware loader script
|
||||
|
||||
MX8MM_REGULATORY="/sys/bus/platform/devices/regulatory.0/firmware/regulatory.db"
|
||||
|
||||
if [ 0 -lt $(ls $MX8MM_REGULATORY 2>/dev/null | wc -w) ]; then
|
||||
cd ${MX8MM_REGULATORY}
|
||||
echo 1 > loading
|
||||
cat /lib/firmware/regulatory.db > data
|
||||
echo 0 > loading
|
||||
fi
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
[Unit]
|
||||
Description=User Space Regulatory Firmware Loading
|
||||
|
||||
[Service]
|
||||
ExecStart=/etc/regulatory
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# firmware loader script
|
||||
|
||||
MX6_SDMA="/sys/bus/platform/devices/*/firmware/imx!sdma!sdma-imx6q.bin"
|
||||
MX7_SDMA="/sys/bus/platform/devices/*/firmware/imx!sdma!sdma-imx7d.bin"
|
||||
|
||||
if [ 0 -lt $(ls $MX6_SDMA 2>/dev/null | wc -w) ]; then
|
||||
cd ${MX6_SDMA}
|
||||
echo 1 > loading
|
||||
cat /lib/firmware/imx/sdma/sdma-imx6q.bin > data
|
||||
echo 0 > loading
|
||||
fi
|
||||
|
||||
if [ 0 -lt $(ls $MX7_SDMA 2>/dev/null | wc -w) ]; then
|
||||
cd ${MX7_SDMA}
|
||||
echo 1 > loading
|
||||
cat /lib/firmware/imx/sdma/sdma-imx7d.bin > data
|
||||
echo 0 > loading
|
||||
fi
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
[Unit]
|
||||
Description=User Space SDMA Firmware Loading
|
||||
|
||||
[Service]
|
||||
ExecStart=/etc/sdma
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
# Copyright (C) 2012-2016 Freescale Semiconductor
|
||||
# Copyright 2017-2019 NXP
|
||||
# Copyright (C) 2018 O.S. Systems Software LTDA.
|
||||
SECTION = "base"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
|
||||
|
||||
SRC_URI = " \
|
||||
${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "ee442e4d975578736f3f72593906f41c"
|
||||
SRC_URI[sha256sum] = "92c1713f61a99b1ff5046a795789e6021db1e8bb5534c02e4b719f1436e15615"
|
||||
|
||||
S = "${WORKDIR}/firmware-imx-${PV}"
|
||||
|
||||
inherit fsl-eula-unpack
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
# Copyright 2018 NXP
|
||||
SUMMARY = "Freescale i.MX firmware for 8 family"
|
||||
DESCRIPTION = "Freescale i.MX firmware for 8 family"
|
||||
|
||||
require firmware-imx-${PV}.inc
|
||||
|
||||
inherit deploy
|
||||
|
||||
do_install[noexec] = "1"
|
||||
|
||||
do_deploy() {
|
||||
# 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}
|
||||
}
|
||||
addtask deploy after do_install before do_build
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8)"
|
||||
COMPATIBLE_MACHINE_mx8m = "(^$)"
|
||||
COMPATIBLE_MACHINE_mx8x = "(^$)"
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# Copyright 2018 NXP
|
||||
SUMMARY = "Freescale i.MX firmware for 8M and 8M Mini family"
|
||||
DESCRIPTION = "Freescale i.MX firmware for 8M and 8M Mini family"
|
||||
|
||||
require firmware-imx-${PV}.inc
|
||||
|
||||
inherit deploy
|
||||
|
||||
do_install[noexec] = "1"
|
||||
|
||||
do_deploy() {
|
||||
# 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}
|
||||
}
|
||||
addtask deploy after do_install before do_build
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8m)"
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
# Copyright (C) 2012-2016 Freescale Semiconductor
|
||||
# Copyright (C) 2018 O.S. Systems Software LTDA.
|
||||
# Copyright 2017-2019 NXP
|
||||
|
||||
SUMMARY = "Freescale IMX firmware"
|
||||
DESCRIPTION = "Freescale IMX firmware such as for the VPU"
|
||||
SECTION = "base"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=fd4b227530cd88a82af6a5982cfb724d"
|
||||
|
||||
PE = "1"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true "
|
||||
|
||||
SRC_URI[md5sum] = "70bdefdd7fb58f782237acf4c648f5cd"
|
||||
SRC_URI[sha256sum] = "f04b2deb4f126e6b6cd4460462292acd72183b9f799e3b873fb390ff0f18eb55"
|
||||
|
||||
inherit fsl-eula-unpack allarch
|
||||
|
||||
do_install() {
|
||||
|
||||
install -d ${D}${base_libdir}/firmware/imx
|
||||
|
||||
cp -rfv firmware/* ${D}${base_libdir}/firmware/
|
||||
|
||||
# Install SDMA Firmware: sdma-imx6q.bin & sdma-imx7d.bin into lib/firmware/imx/sdma
|
||||
install -d ${D}${base_libdir}/firmware/imx/sdma
|
||||
mv ${D}${base_libdir}/firmware/sdma/sdma-imx6q.bin ${D}${base_libdir}/firmware/imx/sdma
|
||||
mv ${D}${base_libdir}/firmware/sdma/sdma-imx7d.bin ${D}${base_libdir}/firmware/imx/sdma
|
||||
|
||||
# No need to do install for ddr & hdmi binaries
|
||||
if [ -d ${D}${base_libdir}/firmware/ddr ]; then
|
||||
rm -rf ${D}${base_libdir}/firmware/ddr
|
||||
fi
|
||||
if [ -d ${D}${base_libdir}/firmware/hdmi ]; then
|
||||
rm -rf ${D}${base_libdir}/firmware/hdmi
|
||||
fi
|
||||
|
||||
# Don't install seco related binary
|
||||
if [ -d ${D}${base_libdir}/firmware/seco ]; then
|
||||
rm -rf ${D}${base_libdir}/firmware/seco
|
||||
fi
|
||||
|
||||
mv ${D}${base_libdir}/firmware/epdc/ ${D}${base_libdir}/firmware/imx/epdc/
|
||||
mv ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw
|
||||
|
||||
mv ${D}${base_libdir}/firmware/easrc/ ${D}${base_libdir}/firmware/imx/easrc/
|
||||
|
||||
find ${D}${base_libdir}/firmware -type f -exec chmod 644 '{}' ';'
|
||||
find ${D}${base_libdir}/firmware -type f -exec chown root:root '{}' ';'
|
||||
|
||||
# Remove files not going to be installed
|
||||
find ${D}${base_libdir}/firmware/ -name '*.mk' -exec rm '{}' ';'
|
||||
}
|
||||
|
||||
IS_MX8 = "0"
|
||||
IS_MX8_mx8m = "8m"
|
||||
IS_MX8_mx8qm = "8qm"
|
||||
IS_MX8_mx8qxp = "8qx"
|
||||
inherit deploy
|
||||
addtask deploy before do_build after do_install
|
||||
do_deploy () {
|
||||
# Deploy i.MX8 related firmware files
|
||||
if [ "${IS_MX8}" = "8qm" ]; then
|
||||
# Deploy hdmi/cadence
|
||||
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}
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
python populate_packages_prepend() {
|
||||
vpudir = bb.data.expand('${base_libdir}/firmware/vpu', d)
|
||||
do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin',
|
||||
output_pattern='firmware-imx-vpu-%s',
|
||||
description='Freescale IMX Firmware %s',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
sdmadir = bb.data.expand('${base_libdir}/firmware/sdma', d)
|
||||
do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin',
|
||||
output_pattern='firmware-imx-sdma-%s',
|
||||
description='Freescale IMX Firmware %s',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
}
|
||||
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
||||
PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*"
|
||||
|
||||
PACKAGES =+ "${PN}-epdc ${PN}-scfw ${PN}-sdma ${PN}-easrc"
|
||||
|
||||
FILES_${PN}-epdc = "${base_libdir}/firmware/imx/epdc/"
|
||||
FILES_${PN}-scfw = "${base_libdir}/firmware/scfw/"
|
||||
FILES_${PN}-sdma = " ${base_libdir}/firmware/imx/sdma"
|
||||
FILES_${PN}-easrc = "${base_libdir}/firmware/imx/easrc/"
|
||||
|
|
@ -0,0 +1,122 @@
|
|||
# Copyright (C) 2012-2016 Freescale Semiconductor
|
||||
# Copyright 2017-2019 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 firmware-imx-${PV}.inc
|
||||
|
||||
SRC_URI_append = " \
|
||||
file://sdma \
|
||||
file://epdc \
|
||||
file://regulatory \
|
||||
file://hdmi \
|
||||
file://sdma-firmware.service \
|
||||
file://epdc-firmware.service \
|
||||
file://regulatory-firmware.service \
|
||||
file://hdmi-firmware.service \
|
||||
"
|
||||
|
||||
PE = "1"
|
||||
|
||||
inherit allarch systemd
|
||||
|
||||
SYSTEMD_PACKAGES = "${PN}-sdma ${PN}-epdc ${PN}-regulatory ${PN}-hdmi"
|
||||
SYSTEMD_SERVICE_${PN}-sdma = "sdma-firmware.service"
|
||||
SYSTEMD_SERVICE_${PN}-epdc = "epdc-firmware.service"
|
||||
SYSTEMD_SERVICE_${PN}-regulatory = "regulatory-firmware.service"
|
||||
SYSTEMD_SERVICE_${PN}-hdmi = "hdmi-firmware.service"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${base_libdir}/firmware/imx
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
|
||||
install -d ${D}${sysconfdir}
|
||||
install -d ${D}${systemd_system_unitdir}
|
||||
install -m 0755 ${WORKDIR}/sdma ${D}${sysconfdir}
|
||||
install -m 0755 ${WORKDIR}/epdc ${D}${sysconfdir}
|
||||
install -m 0755 ${WORKDIR}/regulatory ${D}${sysconfdir}
|
||||
install -m 0755 ${WORKDIR}/hdmi ${D}${sysconfdir}
|
||||
install -m 0644 ${WORKDIR}/sdma-firmware.service ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${WORKDIR}/epdc-firmware.service ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${WORKDIR}/regulatory-firmware.service ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${WORKDIR}/hdmi-firmware.service ${D}${systemd_system_unitdir}
|
||||
fi
|
||||
|
||||
cd firmware
|
||||
for d in *; do
|
||||
case $d in
|
||||
ddr|seco)
|
||||
# These folders are for i.MX 8 and are included in the boot image via imx-boot
|
||||
bbnote Excluding folder $d
|
||||
;;
|
||||
*)
|
||||
cp -rfv $d ${D}${base_libdir}/firmware
|
||||
;;
|
||||
esac
|
||||
done
|
||||
cd -
|
||||
|
||||
# Install SDMA Firmware: sdma-imx6q.bin & sdma-imx7d.bin into lib/firmware/imx/sdma
|
||||
install -d ${D}${base_libdir}/firmware/imx/sdma
|
||||
mv ${D}${base_libdir}/firmware/sdma/sdma-imx6q.bin ${D}${base_libdir}/firmware/imx/sdma
|
||||
mv ${D}${base_libdir}/firmware/sdma/sdma-imx7d.bin ${D}${base_libdir}/firmware/imx/sdma
|
||||
|
||||
mv ${D}${base_libdir}/firmware/epdc/ ${D}${base_libdir}/firmware/imx/epdc/
|
||||
mv ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw
|
||||
|
||||
mv ${D}${base_libdir}/firmware/easrc/ ${D}${base_libdir}/firmware/imx/easrc/
|
||||
|
||||
mv ${D}${base_libdir}/firmware/xcvr/ ${D}${base_libdir}/firmware/imx/xcvr/
|
||||
|
||||
# Install HDMI Firmware: hdmitxfw.bin, hdmirxfw.bin & dpfw.bin into lib/firmware/imx/hdmi
|
||||
install -d ${D}${base_libdir}/firmware/imx/hdmi
|
||||
mv ${D}${base_libdir}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${base_libdir}/firmware/imx/hdmi
|
||||
mv ${D}${base_libdir}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${base_libdir}/firmware/imx/hdmi
|
||||
mv ${D}${base_libdir}/firmware/hdmi/cadence/dpfw.bin ${D}${base_libdir}/firmware/imx/hdmi
|
||||
|
||||
find ${D}${base_libdir}/firmware -type f -exec chmod 644 '{}' ';'
|
||||
find ${D}${base_libdir}/firmware -type f -exec chown root:root '{}' ';'
|
||||
|
||||
# Remove files not going to be installed
|
||||
find ${D}${base_libdir}/firmware/ -name '*.mk' -exec rm '{}' ';'
|
||||
rm -rf ${D}${base_libdir}/firmware/hdmi
|
||||
}
|
||||
|
||||
python populate_packages_prepend() {
|
||||
vpudir = bb.data.expand('${base_libdir}/firmware/vpu', d)
|
||||
do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin',
|
||||
output_pattern='firmware-imx-vpu-%s',
|
||||
description='Freescale IMX Firmware %s',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
|
||||
sdmadir = bb.data.expand('${base_libdir}/firmware/sdma', d)
|
||||
do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin',
|
||||
output_pattern='firmware-imx-sdma-%s',
|
||||
description='Freescale IMX Firmware %s',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
}
|
||||
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
||||
PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*"
|
||||
|
||||
PACKAGES =+ "${PN}-epdc ${PN}-scfw ${PN}-sdma ${PN}-easrc ${PN}-regulatory ${PN}-hdmi ${PN}-xcvr"
|
||||
|
||||
RDEPENDS_${PN}-epdc = "bash"
|
||||
RDEPENDS_${PN}-sdma = "bash"
|
||||
RDEPENDS_${PN}-regulatory = "bash"
|
||||
RDEPENDS_${PN}-hdmi = "bash"
|
||||
|
||||
FILES_${PN}-epdc = "${base_libdir}/firmware/imx/epdc/ ${sysconfdir}/epdc ${systemd_system_unitdir}/epdc-firmware.service"
|
||||
FILES_${PN}-scfw = "${base_libdir}/firmware/scfw/"
|
||||
FILES_${PN}-sdma = "${base_libdir}/firmware/imx/sdma ${sysconfdir}/sdma ${systemd_system_unitdir}/sdma-firmware.service"
|
||||
FILES_${PN}-easrc = "${base_libdir}/firmware/imx/easrc/"
|
||||
FILES_${PN}-regulatory = "${sysconfdir}/regulatory ${systemd_system_unitdir}/regulatory-firmware.service"
|
||||
FILES_${PN}-hdmi = "${base_libdir}/firmware/imx/hdmi/ ${sysconfdir}/hdmi ${systemd_system_unitdir}/hdmi-firmware.service"
|
||||
FILES_${PN}-xcvr = "${base_libdir}/firmware/imx/xcvr/"
|
||||
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx)"
|
||||
Loading…
Reference in New Issue