diff options
Diffstat (limited to 'meta-raspberrypi')
-rw-r--r-- | meta-raspberrypi/conf/machine/include/rpi-base.inc | 1 | ||||
-rw-r--r-- | meta-raspberrypi/docs/extra-build-config.md | 21 | ||||
-rw-r--r-- | meta-raspberrypi/kas-poky-rpi.yml | 2 | ||||
-rw-r--r-- | meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb | 2 | ||||
-rw-r--r-- | meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb | 8 | ||||
-rw-r--r-- | meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch | 33 | ||||
-rw-r--r-- | meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb (renamed from meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb) | 2 | ||||
-rw-r--r-- | meta-raspberrypi/recipes-kernel/linux/files/wm8960.cfg | 2 | ||||
-rw-r--r-- | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc | 1 |
9 files changed, 60 insertions, 12 deletions
diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc index a800078473..75c37271ac 100644 --- a/meta-raspberrypi/conf/machine/include/rpi-base.inc +++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc @@ -50,6 +50,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ overlays/vc4-kms-dsi-7inch.dtbo \ overlays/w1-gpio.dtbo \ overlays/w1-gpio-pullup.dtbo \ + overlays/wm8960-soundcard.dtbo \ " RPI_KERNEL_DEVICETREE ?= " \ diff --git a/meta-raspberrypi/docs/extra-build-config.md b/meta-raspberrypi/docs/extra-build-config.md index 1caf904fd5..ec3bd6ab80 100644 --- a/meta-raspberrypi/docs/extra-build-config.md +++ b/meta-raspberrypi/docs/extra-build-config.md @@ -349,3 +349,24 @@ Also, this will enable adding Contiguous Memory Allocation value in the cmdline. Ref.: * <https://github.com/raspberrypi/documentation/blob/master/linux/software/libcamera/README.md> * <https://www.raspberrypi.org/blog/an-open-source-camera-stack-for-raspberry-pi-using-libcamera/> + +## WM8960 soundcard support + +Support for WM8960 based sound cards such as the WM8960 Hi-Fi Sound Card HAT for Raspberry Pi from Waveshare, and ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio, can be enabled in `local.conf` + + ```conf + MACHINE_FEATURES += "wm8960" + ``` + +You may need to adjust volume and toggle switches that are off by default + + ```bash + amixer -c1 sset 'Headphone',0 80%,80% + amixer -c1 sset 'Speaker',0 80%,80% + amixer -c1 sset 'Left Input Mixer Boost' toggle + amixer -c1 sset 'Left Output Mixer PCM' toggle + amixer -c1 sset 'Right Input Mixer Boost' toggle + amixer -c1 sset 'Right Output Mixer PCM' toggle + ``` + +Audio capture on ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio is very noisy. diff --git a/meta-raspberrypi/kas-poky-rpi.yml b/meta-raspberrypi/kas-poky-rpi.yml index d629e817f1..3e43e2e755 100644 --- a/meta-raspberrypi/kas-poky-rpi.yml +++ b/meta-raspberrypi/kas-poky-rpi.yml @@ -45,7 +45,7 @@ local_conf_header: CONF_VERSION = "1" PACKAGE_CLASSES = "package_rpm" SDKMACHINE = "x86_64" - USER_CLASSES = "buildstats image-mklibs image-prelink" + USER_CLASSES = "buildstats image-prelink" PATCHRESOLVE = "noop" debug-tweaks: | EXTRA_IMAGE_FEATURES = "debug-tweaks" diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb index 3ebd1e61c2..13fe304a57 100644 --- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb +++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb @@ -49,3 +49,5 @@ do_deploy() { addtask deploy before do_build after do_install do_deploy[dirs] += "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb index 052206acfa..e84456c7ad 100644 --- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb +++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb @@ -30,6 +30,8 @@ GPIO_IR_TX ?= "17" CAN_OSCILLATOR ?= "16000000" +WM8960="${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "1", "0", d)}" + inherit deploy nopackages do_deploy() { @@ -251,6 +253,12 @@ do_deploy() { ;; esac fi + + # WM8960 support + if [ "${WM8960}" = "1" ]; then + echo "# Enable WM8960" >> $CONFIG + echo "dtoverlay=wm8960-soundcard" >> $CONFIG + fi } do_deploy_append_raspberrypi3-64() { diff --git a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch index 45b43c725e..079377e0e9 100644 --- a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch +++ b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch @@ -8,20 +8,33 @@ Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> --- - usr/bin/bthelper | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + usr/bin/bthelper | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr/bin/bthelper b/usr/bin/bthelper -index af597e5..5de84f6 100755 +index 2133fbc..1fc9245 100755 --- a/usr/bin/bthelper +++ b/usr/bin/bthelper -@@ -10,7 +10,7 @@ fi +@@ -12,8 +12,8 @@ fi + dev=$1 - dev="$1" # Need to bring hci up before looking at MAC as it can be all zeros during init --/bin/hciconfig "$dev" up --/bin/hciconfig "$dev" | grep -qE "BD Address: (B8:27:EB|DC:A6:32):" || exit 0 -+/usr/bin/hciconfig "$dev" up -+/usr/bin/hciconfig "$dev" | grep -qE "BD Address: (B8:27:EB|DC:A6:32):" || exit 0 - /usr/bin/hcitool -i "$dev" cmd 0x3f 0x1c 0x01 0x02 0x00 0x01 0x01 > /dev/null +-/bin/hciconfig $dev up +-if ! /bin/hciconfig $dev | grep -q "Bus: UART"; then ++/usr/bin/hciconfig $dev up ++if ! /usr/bin/hciconfig $dev | grep -q "Bus: UART"; then + echo Not a UART-attached BT Modem + exit 0 + fi +@@ -26,7 +26,7 @@ if ( /usr/bin/hcitool -i $dev dev | grep -q -E '\s43:4[35]:' ); then + BDADDR=`printf '0x%02x 0x%02x 0x%02x 0xeb 0x27 0xb8' $((0x$B3 ^ 0xaa)) $((0x$B2 ^ 0xaa)) $((0x$B1 ^ 0xaa))` + /usr/bin/hcitool -i $dev cmd 0x3f 0x001 $BDADDR +- /bin/hciconfig $dev reset ++ /usr/bin/hciconfig $dev reset + else + echo Raspberry Pi BDADDR already set + fi +-- +2.31.1 + diff --git a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb index ccf714bafa..a1eb97fe80 100644 --- a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb +++ b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb @@ -10,7 +10,7 @@ SRC_URI = "\ git://github.com/RPi-Distro/pi-bluetooth \ file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \ " -SRCREV = "cbdbcb66bcc5b9af05f1a9fffe2254c872bb0ace" +SRCREV = "fd4775bf90e037551532fc214a958074830bb80d" S = "${WORKDIR}/git" diff --git a/meta-raspberrypi/recipes-kernel/linux/files/wm8960.cfg b/meta-raspberrypi/recipes-kernel/linux/files/wm8960.cfg new file mode 100644 index 0000000000..936080083e --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/files/wm8960.cfg @@ -0,0 +1,2 @@ +CONFIG_I2C_BCM2835=y +CONFIG_SND_SOC_WM8960=y diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc index 5ad9b781b2..683253cef7 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc @@ -14,6 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc SRC_URI += " \ ${@bb.utils.contains("INITRAMFS_IMAGE_BUNDLE", "1", "file://initramfs-image-bundle.cfg", "", d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "file://vc4graphics.cfg", "", d)} \ + ${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "file://wm8960.cfg", "", d)} \ " KCONFIG_MODE = "--alldefconfig" |