36 Commits

Author SHA1 Message Date
2d40b00002 rpi-base.inc: Build rpi-poe dtb overlay
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-11 15:50:33 +01:00
c7330ac5e4 linux-raspberrypi: Build rpi poe fan driver
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-11 15:50:33 +01:00
aea27ba4c7 linux-raspberrypi: Update to 4.14.68
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-11 15:50:33 +01:00
50ee8d7e17 firmware: Update to 20180817
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-11 15:50:33 +01:00
ade31d6d01 rpi-hwup-image.bb: Modified the warning message in do_image_prepend()
When bitbaking image rpi-hwup-image, a warning message is generated
to inform he user that the image is deprecated.  The warning message
contains a suggestion of a non-deprecated image to use instead.

Previous to this commit, core-image-minimal was the suggested alternate
image.  This was a subpar suggestion, because rpi-hwup-image packages
the kernel modules in the image, but core-image-minimal does not.  This
can lead to confusion for the user, who may not immediately realize that
their kernel modules are no longer in the image.  With this commit, the
warning message now suggests core-image-base, which packages the kernel
modules in its image.

This change was suggested by Khem Raj on the Yocto project mailing list.

Signed-off-by: Steve Pavao <stevep@korgrd.com>
2018-09-06 20:00:49 +01:00
2a6e4883f9 raspberrypi3-64.conf: Define only the dtb files that are available for arch64
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-06 20:00:49 +01:00
99ebafd75a rpi-base.inc: Split overlays and dtbs from KERNEL_DEVICETREE
This is helpful for example in the cases where the kernel doesn't
provide all the dtbs in arm64 as in arm.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-06 20:00:49 +01:00
3204425178 linux-raspberrypi: Update to v4.14.58
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-06 20:00:49 +01:00
cf26c996ff raspberrypi3-64.conf: Include cm3 dtb
Add the CM3 dtb in the boot partition so we can boot this board as well with
this machine.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-06 20:00:49 +01:00
235036c3a8 sdcard_image-rpi.bbclass: use 4 spaces for indentation instead of mix of tabs and spaces
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-09-06 20:00:49 +01:00
f9e1ce03c5 sdcard_image-rpi: add dependency on rpi-u-boot-scr
* there is runtime dependency on rpi-u-boot-scr from u-boot itself:
  recipes-bsp/u-boot/u-boot_%.bbappend:RDEPENDS_${PN}_append_rpi = " rpi-u-boot-scr"
* but that's not enough to ensure that rpi-u-boot-scr:do_deploy is
  finished before do_image_rpi_sdimg and for
  ${DEPLOY_DIR_IMAGE}/boot.scr to exist in time

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-09-06 20:00:49 +01:00
2637389adb sdcard_image-rpi.bbclass: copy the DTB files with canonical name
* instead of using ${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb use
  the entries from KERNEL_DEVICETREE
* basename is still needed because raspberrypi3-64 is using:
  broadcom/bcm2710-rpi-3-b.dtb and the ${DEPLOY_DIR_IMAGE} doesn't
  contain any directories for DTBs and we cannot remove broadcom/
  prefix, because then "make bcm2710-rpi-3-b.dtb" from
  kernel-devicetree.bbclass will fail with:
  make[3]: *** No rule to make target 'arch/arm64/boot/dts/bcm2710-rpi-3-b.dtb'.  Stop.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-09-06 20:00:49 +01:00
391ea937a9 linux-raspberrypi: Update to 4.14.52+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-06 20:00:49 +01:00
e0149506ce firmware: Update to 20180619 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-06 20:00:49 +01:00
5cd289ac1b wiringpi: use lower-case in recipe directory name
Keep naming consistency.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-09-06 20:00:49 +01:00
2cae48218b meta-raspberrypi: use generic licenses in ${COMMON_LICENSE_DIR} from Poky
Keep consistency with current practices.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-09-06 20:00:49 +01:00
1801aa319c pi-bluetooth: use _git suffix in recipe filename
Keep naming consistency.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-09-06 20:00:49 +01:00
a4ba2982e4 meta-raspberrypi: use _% suffix instead of specific versions for bbappends
Keep naming consistency and ensure they are still applied when the upstream recipes are updated.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-09-06 20:00:49 +01:00
e1f746fa66 formfactor: use rpi instead of raspberrypi to apply to all rpi machines
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-09-06 20:00:49 +01:00
690e196f02 docs: document support for 802.15.4 hat
Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2018-09-06 20:00:49 +01:00
42de47506a rpi-config: load at86rf233 overlay
Controlled with ENABLED_AT86RF variable

Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2018-09-06 20:00:49 +01:00
a15dbd32c6 rpi-base.inc: install at86rf233 overlay
Controlled with ENABLE_AT86RF variable

Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2018-09-06 20:00:49 +01:00
ed0cfd5b9e config_git.bb: Remove extra space
Signed-off-by: Eduardo Abinader <eduardoabinader@gmail.com>
2018-09-06 20:00:49 +01:00
05f21adb99 linux-firmware: remove duplicate ${PN}-bcm43455 package
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-08-10 12:01:01 +01:00
b35e827e53 linux-firmware: move ${PN}-cypress-license handling to oe-core recipe
* this will make this bbappend a bit more version agnostic
* depends on oe-core commits from:
  http://lists.openembedded.org/pipermail/openembedded-core/2018-July/153164.html
  to prevent including ${PN}-cypress-license package twice in PACKAGES
  http://lists.openembedded.org/pipermail/openembedded-core/2018-July/153165.html

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-08-10 12:01:01 +01:00
cdb2dad529 linux-raspberrypi: update 4.9 recipe to current HEAD
Contains the following changes:

    7f9c648dad64 drm/vc4: Move IRQ enable to PM path

which fixes an unbalanced IRQ enable warning, which was rapported
in #286

Signed-off-by: Mirza Krak <mirza.krak@northern.tech>
Signed-off-by: Gunnar Andersson <gandersson@genivi.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-07-20 15:07:55 +01:00
d45f13b11b linux-firmware: update LIC_FILES_CHKSUM for d114732 revision from oe-core
* unfortunately the LICENCE.cypress was updated in last upgrade:
  http://git.openembedded.org/openembedded-core/commit/?id=6be8744d1b8ee35eb47acd517cfa29b2a7f455d5
  ba51e86 Update Cypress license termination clause
  https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/LICENCE.cypress?id=ba51e861f4444f51e7e83f778575a8146dc514d0

* and the same was now backported to sumo branch:
  http://git.openembedded.org/openembedded-core/commit/?h=sumo&id=087a50f4d8075a91fa6aa373a3dc05017e62f1f9

* it's unfortunate, because now meta-raspberrypi/master is compatible
  only with oe-core master after
  6be8744d1b8ee35eb47acd517cfa29b2a7f455d5
  it would be nice to upstream some of these changes to linux-firmware
  recipes and leave only the rpi specific packaging here

* and the same happened with sumo backport, so meta-raspberrypi/sumo
  will be compatible only with oe-core sumo after
  087a50f4d8075a91fa6aa373a3dc05017e62f1f9

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-07-20 12:25:40 +01:00
f2e2a4376e rpi-config: remove explicit device tree selection for raspberrypi3-64
The current firmware doesn't need this.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-14 16:56:30 +01:00
8632069f29 raspberrypi3-64.conf: add 3B+ device tree
Closes #253

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-14 16:56:30 +01:00
092d42cd82 linux-firmware: restore and merge bluez-firmware
The attempt to Raspbian updated firmware blobs in packages separate from
linux-firmware introduced unresolvable conflicts with the standard
linux-firmware roll-up package.  Revert to using an augmented
linux-firmware recipe that overrides and adds firmware from two Raspbian
repositories that have up-to-date images.

Closes #244

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-14 10:35:51 +01:00
6aa54e92e3 pi-bluetooth: create to provide standard raspbian script for bluetooth setup
Unique bluetooth device addresses are not assigned correctly with some
firmware, resulting in a fixed default address.  Use the same utility as
raspbian does to initialize the device.

Closes #236

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-11 14:55:25 +01:00
df56f0c6cc bluez-firmware-raspbian: create to hold non-free firmware
Remove the material covered by the Cypress license from the bluez5
package and move it to its own package, derived directly from the
upstream sources.

Closes #224

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-11 14:55:25 +01:00
1027038db7 bluez5: fix issues with systemd script
Type=simple is wrong: it allows bluetooth.service to start before the
uart is configured, resulting in hci0 command tx timeout errors.
Type=oneshot blocks follow-up units until the ExecStart completes.

Add RemainAfterExit since system state has changed as a result of the
unit.

Also add a BindsTo for the device that we're going to use.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-11 14:55:25 +01:00
dbee7838b7 bluez5: trivial fix to RDEPENDS
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-11 14:55:25 +01:00
0fd3728b1d linux-raspberrypi: Update to v4.14.39
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-11 14:55:25 +01:00
8cd71e771a firmware: Update to 20180417
stable #4

RaspberryPi 3B+ support

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-11 14:55:25 +01:00
31 changed files with 275 additions and 235 deletions

View File

@ -56,6 +56,7 @@ do_image_rpi_sdimg[depends] = " \
virtual/kernel:do_deploy \ virtual/kernel:do_deploy \
${IMAGE_BOOTLOADER}:do_deploy \ ${IMAGE_BOOTLOADER}:do_deploy \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'rpi-u-boot-scr:do_deploy', '',d)} \
" "
do_image_rpi_sdimg[recrdeps] = "do_build" do_image_rpi_sdimg[recrdeps] = "do_build"
@ -79,6 +80,7 @@ SDIMG_LINK_VFAT = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.vfat"
def split_overlays(d, out, ver=None): def split_overlays(d, out, ver=None):
dts = d.getVar("KERNEL_DEVICETREE") dts = d.getVar("KERNEL_DEVICETREE")
# Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' (4.1.x) or by '.dtbo' (4.4.9+) string and will be put in a dedicated folder
if out: if out:
overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d) overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)
overlays = oe.utils.str_filter_out('\S+\.dtbo$', overlays, d) overlays = oe.utils.str_filter_out('\S+\.dtbo$', overlays, d)
@ -118,24 +120,17 @@ IMAGE_CMD_rpi-sdimg () {
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/ mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/
if test -n "${DTS}"; then if test -n "${DTS}"; then
# Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' (4.1.x) or by '.dtbo' (4.4.9+) string and will be put in a dedicated folder
DT_OVERLAYS="${@split_overlays(d, 0)}"
DT_ROOT="${@split_overlays(d, 1)}"
# Copy board device trees to root folder # Copy board device trees to root folder
for DTB in $DT_ROOT; do for dtbf in ${@split_overlays(d, True)}; do
DTB_BASE_NAME=`basename ${DTB} .dtb` dtb=`basename $dtbf`
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::$dtb
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::${DTB_BASE_NAME}.dtb
done done
# Copy device tree overlays to dedicated folder # Copy device tree overlays to dedicated folder
mmd -i ${WORKDIR}/boot.img overlays mmd -i ${WORKDIR}/boot.img overlays
for DTB in $DT_OVERLAYS; do for dtbf in ${@split_overlays(d, False)}; do
DTB_EXT=${DTB##*.} dtb=`basename $dtbf`
DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"` mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::overlays/$dtb
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.${DTB_EXT} ::overlays/${DTB_BASE_NAME}.${DTB_EXT}
done done
fi fi
if [ "${RPI_USE_U_BOOT}" = "1" ]; then if [ "${RPI_USE_U_BOOT}" = "1" ]; then

View File

@ -14,16 +14,7 @@ XSERVER = " \
${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xf86-video-modesetting", "xf86-video-fbdev", d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xf86-video-modesetting", "xf86-video-fbdev", d)} \
" "
KERNEL_DEVICETREE ?= " \ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
bcm2708-rpi-0-w.dtb \
bcm2708-rpi-b.dtb \
bcm2708-rpi-b-plus.dtb \
bcm2709-rpi-2-b.dtb \
bcm2710-rpi-3-b.dtb \
bcm2710-rpi-3-b-plus.dtb \
bcm2708-rpi-cm.dtb \
bcm2710-rpi-cm3.dtb \
\
overlays/dwc2.dtbo \ overlays/dwc2.dtbo \
overlays/hifiberry-amp.dtbo \ overlays/hifiberry-amp.dtbo \
overlays/hifiberry-dac.dtbo \ overlays/hifiberry-dac.dtbo \
@ -38,11 +29,29 @@ KERNEL_DEVICETREE ?= " \
overlays/pitft35-resistive.dtbo \ overlays/pitft35-resistive.dtbo \
overlays/pps-gpio.dtbo \ overlays/pps-gpio.dtbo \
overlays/rpi-ft5406.dtbo \ overlays/rpi-ft5406.dtbo \
overlays/rpi-poe.dtbo \
overlays/w1-gpio.dtbo \ overlays/w1-gpio.dtbo \
overlays/w1-gpio-pullup.dtbo \ overlays/w1-gpio-pullup.dtbo \
overlays/pi3-disable-bt.dtbo \ overlays/pi3-disable-bt.dtbo \
overlays/pi3-miniuart-bt.dtbo \ overlays/pi3-miniuart-bt.dtbo \
overlays/vc4-kms-v3d.dtbo \ overlays/vc4-kms-v3d.dtbo \
overlays/at86rf233.dtbo \
"
RPI_KERNEL_DEVICETREE ?= " \
bcm2708-rpi-0-w.dtb \
bcm2708-rpi-b.dtb \
bcm2708-rpi-b-plus.dtb \
bcm2709-rpi-2-b.dtb \
bcm2710-rpi-3-b.dtb \
bcm2710-rpi-3-b-plus.dtb \
bcm2708-rpi-cm.dtb \
bcm2710-rpi-cm3.dtb \
"
KERNEL_DEVICETREE ?= " \
${RPI_KERNEL_DEVICETREE} \
${RPI_KERNEL_DEVICETREE_OVERLAYS} \
" "
# By default: # By default:

View File

@ -6,7 +6,10 @@ 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-raspbian-bcm43430" MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-bcm43430 \
linux-firmware-bcm43430a1-hcd \
"
SDIMG_KERNELIMAGE ?= "kernel.img" SDIMG_KERNELIMAGE ?= "kernel.img"
UBOOT_MACHINE ?= "rpi_0_w_defconfig" UBOOT_MACHINE ?= "rpi_0_w_defconfig"

View File

@ -4,34 +4,20 @@
MACHINEOVERRIDES = "raspberrypi3:${MACHINE}" MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-raspbian-bcm43430 linux-firmware-raspbian-bcm43455" MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-bcm43430 \
linux-firmware-bcm43455 \
linux-firmware-bcm43430a1-hcd \
linux-firmware-bcm4345c0-hcd \
"
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
KERNEL_DEVICETREE = " \ RPI_KERNEL_DEVICETREE = " \
broadcom/bcm2710-rpi-3-b.dtb \ broadcom/bcm2710-rpi-3-b.dtb \
broadcom/bcm2710-rpi-3-b-plus.dtb \
broadcom/bcm2837-rpi-3-b.dtb \ broadcom/bcm2837-rpi-3-b.dtb \
\
overlays/hifiberry-amp.dtbo \
overlays/hifiberry-dac.dtbo \
overlays/hifiberry-dacplus.dtbo \
overlays/hifiberry-digi.dtbo \
overlays/i2c-rtc.dtbo \
overlays/iqaudio-dac.dtbo \
overlays/iqaudio-dacplus.dtbo \
overlays/lirc-rpi.dtbo \
overlays/pitft22.dtbo \
overlays/pitft28-resistive.dtbo \
overlays/pitft35-resistive.dtbo \
overlays/pps-gpio.dtbo \
overlays/rpi-ft5406.dtbo \
overlays/w1-gpio.dtbo \
overlays/w1-gpio-pullup.dtbo \
overlays/pi3-disable-bt.dtbo \
overlays/pi3-miniuart-bt.dtbo \
overlays/vc4-kms-v3d.dtbo \
overlays/vc4-fkms-v3d.dtbo \
" "
SERIAL_CONSOLE ?= "115200 ttyS0" SERIAL_CONSOLE ?= "115200 ttyS0"

View File

@ -6,7 +6,12 @@ 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-raspbian-bcm43430 linux-firmware-raspbian-bcm43455" MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-bcm43430 \
linux-firmware-bcm43455 \
linux-firmware-bcm43430a1-hcd \
linux-firmware-bcm4345c0-hcd \
"
SDIMG_KERNELIMAGE ?= "kernel7.img" SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config" UBOOT_MACHINE = "rpi_3_32b_config"

View File

@ -237,6 +237,14 @@ local.conf:
ENABLE_DWC2_PERIPHERAL = "1" ENABLE_DWC2_PERIPHERAL = "1"
## Enable Openlabs 802.15.4 radio module
When using device tree kernels, set this variable to enable the 802.15.4 hat:
ENABLE_AT86RF = "1"
See: <https://openlabs.co/OSHW/Raspberry-Pi-802.15.4-radio>
## Manual additions to config.txt ## Manual additions to config.txt
The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to

View File

@ -23,12 +23,12 @@ 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 ## WiFi and Bluetooth Firmware
Be aware that the WiFi firmwares for the supported boards are not provided by Be aware that the WiFi and Bluetooth firmware for the supported boards
`linux-firmware` but by a custom recipe which only packages the needed blobs is not available in the base version of `linux-firmware` from OE-Core
for these boards. This is because the upstream `linux-firmware` doesn't support (poky). The files are added from Raspbian repositories in this layer's
or has outdated files for the blobs we need. The recipe bbappends to that recipe. All machines define
`linux-firmware-raspbian` is based on a fork of `linux-firmware` which `MACHINE_EXTRA_RRECOMMENDS` to include the required wireless firmware;
includes everything we need in order to fully support the WiFi hardware. All raspberrypi3 supports 3, 3B, and 3B+ and so include multiple firmware
machines define `MACHINE_EXTRA_RRECOMMENDS` accordingly. packages.

View File

@ -3,7 +3,7 @@ DESCRIPTION = "Commented config.txt file for the Raspberry Pi. \
the ARM core is initialised. It can be used to set various \ the ARM core is initialised. It can be used to set various \
system configuration parameters." system configuration parameters."
LICENSE = "MIT" LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
COMPATIBLE_MACHINE = "^rpi$" COMPATIBLE_MACHINE = "^rpi$"
@ -178,6 +178,12 @@ do_deploy() {
echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
# AT86RF23X support
if [ "${ENABLE_AT86RF}" = "1" ]; then
echo "# Enable AT86RF23X" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=at86rf233,speed=3000000" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
# Append extra config if the user has provided any # Append extra config if the user has provided any
echo "${RPI_EXTRA_CONFIG}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "${RPI_EXTRA_CONFIG}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
} }
@ -188,10 +194,6 @@ do_deploy_append_raspberrypi3-64() {
echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=audio=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtparam=audio=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
# Device Tree support
echo "# Load correct Device Tree for Aarch64" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "device_tree=bcm2710-rpi-3-b.dtb" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
} }
addtask deploy before do_build after do_install addtask deploy before do_build after do_install

View File

@ -1,10 +1,11 @@
RPIFW_DATE ?= "20180313" RPIFW_DATE ?= "20180817"
SRCREV ?= "af994023ab491420598bfd5648b9dcab956f7e11" SRCREV ?= "53ac68e1eb02138f72a5056efed9dac9d3883a3f"
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] = "0c388f3631093368ac92a15a262d0f7c" SRC_URI[md5sum] = "6b3d901decf2fe4fad151e3ebb28cb62"
SRC_URI[sha256sum] = "e2afa23886de586856a1d604da2a85e4559715816dccbd70ae828b840beafc21" SRC_URI[sha256sum] = "3680de3ea9817b10fa8998b0dfa6811e58c96945474f4c782710dcd0a56c8cf0"
PV = "${RPIFW_DATE}" PV = "${RPIFW_DATE}"

View File

@ -1,6 +1,6 @@
SUMMARY = "U-boot boot scripts for Raspberry Pi" SUMMARY = "U-boot boot scripts for Raspberry Pi"
LICENSE = "MIT" LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
COMPATIBLE_MACHINE = "^rpi$" COMPATIBLE_MACHINE = "^rpi$"
DEPENDS = "u-boot-mkimage-native" DEPENDS = "u-boot-mkimage-native"

View File

@ -2,11 +2,13 @@
Description=Broadcom BCM43438 bluetooth HCI Description=Broadcom BCM43438 bluetooth HCI
ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins
Before=bluetooth.service Before=bluetooth.service
BindsTo=dev-serial1.device
After=dev-serial1.device After=dev-serial1.device
[Service] [Service]
Type=simple Type=oneshot
ExecStart=/usr/bin/hciattach -n /dev/serial1 bcm43xx 921600 noflow - RemainAfterExit=yes
ExecStart=/usr/bin/btuart
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View File

@ -1,8 +1,6 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
BCM_BT_SOURCES = " \ BCM_BT_SOURCES = " \
file://BCM43430A1.hcd \
file://BCM4345C0.hcd \
file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \ file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \ file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
file://0003-Increase-firmware-load-timeout-to-30s.patch \ file://0003-Increase-firmware-load-timeout-to-30s.patch \
@ -10,24 +8,20 @@ BCM_BT_SOURCES = " \
file://brcm43438.service \ file://brcm43438.service \
" "
enable_bcm_bluetooth() { BCM_BT_SERVICE = "brcm43438.service"
install -d ${D}${nonarch_base_libdir}/firmware/brcm/
install -m 0644 ${WORKDIR}/BCM43430A1.hcd ${D}${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd
install -m 0644 ${WORKDIR}/BCM4345C0.hcd ${D}${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd
enable_bcm_bluetooth() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_unitdir}/system install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/brcm43438.service ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/${BCM_BT_SERVICE} ${D}${systemd_unitdir}/system
fi fi
} }
BCM_BT_FIRMWARE = " \ BCM_BT_RDEPENDS = "\
${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd \ udev-rules-rpi \
${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd \ pi-bluetooth \
" "
BCM_BT_SERVICE = " brcm43438.service"
# for raspberrypi3 # for raspberrypi3
SRC_URI_append_raspberrypi3 = " ${BCM_BT_SOURCES}" SRC_URI_append_raspberrypi3 = " ${BCM_BT_SOURCES}"
@ -35,11 +29,9 @@ do_install_append_raspberrypi3() {
enable_bcm_bluetooth enable_bcm_bluetooth
} }
FILES_${PN}_append_raspberrypi3 = " ${BCM_BT_FIRMWARE}"
SYSTEMD_SERVICE_${PN}_append_raspberrypi3 = " ${BCM_BT_SERVICE}" SYSTEMD_SERVICE_${PN}_append_raspberrypi3 = " ${BCM_BT_SERVICE}"
RDEPENDS_${PN}_append_raspberrypi3 = " udev-rules-rpi" RDEPENDS_${PN}_append_raspberrypi3 = " ${BCM_BT_RDEPENDS}"
# for raspberrypi0-wifi # for raspberrypi0-wifi
SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}" SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}"
@ -48,8 +40,6 @@ do_install_append_raspberrypi0-wifi() {
enable_bcm_bluetooth enable_bcm_bluetooth
} }
FILES_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_FIRMWARE}"
SYSTEMD_SERVICE_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_SERVICE}" SYSTEMD_SERVICE_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_SERVICE}"
RDEPENDS_${PN}_append_raspebrrypi0-wifi = " udev-rules-rpi" RDEPENDS_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_RDEPENDS}"

View File

@ -0,0 +1,22 @@
SUMMARY = "Script to properly configure BT-HCI on Raspberry Pi"
HOMEPAGE = "https://github.com/RPi-Distro/pi-bluetooth"
SECTION = "kernel"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "\
file://debian/copyright;md5=6af8de3c8ee71f8e91e9b22f84ff2022 \
"
SRC_URI = "git://github.com/RPi-Distro/pi-bluetooth"
SRCREV = "2a7477966bb3c69838b224f3ea92cb49a88124d5"
UPSTREAM_VERSION_UNKNOWN = "1"
S = "${WORKDIR}/git"
inherit allarch
do_install() {
install -d ${D}${bindir}
install -m 0755 ${S}/usr/bin/btuart ${D}${bindir}
}
FILES_${PN} = "${bindir}"

View File

@ -7,5 +7,5 @@ IMAGE_INSTALL += " \
" "
do_image_prepend() { do_image_prepend() {
bb.warn("The image 'rpi-hwup-image' is deprecated, please use 'core-image-minimal' instead") bb.warn("The image 'rpi-hwup-image' is deprecated, please use 'core-image-base' instead")
} }

View File

@ -1,6 +1,6 @@
DESCRIPTION = "RaspberryPi Test Packagegroup" DESCRIPTION = "RaspberryPi Test Packagegroup"
LICENSE = "MIT" LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit packagegroup inherit packagegroup

View File

@ -1,6 +1,6 @@
DESCRIPTION = "udev rules for Raspberry Pi Boards" DESCRIPTION = "udev rules for Raspberry Pi Boards"
LICENSE = "MIT" LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = " file://99-com.rules" SRC_URI = " file://99-com.rules"

View File

@ -1,55 +0,0 @@
SUMMARY = "Firmware files for use with Linux kernel"
SECTION = "kernel"
LICENSE = "Firmware-broadcom_bcm43xx"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc"
INHIBIT_DEFAULT_DEPS = "1"
# 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

@ -0,0 +1,69 @@
# Augments upstream linux-firmware with additional and updated images
# from Raspbian:
# https://github.com/RPi-Distro/firmware-nonfree
# https://github.com/RPi-Distro/bluez-firmware
SRC_URI_append_rpi = " \
git://github.com/RPi-Distro/firmware-nonfree;destsuffix=raspbian-nf;name=raspbian-nf \
git://github.com/RPi-Distro/bluez-firmware;destsuffix=raspbian-bluez;name=raspbian-bluez \
"
SRCREV_raspbian-nf = "86e88fbf0345da49555d0ec34c80b4fbae7d0cd3"
SRCREV_raspbian-bluez = "e28cd7ee8615de33aa7ec2b41d556af61a4a2707"
SRCREV_FORMAT_rpi = "default+raspbian-nf+raspbian-bluez"
do_install_append_rpi() {
install -d ${D}${nonarch_base_libdir}/firmware/brcm/
# Replace outdated linux-firmware files with updated ones from
# raspbian firmware-nonfree. Raspbian adds blobs and nvram
# definitions that are also necessary so copy those too.
for fw in brcmfmac43430-sdio brcmfmac43455-sdio ; do
install -m 0644 ${WORKDIR}/raspbian-nf/brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
done
# Add missing Cypress Bluetooth files from raspbian bluez-firmware
for fw in BCM43430A1.hcd BCM4345C0.hcd ; do
install -m 0644 ${WORKDIR}/raspbian-bluez/broadcom/${fw} ${D}${nonarch_base_libdir}/firmware/brcm/
done
}
# NB: Must prepend, else these become empty and their content is left in
# the roll-up package which precedes them.
PACKAGES_prepend_rpi = "\
${PN}-bcm43430a1-hcd \
${PN}-bcm4345c0-hcd \
"
# ${PN}-bcm43455 package and brcmfmac43455-sdio from linux-firmware
# is already included in the oe-core recipe, so don't add it to PACKAGES
# again, the version from raspbian-nf seems a bit newer:
# $ strings ./1_0.0+gitAUTOINC+d114732723+86e88fbf03+e28cd7ee86-r0/git/brcm/brcmfmac43455-sdio.bin | grep Ver
# Version: 7.45.18.0 CRC: d7226371 Date: Sun 2015-03-01 07:31:57 PST Ucode Ver: 1026.2 FWID: 01-6a2c8ad4
# $ strings ./1_0.0+gitAUTOINC+d114732723+86e88fbf03+e28cd7ee86-r0/raspbian-nf/brcm/brcmfmac43455-sdio.bin | grep Ver
# Version: 7.45.154 (r684107 CY) CRC: b1f79383 Date: Tue 2018-02-27 03:18:17 PST Ucode Ver: 1043.2105 FWID 01-4fbe0b04
# For additional Broadcom
LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
FILES_${PN}-bcm43430_append_rpi = " \
${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \
"
FILES_${PN}-bcm43455 = " \
${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \
"
RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
LICENSE_${PN}-bcm43430a1-hcd = "Firmware-cypress"
LICENSE_${PN}-bcm4345c0-hcd = "Firmware-cypress"
FILES_${PN}-bcm43430a1-hcd = " \
${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd \
"
FILES_${PN}-bcm4345c0-hcd = " \
${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd \
"
RDEPENDS_${PN}-bcm43430a1-hcd += "${PN}-cypress-license"
RDEPENDS_${PN}-bcm4345c0-hcd += "${PN}-cypress-license"

View File

@ -0,0 +1 @@
CONFIG_SENSORS_RPI_POE_FAN=m

View File

@ -11,6 +11,8 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
inherit kernel siteinfo inherit kernel siteinfo
require recipes-kernel/linux/linux-yocto.inc require recipes-kernel/linux/linux-yocto.inc
SRC_URI += "file://rpi-kernel-misc.cfg"
KCONFIG_MODE = "--alldefconfig" KCONFIG_MODE = "--alldefconfig"
KBUILD_DEFCONFIG_raspberrypi0-wifi ?= "bcmrpi_defconfig" KBUILD_DEFCONFIG_raspberrypi0-wifi ?= "bcmrpi_defconfig"
KBUILD_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig" KBUILD_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig"

View File

@ -1,6 +1,6 @@
LINUX_VERSION ?= "4.14.34" LINUX_VERSION ?= "4.14.68"
SRCREV = "f70eae405b5d75f7c41ea300b9f790656f99a203" SRCREV = "8c8666ff6c1254d325cfa300d16f9928b3f31fc0"
SRC_URI = " \ SRC_URI = " \
git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y \ git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y \
file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \ file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \

View File

@ -2,7 +2,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
LINUX_VERSION ?= "4.9.80" LINUX_VERSION ?= "4.9.80"
SRCREV = "ffd7bf4085b09447e5db96edd74e524f118ca3fe" SRCREV = "7f9c648dad6473469b4133898fa6bb8d818ecff9"
SRC_URI = " \ SRC_URI = " \
git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y \ git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y \
file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \ file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \

Some files were not shown because too many files have changed in this diff Show More