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 |