blob: 095516435d101e92294fe17cdee76c8a07f8f40e [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 = "\
Andrew Geissler220dafd2023-10-04 10:18:08 -050010 file://debian/copyright;md5=03475efdcf4c53c8f2d8fb4bc1fc6965 \
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
Andrew Geissler87f5cff2022-09-30 13:13:31 -050018SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bullseye;protocol=https \
19 file://0001-Default-43455-firmware-to-standard-variant.patch \
20"
Andrew Geissler220dafd2023-10-04 10:18:08 -050021SRCREV = "2c3a8701193ba23d0ef85cdf0d0c9e47baf03dfc"
22PV = "20230210-5_bpo11+1"
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*"
Andrew Geissler220dafd2023-10-04 10:18:08 -050074FILES:${PN}-bcm43439 = "${nonarch_base_libdir}/firmware/cypress/43439A0-7.95.49.00.combined"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050075FILES:${PN}-bcm43455 = " \
76 ${nonarch_base_libdir}/firmware/brcm/brcmfmac43455* \
77 ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio* \
78"
Patrick Williams213cb262021-08-07 19:21:33 -050079FILES:${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050080FILES:${PN}-license = "${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro"
Andrew Geissler595f6302022-01-24 19:11:47 +000081
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050082RDEPENDS:${PN}-bcm43430 += "${PN}-license"
83RDEPENDS:${PN}-bcm43436 += "${PN}-license"
84RDEPENDS:${PN}-bcm43436s += "${PN}-license"
Andrew Geissler220dafd2023-10-04 10:18:08 -050085RDEPENDS:${PN}-bcm43439 += "${PN}-license"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050086RDEPENDS:${PN}-bcm43455 += "${PN}-license"
87RDEPENDS:${PN}-bcm43456 += "${PN}-license"
Andrew Geissler595f6302022-01-24 19:11:47 +000088
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050089RCONFLICTS:${PN}-bcm43430 = "linux-firmware-raspbian-bcm43430"
90RCONFLICTS:${PN}-bcm43436 = "linux-firmware-bcm43436"
91RCONFLICTS:${PN}-bcm43436s = "linux-firmware-bcm43436s"
Andrew Geissler220dafd2023-10-04 10:18:08 -050092RCONFLICTS:${PN}-bcm43439 = "linux-firmware-bcm43439"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050093RCONFLICTS:${PN}-bcm43455 = "linux-firmware-bcm43455"
94RCONFLICTS:${PN}-bcm43456 = "linux-firmware-bcm43456"
Andrew Geissler595f6302022-01-24 19:11:47 +000095
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050096RREPLACES:${PN}-bcm43430 = "linux-firmware-bcm43430"
97RREPLACES:${PN}-bcm43436 = "linux-firmware-bcm43436"
98RREPLACES:${PN}-bcm43436s = "linux-firmware-bcm43436s"
Andrew Geissler220dafd2023-10-04 10:18:08 -050099RREPLACES:${PN}-bcm43439 = "linux-firmware-bcm43439"
Patrick Williamsdb4c27e2022-08-05 08:10:29 -0500100RREPLACES:${PN}-bcm43455 = "linux-firmware-bcm43455"
101RREPLACES:${PN}-bcm43456 = "linux-firmware-bcm43456"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800102
103# Firmware files are generally not run on the CPU, so they can be
104# allarch despite being architecture specific
105INSANE_SKIP = "arch"