diff options
| author | Paul Barker <paul@betafive.co.uk> | 2018-04-03 11:49:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-04-03 11:49:38 +0100 |
| commit | 292e00099bae1e4a822a56969221e5fee6b5db8d (patch) | |
| tree | 97fa087fbe5d4a55c76f0a21a0a218adb5a706eb | |
| parent | 63e53f919089027259a513dc2cd4b140789bf1a3 (diff) | |
| parent | 519da94776fc3160a2576da49a12afca191d19c5 (diff) | |
| download | meta-raspberrypi-292e00099bae1e4a822a56969221e5fee6b5db8d.tar.gz | |
Merge pull request #215 from agherzan/ag_rpi3bplus
RasperryPi 3B+ support
| -rw-r--r-- | conf/machine/include/rpi-base.inc | 1 | ||||
| -rw-r--r-- | conf/machine/raspberrypi0-wifi.conf | 2 | ||||
| -rw-r--r-- | conf/machine/raspberrypi3-64.conf | 2 | ||||
| -rw-r--r-- | conf/machine/raspberrypi3.conf | 2 | ||||
| -rw-r--r-- | docs/layer-contents.md | 12 | ||||
| -rw-r--r-- | recipes-bsp/common/firmware.inc | 9 | ||||
| -rw-r--r-- | recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin | bin | 372398 -> 0 bytes | |||
| -rw-r--r-- | recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt | 59 | ||||
| -rw-r--r-- | recipes-kernel/linux-firmware/linux-firmware-raspbian.bb | 53 | ||||
| -rw-r--r-- | recipes-kernel/linux-firmware/linux-firmware_%.bbappend | 26 | ||||
| -rw-r--r-- | recipes-kernel/linux/linux-raspberrypi_4.14.bb | 4 | ||||
| -rw-r--r-- | recipes-kernel/linux/linux-raspberrypi_4.9.bb | 2 |
12 files changed, 76 insertions, 96 deletions
diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index 8042d65..d2f2baa 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc | |||
| @@ -20,6 +20,7 @@ KERNEL_DEVICETREE ?= " \ | |||
| 20 | bcm2708-rpi-b-plus.dtb \ | 20 | bcm2708-rpi-b-plus.dtb \ |
| 21 | bcm2709-rpi-2-b.dtb \ | 21 | bcm2709-rpi-2-b.dtb \ |
| 22 | bcm2710-rpi-3-b.dtb \ | 22 | bcm2710-rpi-3-b.dtb \ |
| 23 | bcm2710-rpi-3-b-plus.dtb \ | ||
| 23 | bcm2708-rpi-cm.dtb \ | 24 | bcm2708-rpi-cm.dtb \ |
| 24 | bcm2710-rpi-cm3.dtb \ | 25 | bcm2710-rpi-cm3.dtb \ |
| 25 | \ | 26 | \ |
diff --git a/conf/machine/raspberrypi0-wifi.conf b/conf/machine/raspberrypi0-wifi.conf index ef6e6e5..590c669 100644 --- a/conf/machine/raspberrypi0-wifi.conf +++ b/conf/machine/raspberrypi0-wifi.conf | |||
| @@ -6,7 +6,7 @@ DEFAULTTUNE ?= "arm1176jzfshf" | |||
| 6 | require conf/machine/include/tune-arm1176jzf-s.inc | 6 | require conf/machine/include/tune-arm1176jzf-s.inc |
| 7 | include conf/machine/include/rpi-base.inc | 7 | include conf/machine/include/rpi-base.inc |
| 8 | 8 | ||
| 9 | MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-bcm43430" | 9 | MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-raspbian-bcm43430" |
| 10 | 10 | ||
| 11 | SDIMG_KERNELIMAGE ?= "kernel.img" | 11 | SDIMG_KERNELIMAGE ?= "kernel.img" |
| 12 | UBOOT_MACHINE ?= "rpi_0_w_defconfig" | 12 | UBOOT_MACHINE ?= "rpi_0_w_defconfig" |
diff --git a/conf/machine/raspberrypi3-64.conf b/conf/machine/raspberrypi3-64.conf index 5f33802..3e7aade 100644 --- a/conf/machine/raspberrypi3-64.conf +++ b/conf/machine/raspberrypi3-64.conf | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | MACHINEOVERRIDES = "raspberrypi3:${MACHINE}" | 5 | MACHINEOVERRIDES = "raspberrypi3:${MACHINE}" |
| 6 | 6 | ||
| 7 | MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-bcm43430" | 7 | MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-raspbian-bcm43430 linux-firmware-raspbian-bcm43455" |
| 8 | 8 | ||
| 9 | require conf/machine/include/arm/arch-armv8.inc | 9 | require conf/machine/include/arm/arch-armv8.inc |
| 10 | include conf/machine/include/rpi-base.inc | 10 | include conf/machine/include/rpi-base.inc |
diff --git a/conf/machine/raspberrypi3.conf b/conf/machine/raspberrypi3.conf index a1c45b0..61c60e6 100644 --- a/conf/machine/raspberrypi3.conf +++ b/conf/machine/raspberrypi3.conf | |||
| @@ -6,7 +6,7 @@ DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" | |||
| 6 | require conf/machine/include/tune-cortexa7.inc | 6 | require conf/machine/include/tune-cortexa7.inc |
| 7 | include conf/machine/include/rpi-base.inc | 7 | include conf/machine/include/rpi-base.inc |
| 8 | 8 | ||
| 9 | MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-bcm43430" | 9 | MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-raspbian-bcm43430 linux-firmware-raspbian-bcm43455" |
| 10 | 10 | ||
| 11 | SDIMG_KERNELIMAGE ?= "kernel7.img" | 11 | SDIMG_KERNELIMAGE ?= "kernel7.img" |
| 12 | UBOOT_MACHINE = "rpi_3_32b_config" | 12 | UBOOT_MACHINE = "rpi_3_32b_config" |
diff --git a/docs/layer-contents.md b/docs/layer-contents.md index 223a3b0..0ba60f5 100644 --- a/docs/layer-contents.md +++ b/docs/layer-contents.md | |||
| @@ -11,6 +11,8 @@ | |||
| 11 | * raspberrypi-cm (dummy alias for raspberrypi) | 11 | * raspberrypi-cm (dummy alias for raspberrypi) |
| 12 | * raspberrypi-cm3 (dummy alias for raspberrypi2) | 12 | * raspberrypi-cm3 (dummy alias for raspberrypi2) |
| 13 | 13 | ||
| 14 | Note: The raspberrypi3 machines include support for Raspberry Pi 3B+. | ||
| 15 | |||
| 14 | ## Images | 16 | ## Images |
| 15 | 17 | ||
| 16 | * rpi-test-image | 18 | * rpi-test-image |
| @@ -20,3 +22,13 @@ | |||
| 20 | For other uses it's recommended to base images on `core-image-minimal` or | 22 | For other uses it's recommended to base images on `core-image-minimal` or |
| 21 | `core-image-base` as appropriate. The old image names (`rpi-hwup-image` and | 23 | `core-image-base` as appropriate. The old image names (`rpi-hwup-image` and |
| 22 | `rpi-basic-image`) are deprecated. | 24 | `rpi-basic-image`) are deprecated. |
| 25 | |||
| 26 | ## WiFi firmware blobs | ||
| 27 | |||
| 28 | Be aware that the WiFi firmwares for the supported boards are not provided by | ||
| 29 | `linux-firmware` but by a custom recipe which only packages the needed blobs | ||
| 30 | for these boards. This is because the upstream `linux-firmware` doesn't support | ||
| 31 | or has outdated files for the blobs we need. The recipe | ||
| 32 | `linux-firmware-raspbian` is based on a fork of `linux-firmware` which | ||
| 33 | includes everything we need in order to fully support the WiFi hardware. All | ||
| 34 | machines define `MACHINE_EXTRA_RRECOMMENDS` accordingly. | ||
diff --git a/recipes-bsp/common/firmware.inc b/recipes-bsp/common/firmware.inc index d5e60cb..53654ce 100644 --- a/recipes-bsp/common/firmware.inc +++ b/recipes-bsp/common/firmware.inc | |||
| @@ -1,11 +1,10 @@ | |||
| 1 | RPIFW_DATE ?= "20180226" | 1 | RPIFW_DATE ?= "20180313" |
| 2 | SRCREV ?= "469fc794fd3e45dbf30e14b46cb0d6283e399cba" | 2 | SRCREV ?= "af994023ab491420598bfd5648b9dcab956f7e11" |
| 3 | RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz" | 3 | RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz" |
| 4 | RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}" | 4 | RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}" |
| 5 | 5 | ||
| 6 | SRC_URI = "${RPIFW_SRC_URI}" | 6 | SRC_URI = "${RPIFW_SRC_URI}" |
| 7 | SRC_URI[md5sum] = "319e53a3184d5cec6ba78a29d001940c" | 7 | SRC_URI[md5sum] = "0c388f3631093368ac92a15a262d0f7c" |
| 8 | SRC_URI[sha256sum] = "002128368c15b1e030d9a625db49603d7d19973ba58eee11973a9319f6ba5d60" | 8 | SRC_URI[sha256sum] = "e2afa23886de586856a1d604da2a85e4559715816dccbd70ae828b840beafc21" |
| 9 | 9 | ||
| 10 | PV = "${RPIFW_DATE}" | 10 | PV = "${RPIFW_DATE}" |
| 11 | |||
diff --git a/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin deleted file mode 100644 index 6b955da..0000000 --- a/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin +++ /dev/null | |||
| Binary files differ | |||
diff --git a/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt deleted file mode 100644 index 3d917a7..0000000 --- a/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt +++ /dev/null | |||
| @@ -1,59 +0,0 @@ | |||
| 1 | # NVRAM file for BCM943430WLSELG | ||
| 2 | # 2.4 GHz, 20 MHz BW mode | ||
| 3 | |||
| 4 | # The following parameter values are just placeholders, need to be updated. | ||
| 5 | manfid=0x2d0 | ||
| 6 | prodid=0x0726 | ||
| 7 | vendid=0x14e4 | ||
| 8 | devid=0x43e2 | ||
| 9 | boardtype=0x0726 | ||
| 10 | boardrev=0x1202 | ||
| 11 | boardnum=22 | ||
| 12 | macaddr=00:90:4c:c5:12:38 | ||
| 13 | sromrev=11 | ||
| 14 | boardflags=0x00404201 | ||
| 15 | boardflags3=0x08000000 | ||
| 16 | xtalfreq=37400 | ||
| 17 | #xtalfreq=19200 | ||
| 18 | nocrc=1 | ||
| 19 | ag0=255 | ||
| 20 | aa2g=1 | ||
| 21 | ccode=ALL | ||
| 22 | |||
| 23 | pa0itssit=0x20 | ||
| 24 | extpagain2g=0 | ||
| 25 | |||
| 26 | #PA parameters for 2.4GHz, measured at CHIP OUTPUT | ||
| 27 | pa2ga0=-168,7161,-820 | ||
| 28 | AvVmid_c0=0x0,0xc8 | ||
| 29 | cckpwroffset0=5 | ||
| 30 | |||
| 31 | # PPR params | ||
| 32 | maxp2ga0=84 | ||
| 33 | txpwrbckof=6 | ||
| 34 | cckbw202gpo=0 | ||
| 35 | legofdmbw202gpo=0x66111111 | ||
| 36 | mcsbw202gpo=0x77711111 | ||
| 37 | propbw202gpo=0xdd | ||
| 38 | |||
| 39 | # OFDM IIR : | ||
| 40 | ofdmdigfilttype=18 | ||
| 41 | ofdmdigfilttypebe=18 | ||
| 42 | # PAPD mode: | ||
| 43 | papdmode=1 | ||
| 44 | papdvalidtest=1 | ||
| 45 | pacalidx2g=32 | ||
| 46 | papdepsoffset=-36 | ||
| 47 | papdendidx=61 | ||
| 48 | |||
| 49 | il0macaddr=00:90:4c:c5:12:38 | ||
| 50 | wl0id=0x431b | ||
| 51 | |||
| 52 | deadman_to=0xffffffff | ||
| 53 | # muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG | ||
| 54 | muxenab=0x1 | ||
| 55 | # CLDO PWM voltage settings - 0x4 - 1.1 volt | ||
| 56 | #cldo_pwm=0x4 | ||
| 57 | |||
| 58 | #VCO freq 326.4MHz | ||
| 59 | spurconfig=0x3 | ||
diff --git a/recipes-kernel/linux-firmware/linux-firmware-raspbian.bb b/recipes-kernel/linux-firmware/linux-firmware-raspbian.bb new file mode 100644 index 0000000..ee89301 --- /dev/null +++ b/recipes-kernel/linux-firmware/linux-firmware-raspbian.bb | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | SUMMARY = "Firmware files for use with Linux kernel" | ||
| 2 | SECTION = "kernel" | ||
| 3 | |||
| 4 | LICENSE = "Firmware-broadcom_bcm43xx" | ||
| 5 | |||
| 6 | LIC_FILES_CHKSUM = "file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc" | ||
| 7 | |||
| 8 | # These are not common licenses, set NO_GENERIC_LICENSE for them | ||
| 9 | # so that the license files will be copied from fetched source | ||
| 10 | NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx" | ||
| 11 | |||
| 12 | SRCREV = "86e88fbf0345da49555d0ec34c80b4fbae7d0cd3" | ||
| 13 | PV = "0.0+git${SRCPV}" | ||
| 14 | |||
| 15 | SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree" | ||
| 16 | |||
| 17 | UPSTREAM_VERSION_UNKNOWN = "1" | ||
| 18 | |||
| 19 | S = "${WORKDIR}/git" | ||
| 20 | |||
| 21 | inherit allarch | ||
| 22 | |||
| 23 | CLEANBROKEN = "1" | ||
| 24 | |||
| 25 | do_compile() { | ||
| 26 | : | ||
| 27 | } | ||
| 28 | |||
| 29 | do_install() { | ||
| 30 | install -d ${D}${nonarch_base_libdir}/firmware/brcm | ||
| 31 | cp ./LICENCE.broadcom_bcm43xx ${D}${nonarch_base_libdir}/firmware | ||
| 32 | cp -r ./brcm/brcmfmac43430* ${D}${nonarch_base_libdir}/firmware/brcm | ||
| 33 | cp -r ./brcm/brcmfmac43455* ${D}${nonarch_base_libdir}/firmware/brcm | ||
| 34 | } | ||
| 35 | |||
| 36 | PACKAGES = " \ | ||
| 37 | ${PN}-broadcom-license \ | ||
| 38 | ${PN}-bcm43430 \ | ||
| 39 | ${PN}-bcm43455 \ | ||
| 40 | " | ||
| 41 | |||
| 42 | LICENSE_${PN}-bcm43430 = "Firmware-broadcom_bcm43xx" | ||
| 43 | LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx" | ||
| 44 | LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx" | ||
| 45 | FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx" | ||
| 46 | FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430*" | ||
| 47 | FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455*" | ||
| 48 | RDEPENDS_${PN}-bcm43430 += "${PN}-broadcom-license" | ||
| 49 | RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license" | ||
| 50 | |||
| 51 | # Firmware files are generally not ran on the CPU, so they can be | ||
| 52 | # allarch despite being architecture specific | ||
| 53 | INSANE_SKIP = "arch" | ||
diff --git a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend deleted file mode 100644 index f445a54..0000000 --- a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend +++ /dev/null | |||
| @@ -1,26 +0,0 @@ | |||
| 1 | FILESEXTRAPATHS_prepend_rpi := "${THISDIR}/files:" | ||
| 2 | |||
| 3 | SRC_URI_append_rpi = " \ | ||
| 4 | file://brcmfmac43430-sdio.bin \ | ||
| 5 | file://brcmfmac43430-sdio.txt \ | ||
| 6 | " | ||
| 7 | |||
| 8 | do_install_append_rpi() { | ||
| 9 | # Overwrite v7.45.41.26 by the one we currently provide in this layer | ||
| 10 | # (v7.45.41.46) | ||
| 11 | local _firmware="brcmfmac43430-sdio.bin" | ||
| 12 | local _oldmd5=9258986488eca9fe5343b0d6fe040f8e | ||
| 13 | if [ "$(md5sum ${D}${nonarch_base_libdir}/firmware/brcm/$_firmware | awk '{print $1}')" != "$_oldmd5" ]; then | ||
| 14 | _firmware="" | ||
| 15 | bbwarn "linux-firmware stopped providing brcmfmac43430 v7.45.41.26." | ||
| 16 | else | ||
| 17 | _firmware="${WORKDIR}/$_firmware" | ||
| 18 | fi | ||
| 19 | |||
| 20 | mkdir -p ${D}/${nonarch_base_libdir}/firmware/brcm | ||
| 21 | install -m 0644 $_firmware ${WORKDIR}/brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm | ||
| 22 | } | ||
| 23 | |||
| 24 | FILES_${PN}-bcm43430_append_rpi = " \ | ||
| 25 | ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \ | ||
| 26 | " | ||
diff --git a/recipes-kernel/linux/linux-raspberrypi_4.14.bb b/recipes-kernel/linux/linux-raspberrypi_4.14.bb index db249a3..7679175 100644 --- a/recipes-kernel/linux/linux-raspberrypi_4.14.bb +++ b/recipes-kernel/linux/linux-raspberrypi_4.14.bb | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | LINUX_VERSION ?= "4.14.22" | 1 | LINUX_VERSION ?= "4.14.30" |
| 2 | 2 | ||
| 3 | SRCREV = "daa138dae512b374c5be05f492e7c62838359b53" | 3 | SRCREV = "9696aab22bb8163fb3a2a262dd6c67f6d05b70a1" |
| 4 | SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y" | 4 | SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y" |
| 5 | 5 | ||
| 6 | require linux-raspberrypi.inc | 6 | require linux-raspberrypi.inc |
diff --git a/recipes-kernel/linux/linux-raspberrypi_4.9.bb b/recipes-kernel/linux/linux-raspberrypi_4.9.bb index 11b34f5..af111b6 100644 --- a/recipes-kernel/linux/linux-raspberrypi_4.9.bb +++ b/recipes-kernel/linux/linux-raspberrypi_4.9.bb | |||
| @@ -2,7 +2,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" | |||
| 2 | 2 | ||
| 3 | LINUX_VERSION ?= "4.9.80" | 3 | LINUX_VERSION ?= "4.9.80" |
| 4 | 4 | ||
| 5 | SRCREV = "027885087faa515133534cf767a1cd66cbd6cd1e" | 5 | SRCREV = "a7b4dd27c1c0d6510b8066b91ef01be0928d8529" |
| 6 | SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y" | 6 | SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y" |
| 7 | 7 | ||
| 8 | require linux-raspberrypi.inc | 8 | require linux-raspberrypi.inc |
