blob: 959513dcac8091e4ded525245d932fef12fe5af5 [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001SUMMARY = "Linux kernel firmware files from Raspbian distribution"
2DESCRIPTION = "Updated firmware files for RaspberryPi hardware. \
3RPi-Distro obtains these directly from Cypress; they are not submitted \
4to linux-firmware for general use."
5HOMEPAGE = "https://github.com/RPi-Distro/firmware-nonfree"
6SECTION = "kernel"
7
Patrick Williamsdb4c27e2022-08-05 08:10:29 -05008LICENSE = "GPL-2.0-only & binary-redist-Cypress-rpidistro & Synaptics-rpidistro"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08009LIC_FILES_CHKSUM = "\
Patrick Williams03514f12024-04-05 07:04:11 -050010 file://debian/copyright;md5=291ee5385b4cf74b10c5fb5a46a7bbc6 \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080011"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050012# Where these are no common licenses, set NO_GENERIC_LICENSE so that the
13# license files will be copied from the fetched source.
Andrew Geissler220dafd2023-10-04 10:18:08 -050014NO_GENERIC_LICENSE[binary-redist-Cypress-rpidistro] = "debian/copyright"
15NO_GENERIC_LICENSE[Synaptics-rpidistro] = "debian/copyright"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050016LICENSE_FLAGS = "synaptics-killswitch"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080017
Patrick Williams03514f12024-04-05 07:04:11 -050018SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bookworm;protocol=https \
Andrew Geissler87f5cff2022-09-30 13:13:31 -050019 file://0001-Default-43455-firmware-to-standard-variant.patch \
20"
Patrick Williams03514f12024-04-05 07:04:11 -050021SRCREV = "223ccf3a3ddb11b3ea829749fbbba4d65b380897"
22PV = "20230625-2+rpt2"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080023S = "${WORKDIR}/git"
24
25inherit allarch
26
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050027do_configure[noexec] = "1"
28do_compile[noexec] = "1"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080029
30do_install() {
Andrew Geissler595f6302022-01-24 19:11:47 +000031 install -d ${D}${nonarch_base_libdir}/firmware/brcm ${D}${nonarch_base_libdir}/firmware/cypress
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080032
Andrew Geissler220dafd2023-10-04 10:18:08 -050033 cp debian/copyright ${D}${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080034
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050035 for fw in \
36 brcmfmac43430-sdio \
37 brcmfmac43436-sdio \
38 brcmfmac43436s-sdio \
39 brcmfmac43455-sdio \
40 brcmfmac43456-sdio; do
Andrew Geissler595f6302022-01-24 19:11:47 +000041 cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080042 done
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050043
Andrew Geissler595f6302022-01-24 19:11:47 +000044 cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/cypress/* ${D}${nonarch_base_libdir}/firmware/cypress/
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050045
Patrick Williams03907ee2022-05-01 06:28:52 -050046 rm ${D}${nonarch_base_libdir}/firmware/cypress/README.txt
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080047}
48
49PACKAGES = "\
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080050 ${PN}-bcm43430 \
Andrew Geissler595f6302022-01-24 19:11:47 +000051 ${PN}-bcm43436 \
52 ${PN}-bcm43436s \
Andrew Geissler220dafd2023-10-04 10:18:08 -050053 ${PN}-bcm43439 \
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050054 ${PN}-bcm43455 \
55 ${PN}-bcm43456 \
56 ${PN}-license \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080057"
58
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050059LICENSE:${PN}-bcm43430 = "binary-redist-Cypress-rpidistro"
60LICENSE:${PN}-bcm43436 = "Synaptics-rpidistro"
61LICENSE:${PN}-bcm43436s = "Synaptics-rpidistro"
Andrew Geissler220dafd2023-10-04 10:18:08 -050062LICENSE:${PN}-bcm43439 = "Synaptics-rpidistro"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050063LICENSE:${PN}-bcm43455 = "binary-redist-Cypress-rpidistro"
64LICENSE:${PN}-bcm43456 = "Synaptics-rpidistro"
65LICENSE:${PN}-license = "GPL-2.0-only"
66
67FILES:${PN}-bcm43430 = " \
68 ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430* \
69 ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.bin \
70 ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.clm_blob \
71"
Andrew Geissler595f6302022-01-24 19:11:47 +000072FILES:${PN}-bcm43436 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436-*"
73FILES:${PN}-bcm43436s = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436s*"
Patrick Williams03514f12024-04-05 07:04:11 -050074FILES:${PN}-bcm43439 = " \
75 ${nonarch_base_libdir}/firmware/cypress/43439A0-7.95.49.00.combined \
76 ${nonarch_base_libdir}/firmware/cypress/cyfmac43439-sdio* \
77"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050078FILES:${PN}-bcm43455 = " \
79 ${nonarch_base_libdir}/firmware/brcm/brcmfmac43455* \
80 ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio* \
81"
Patrick Williams213cb262021-08-07 19:21:33 -050082FILES:${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050083FILES:${PN}-license = "${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro"
Andrew Geissler595f6302022-01-24 19:11:47 +000084
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050085RDEPENDS:${PN}-bcm43430 += "${PN}-license"
86RDEPENDS:${PN}-bcm43436 += "${PN}-license"
87RDEPENDS:${PN}-bcm43436s += "${PN}-license"
Andrew Geissler220dafd2023-10-04 10:18:08 -050088RDEPENDS:${PN}-bcm43439 += "${PN}-license"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050089RDEPENDS:${PN}-bcm43455 += "${PN}-license"
90RDEPENDS:${PN}-bcm43456 += "${PN}-license"
Andrew Geissler595f6302022-01-24 19:11:47 +000091
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050092RCONFLICTS:${PN}-bcm43430 = "linux-firmware-raspbian-bcm43430"
93RCONFLICTS:${PN}-bcm43436 = "linux-firmware-bcm43436"
94RCONFLICTS:${PN}-bcm43436s = "linux-firmware-bcm43436s"
Andrew Geissler220dafd2023-10-04 10:18:08 -050095RCONFLICTS:${PN}-bcm43439 = "linux-firmware-bcm43439"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050096RCONFLICTS:${PN}-bcm43455 = "linux-firmware-bcm43455"
97RCONFLICTS:${PN}-bcm43456 = "linux-firmware-bcm43456"
Andrew Geissler595f6302022-01-24 19:11:47 +000098
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050099RREPLACES:${PN}-bcm43430 = "linux-firmware-bcm43430"
100RREPLACES:${PN}-bcm43436 = "linux-firmware-bcm43436"
101RREPLACES:${PN}-bcm43436s = "linux-firmware-bcm43436s"
Andrew Geissler220dafd2023-10-04 10:18:08 -0500102RREPLACES:${PN}-bcm43439 = "linux-firmware-bcm43439"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -0500103RREPLACES:${PN}-bcm43455 = "linux-firmware-bcm43455"
104RREPLACES:${PN}-bcm43456 = "linux-firmware-bcm43456"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800105
106# Firmware files are generally not run on the CPU, so they can be
107# allarch despite being architecture specific
108INSANE_SKIP = "arch"