From 99a383c8eb5d1dd3fd5253ea249c7bfdbe4900c2 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Mon, 8 Oct 2012 06:54:23 -0300 Subject: firmware-imx: Refactor recipe to avoid useless files in rootfs The recipe now generate a set of packages for each SoC so it avoids including useless files in rootfs. The architecture of binaries has also been change to all as it is in binary form. Change-Id: I912df305c0cda3a60e88a8e939f002464fd374ff Signed-off-by: Otavio Salvador --- recipes-bsp/firmware-imx/firmware-imx.inc | 52 +++++++++++++++++++------------ 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/recipes-bsp/firmware-imx/firmware-imx.inc b/recipes-bsp/firmware-imx/firmware-imx.inc index cee34bc..414ca2b 100644 --- a/recipes-bsp/firmware-imx/firmware-imx.inc +++ b/recipes-bsp/firmware-imx/firmware-imx.inc @@ -4,30 +4,42 @@ SECTION = "base" LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://licenses/vpu/EULA;md5=6469a8514eed615d6bf8c09f41846d8f" -INC_PR = "r3" +INC_PR = "r4" SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true" -inherit fsl-eula-unpack - -# todo: make FILES_ machine dependent using override, i.MX53 only now. -FILES_${PN} = "/lib/firmware/vpu/vpu_fw_imx53.bin" -FILES_${PN} += "/lib/firmware/sdma/sdma-imx53-to1.bin" -FILES_${PN} += "/lib/firmware/ath6k/*" -FILES_${PN} += "/lib/firmware/ar3k/*" +inherit fsl-eula-unpack allarch do_install() { - install -d ${D}/lib/firmware/vpu - install -m 0755 ${S}/firmware/vpu/vpu_fw_imx53.bin ${D}/lib/firmware/vpu - chmod 644 ${D}/lib/firmware/vpu/vpu_fw_imx53.bin - install -d ${D}/lib/firmware/sdma - install -m 0755 ${S}/firmware/sdma/sdma-imx53-to1.bin ${D}/lib/firmware/sdma - chmod 644 ${D}/lib//firmware/sdma/sdma-imx53-to1.bin - cp -rf ${S}/firmware/ath6k ${D}/lib/firmware - cp -rf ${S}/firmware/ar3k ${D}/lib/firmware + install -d ${D}/lib/firmware + cp -rfv firmware/* ${D}/lib/firmware/ + find ${D}/lib/firmware -type f -exec chmod 644 '{}' ';' + + # Remove files not going to be installed + find ${D}/lib/firmware/ -name Android.mk -exec rm '{}' ';' + rm ${D}/lib/firmware/LICENCE.atheros_firmware \ + ${D}/lib/firmware/README +} + +PACKAGES += "${PN}-ath6k ${PN}-ar3k" + +FILES_${PN}-ath6k = "/lib/firmware/ath6k/*" +FILES_${PN}-ar3k = "/lib/firmware/ar3k/*" + +python populate_packages_prepend() { + vpudir = bb.data.expand('/lib/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('/lib/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) } -# Add an upgrade path -RPROVIDES_${PN} = "imx-firmware" -RREPLACES_${PN} = "imx-firmware" -RCONFLICTS_${PN} = "imx-firmware" +PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*" -- cgit v1.2.3-54-g00ecf