summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Barker <paul@betafive.co.uk>2018-04-03 11:49:38 +0100
committerGitHub <noreply@github.com>2018-04-03 11:49:38 +0100
commit292e00099bae1e4a822a56969221e5fee6b5db8d (patch)
tree97fa087fbe5d4a55c76f0a21a0a218adb5a706eb
parent63e53f919089027259a513dc2cd4b140789bf1a3 (diff)
parent519da94776fc3160a2576da49a12afca191d19c5 (diff)
downloadmeta-raspberrypi-292e00099bae1e4a822a56969221e5fee6b5db8d.tar.gz
Merge pull request #215 from agherzan/ag_rpi3bplus
RasperryPi 3B+ support
-rw-r--r--conf/machine/include/rpi-base.inc1
-rw-r--r--conf/machine/raspberrypi0-wifi.conf2
-rw-r--r--conf/machine/raspberrypi3-64.conf2
-rw-r--r--conf/machine/raspberrypi3.conf2
-rw-r--r--docs/layer-contents.md12
-rw-r--r--recipes-bsp/common/firmware.inc9
-rw-r--r--recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.binbin372398 -> 0 bytes
-rw-r--r--recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt59
-rw-r--r--recipes-kernel/linux-firmware/linux-firmware-raspbian.bb53
-rw-r--r--recipes-kernel/linux-firmware/linux-firmware_%.bbappend26
-rw-r--r--recipes-kernel/linux/linux-raspberrypi_4.14.bb4
-rw-r--r--recipes-kernel/linux/linux-raspberrypi_4.9.bb2
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"
6require conf/machine/include/tune-arm1176jzf-s.inc 6require conf/machine/include/tune-arm1176jzf-s.inc
7include conf/machine/include/rpi-base.inc 7include conf/machine/include/rpi-base.inc
8 8
9MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-bcm43430" 9MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-raspbian-bcm43430"
10 10
11SDIMG_KERNELIMAGE ?= "kernel.img" 11SDIMG_KERNELIMAGE ?= "kernel.img"
12UBOOT_MACHINE ?= "rpi_0_w_defconfig" 12UBOOT_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
5MACHINEOVERRIDES = "raspberrypi3:${MACHINE}" 5MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
6 6
7MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-bcm43430" 7MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-raspbian-bcm43430 linux-firmware-raspbian-bcm43455"
8 8
9require conf/machine/include/arm/arch-armv8.inc 9require conf/machine/include/arm/arch-armv8.inc
10include conf/machine/include/rpi-base.inc 10include 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"
6require conf/machine/include/tune-cortexa7.inc 6require conf/machine/include/tune-cortexa7.inc
7include conf/machine/include/rpi-base.inc 7include conf/machine/include/rpi-base.inc
8 8
9MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-bcm43430" 9MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-raspbian-bcm43430 linux-firmware-raspbian-bcm43455"
10 10
11SDIMG_KERNELIMAGE ?= "kernel7.img" 11SDIMG_KERNELIMAGE ?= "kernel7.img"
12UBOOT_MACHINE = "rpi_3_32b_config" 12UBOOT_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
14Note: 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 @@
20For other uses it's recommended to base images on `core-image-minimal` or 22For 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
28Be 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
30for these boards. This is because the upstream `linux-firmware` doesn't support
31or has outdated files for the blobs we need. The recipe
32`linux-firmware-raspbian` is based on a fork of `linux-firmware` which
33includes everything we need in order to fully support the WiFi hardware. All
34machines 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 @@
1RPIFW_DATE ?= "20180226" 1RPIFW_DATE ?= "20180313"
2SRCREV ?= "469fc794fd3e45dbf30e14b46cb0d6283e399cba" 2SRCREV ?= "af994023ab491420598bfd5648b9dcab956f7e11"
3RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz" 3RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
4RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}" 4RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
5 5
6SRC_URI = "${RPIFW_SRC_URI}" 6SRC_URI = "${RPIFW_SRC_URI}"
7SRC_URI[md5sum] = "319e53a3184d5cec6ba78a29d001940c" 7SRC_URI[md5sum] = "0c388f3631093368ac92a15a262d0f7c"
8SRC_URI[sha256sum] = "002128368c15b1e030d9a625db49603d7d19973ba58eee11973a9319f6ba5d60" 8SRC_URI[sha256sum] = "e2afa23886de586856a1d604da2a85e4559715816dccbd70ae828b840beafc21"
9 9
10PV = "${RPIFW_DATE}" 10PV = "${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.
5manfid=0x2d0
6prodid=0x0726
7vendid=0x14e4
8devid=0x43e2
9boardtype=0x0726
10boardrev=0x1202
11boardnum=22
12macaddr=00:90:4c:c5:12:38
13sromrev=11
14boardflags=0x00404201
15boardflags3=0x08000000
16xtalfreq=37400
17#xtalfreq=19200
18nocrc=1
19ag0=255
20aa2g=1
21ccode=ALL
22
23pa0itssit=0x20
24extpagain2g=0
25
26#PA parameters for 2.4GHz, measured at CHIP OUTPUT
27pa2ga0=-168,7161,-820
28AvVmid_c0=0x0,0xc8
29cckpwroffset0=5
30
31# PPR params
32maxp2ga0=84
33txpwrbckof=6
34cckbw202gpo=0
35legofdmbw202gpo=0x66111111
36mcsbw202gpo=0x77711111
37propbw202gpo=0xdd
38
39# OFDM IIR :
40ofdmdigfilttype=18
41ofdmdigfilttypebe=18
42# PAPD mode:
43papdmode=1
44papdvalidtest=1
45pacalidx2g=32
46papdepsoffset=-36
47papdendidx=61
48
49il0macaddr=00:90:4c:c5:12:38
50wl0id=0x431b
51
52deadman_to=0xffffffff
53# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG
54muxenab=0x1
55# CLDO PWM voltage settings - 0x4 - 1.1 volt
56#cldo_pwm=0x4
57
58#VCO freq 326.4MHz
59spurconfig=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 @@
1SUMMARY = "Firmware files for use with Linux kernel"
2SECTION = "kernel"
3
4LICENSE = "Firmware-broadcom_bcm43xx"
5
6LIC_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
10NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx"
11
12SRCREV = "86e88fbf0345da49555d0ec34c80b4fbae7d0cd3"
13PV = "0.0+git${SRCPV}"
14
15SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree"
16
17UPSTREAM_VERSION_UNKNOWN = "1"
18
19S = "${WORKDIR}/git"
20
21inherit allarch
22
23CLEANBROKEN = "1"
24
25do_compile() {
26 :
27}
28
29do_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
36PACKAGES = " \
37 ${PN}-broadcom-license \
38 ${PN}-bcm43430 \
39 ${PN}-bcm43455 \
40 "
41
42LICENSE_${PN}-bcm43430 = "Firmware-broadcom_bcm43xx"
43LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
44LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx"
45FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx"
46FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430*"
47FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455*"
48RDEPENDS_${PN}-bcm43430 += "${PN}-broadcom-license"
49RDEPENDS_${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
53INSANE_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 @@
1FILESEXTRAPATHS_prepend_rpi := "${THISDIR}/files:"
2
3SRC_URI_append_rpi = " \
4 file://brcmfmac43430-sdio.bin \
5 file://brcmfmac43430-sdio.txt \
6"
7
8do_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
24FILES_${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 @@
1LINUX_VERSION ?= "4.14.22" 1LINUX_VERSION ?= "4.14.30"
2 2
3SRCREV = "daa138dae512b374c5be05f492e7c62838359b53" 3SRCREV = "9696aab22bb8163fb3a2a262dd6c67f6d05b70a1"
4SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y" 4SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y"
5 5
6require linux-raspberrypi.inc 6require 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
3LINUX_VERSION ?= "4.9.80" 3LINUX_VERSION ?= "4.9.80"
4 4
5SRCREV = "027885087faa515133534cf767a1cd66cbd6cd1e" 5SRCREV = "a7b4dd27c1c0d6510b8066b91ef01be0928d8529"
6SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y" 6SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y"
7 7
8require linux-raspberrypi.inc 8require linux-raspberrypi.inc