Merge pull request #215 from agherzan/ag_rpi3bplus

RasperryPi 3B+ support
This commit is contained in:
Paul Barker 2018-04-03 11:49:38 +01:00 committed by GitHub
commit 292e00099b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 76 additions and 96 deletions

View File

@ -20,6 +20,7 @@ KERNEL_DEVICETREE ?= " \
bcm2708-rpi-b-plus.dtb \ bcm2708-rpi-b-plus.dtb \
bcm2709-rpi-2-b.dtb \ bcm2709-rpi-2-b.dtb \
bcm2710-rpi-3-b.dtb \ bcm2710-rpi-3-b.dtb \
bcm2710-rpi-3-b-plus.dtb \
bcm2708-rpi-cm.dtb \ bcm2708-rpi-cm.dtb \
bcm2710-rpi-cm3.dtb \ bcm2710-rpi-cm3.dtb \
\ \

View File

@ -6,7 +6,7 @@ DEFAULTTUNE ?= "arm1176jzfshf"
require conf/machine/include/tune-arm1176jzf-s.inc require conf/machine/include/tune-arm1176jzf-s.inc
include conf/machine/include/rpi-base.inc include conf/machine/include/rpi-base.inc
MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-bcm43430" MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-raspbian-bcm43430"
SDIMG_KERNELIMAGE ?= "kernel.img" SDIMG_KERNELIMAGE ?= "kernel.img"
UBOOT_MACHINE ?= "rpi_0_w_defconfig" UBOOT_MACHINE ?= "rpi_0_w_defconfig"

View File

@ -4,7 +4,7 @@
MACHINEOVERRIDES = "raspberrypi3:${MACHINE}" MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-bcm43430" MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-raspbian-bcm43430 linux-firmware-raspbian-bcm43455"
require conf/machine/include/arm/arch-armv8.inc require conf/machine/include/arm/arch-armv8.inc
include conf/machine/include/rpi-base.inc include conf/machine/include/rpi-base.inc

View File

@ -6,7 +6,7 @@ DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
require conf/machine/include/tune-cortexa7.inc require conf/machine/include/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc include conf/machine/include/rpi-base.inc
MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-bcm43430" MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-raspbian-bcm43430 linux-firmware-raspbian-bcm43455"
SDIMG_KERNELIMAGE ?= "kernel7.img" SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config" UBOOT_MACHINE = "rpi_3_32b_config"

View File

@ -11,6 +11,8 @@
* raspberrypi-cm (dummy alias for raspberrypi) * raspberrypi-cm (dummy alias for raspberrypi)
* raspberrypi-cm3 (dummy alias for raspberrypi2) * raspberrypi-cm3 (dummy alias for raspberrypi2)
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
## Images ## Images
* rpi-test-image * rpi-test-image
@ -20,3 +22,13 @@
For other uses it's recommended to base images on `core-image-minimal` or For other uses it's recommended to base images on `core-image-minimal` or
`core-image-base` as appropriate. The old image names (`rpi-hwup-image` and `core-image-base` as appropriate. The old image names (`rpi-hwup-image` and
`rpi-basic-image`) are deprecated. `rpi-basic-image`) are deprecated.
## WiFi firmware blobs
Be aware that the WiFi firmwares for the supported boards are not provided by
`linux-firmware` but by a custom recipe which only packages the needed blobs
for these boards. This is because the upstream `linux-firmware` doesn't support
or has outdated files for the blobs we need. The recipe
`linux-firmware-raspbian` is based on a fork of `linux-firmware` which
includes everything we need in order to fully support the WiFi hardware. All
machines define `MACHINE_EXTRA_RRECOMMENDS` accordingly.

View File

@ -1,11 +1,10 @@
RPIFW_DATE ?= "20180226" RPIFW_DATE ?= "20180313"
SRCREV ?= "469fc794fd3e45dbf30e14b46cb0d6283e399cba" SRCREV ?= "af994023ab491420598bfd5648b9dcab956f7e11"
RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz" RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}" RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
SRC_URI = "${RPIFW_SRC_URI}" SRC_URI = "${RPIFW_SRC_URI}"
SRC_URI[md5sum] = "319e53a3184d5cec6ba78a29d001940c" SRC_URI[md5sum] = "0c388f3631093368ac92a15a262d0f7c"
SRC_URI[sha256sum] = "002128368c15b1e030d9a625db49603d7d19973ba58eee11973a9319f6ba5d60" SRC_URI[sha256sum] = "e2afa23886de586856a1d604da2a85e4559715816dccbd70ae828b840beafc21"
PV = "${RPIFW_DATE}" PV = "${RPIFW_DATE}"

View File

@ -1,59 +0,0 @@
# NVRAM file for BCM943430WLSELG
# 2.4 GHz, 20 MHz BW mode
# The following parameter values are just placeholders, need to be updated.
manfid=0x2d0
prodid=0x0726
vendid=0x14e4
devid=0x43e2
boardtype=0x0726
boardrev=0x1202
boardnum=22
macaddr=00:90:4c:c5:12:38
sromrev=11
boardflags=0x00404201
boardflags3=0x08000000
xtalfreq=37400
#xtalfreq=19200
nocrc=1
ag0=255
aa2g=1
ccode=ALL
pa0itssit=0x20
extpagain2g=0
#PA parameters for 2.4GHz, measured at CHIP OUTPUT
pa2ga0=-168,7161,-820
AvVmid_c0=0x0,0xc8
cckpwroffset0=5
# PPR params
maxp2ga0=84
txpwrbckof=6
cckbw202gpo=0
legofdmbw202gpo=0x66111111
mcsbw202gpo=0x77711111
propbw202gpo=0xdd
# OFDM IIR :
ofdmdigfilttype=18
ofdmdigfilttypebe=18
# PAPD mode:
papdmode=1
papdvalidtest=1
pacalidx2g=32
papdepsoffset=-36
papdendidx=61
il0macaddr=00:90:4c:c5:12:38
wl0id=0x431b
deadman_to=0xffffffff
# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG
muxenab=0x1
# CLDO PWM voltage settings - 0x4 - 1.1 volt
#cldo_pwm=0x4
#VCO freq 326.4MHz
spurconfig=0x3

View File

@ -0,0 +1,53 @@
SUMMARY = "Firmware files for use with Linux kernel"
SECTION = "kernel"
LICENSE = "Firmware-broadcom_bcm43xx"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc"
# These are not common licenses, set NO_GENERIC_LICENSE for them
# so that the license files will be copied from fetched source
NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx"
SRCREV = "86e88fbf0345da49555d0ec34c80b4fbae7d0cd3"
PV = "0.0+git${SRCPV}"
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree"
UPSTREAM_VERSION_UNKNOWN = "1"
S = "${WORKDIR}/git"
inherit allarch
CLEANBROKEN = "1"
do_compile() {
:
}
do_install() {
install -d ${D}${nonarch_base_libdir}/firmware/brcm
cp ./LICENCE.broadcom_bcm43xx ${D}${nonarch_base_libdir}/firmware
cp -r ./brcm/brcmfmac43430* ${D}${nonarch_base_libdir}/firmware/brcm
cp -r ./brcm/brcmfmac43455* ${D}${nonarch_base_libdir}/firmware/brcm
}
PACKAGES = " \
${PN}-broadcom-license \
${PN}-bcm43430 \
${PN}-bcm43455 \
"
LICENSE_${PN}-bcm43430 = "Firmware-broadcom_bcm43xx"
LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx"
FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx"
FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430*"
FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455*"
RDEPENDS_${PN}-bcm43430 += "${PN}-broadcom-license"
RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
# Firmware files are generally not ran on the CPU, so they can be
# allarch despite being architecture specific
INSANE_SKIP = "arch"

View File

@ -1,26 +0,0 @@
FILESEXTRAPATHS_prepend_rpi := "${THISDIR}/files:"
SRC_URI_append_rpi = " \
file://brcmfmac43430-sdio.bin \
file://brcmfmac43430-sdio.txt \
"
do_install_append_rpi() {
# Overwrite v7.45.41.26 by the one we currently provide in this layer
# (v7.45.41.46)
local _firmware="brcmfmac43430-sdio.bin"
local _oldmd5=9258986488eca9fe5343b0d6fe040f8e
if [ "$(md5sum ${D}${nonarch_base_libdir}/firmware/brcm/$_firmware | awk '{print $1}')" != "$_oldmd5" ]; then
_firmware=""
bbwarn "linux-firmware stopped providing brcmfmac43430 v7.45.41.26."
else
_firmware="${WORKDIR}/$_firmware"
fi
mkdir -p ${D}/${nonarch_base_libdir}/firmware/brcm
install -m 0644 $_firmware ${WORKDIR}/brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm
}
FILES_${PN}-bcm43430_append_rpi = " \
${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \
"

View File

@ -1,6 +1,6 @@
LINUX_VERSION ?= "4.14.22" LINUX_VERSION ?= "4.14.30"
SRCREV = "daa138dae512b374c5be05f492e7c62838359b53" SRCREV = "9696aab22bb8163fb3a2a262dd6c67f6d05b70a1"
SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y" SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y"
require linux-raspberrypi.inc require linux-raspberrypi.inc

View File

@ -2,7 +2,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
LINUX_VERSION ?= "4.9.80" LINUX_VERSION ?= "4.9.80"
SRCREV = "027885087faa515133534cf767a1cd66cbd6cd1e" SRCREV = "a7b4dd27c1c0d6510b8066b91ef01be0928d8529"
SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y" SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y"
require linux-raspberrypi.inc require linux-raspberrypi.inc