diff options
| author | Devendra Tewari <devendra.tewari@gmail.com> | 2021-06-08 17:39:52 -0300 |
|---|---|---|
| committer | Andrei Gherzan <andrei@gherzan.com> | 2021-06-10 21:22:24 +0100 |
| commit | 246555aea70660d053f536e6f9dfb5a068ecdaa1 (patch) | |
| tree | 2de846d026c3f6494643f553ddcacab42a2172cf | |
| parent | 7057d5dcbfa5802a370aa1730e14e940b9bf7b24 (diff) | |
| download | meta-raspberrypi-246555aea70660d053f536e6f9dfb5a068ecdaa1.tar.gz | |
Add WM8960 soundcard support
Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
| -rw-r--r-- | conf/machine/include/rpi-base.inc | 1 | ||||
| -rw-r--r-- | docs/extra-build-config.md | 21 | ||||
| -rw-r--r-- | recipes-bsp/bootfiles/rpi-config_git.bb | 8 | ||||
| -rw-r--r-- | recipes-kernel/linux/files/wm8960.cfg | 2 | ||||
| -rw-r--r-- | recipes-kernel/linux/linux-raspberrypi.inc | 1 |
5 files changed, 33 insertions, 0 deletions
diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index a800078..75c3727 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc | |||
| @@ -50,6 +50,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ | |||
| 50 | overlays/vc4-kms-dsi-7inch.dtbo \ | 50 | overlays/vc4-kms-dsi-7inch.dtbo \ |
| 51 | overlays/w1-gpio.dtbo \ | 51 | overlays/w1-gpio.dtbo \ |
| 52 | overlays/w1-gpio-pullup.dtbo \ | 52 | overlays/w1-gpio-pullup.dtbo \ |
| 53 | overlays/wm8960-soundcard.dtbo \ | ||
| 53 | " | 54 | " |
| 54 | 55 | ||
| 55 | RPI_KERNEL_DEVICETREE ?= " \ | 56 | RPI_KERNEL_DEVICETREE ?= " \ |
diff --git a/docs/extra-build-config.md b/docs/extra-build-config.md index 1caf904..ec3bd6a 100644 --- a/docs/extra-build-config.md +++ b/docs/extra-build-config.md | |||
| @@ -349,3 +349,24 @@ Also, this will enable adding Contiguous Memory Allocation value in the cmdline. | |||
| 349 | Ref.: | 349 | Ref.: |
| 350 | * <https://github.com/raspberrypi/documentation/blob/master/linux/software/libcamera/README.md> | 350 | * <https://github.com/raspberrypi/documentation/blob/master/linux/software/libcamera/README.md> |
| 351 | * <https://www.raspberrypi.org/blog/an-open-source-camera-stack-for-raspberry-pi-using-libcamera/> | 351 | * <https://www.raspberrypi.org/blog/an-open-source-camera-stack-for-raspberry-pi-using-libcamera/> |
| 352 | |||
| 353 | ## WM8960 soundcard support | ||
| 354 | |||
| 355 | 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` | ||
| 356 | |||
| 357 | ```conf | ||
| 358 | MACHINE_FEATURES += "wm8960" | ||
| 359 | ``` | ||
| 360 | |||
| 361 | You may need to adjust volume and toggle switches that are off by default | ||
| 362 | |||
| 363 | ```bash | ||
| 364 | amixer -c1 sset 'Headphone',0 80%,80% | ||
| 365 | amixer -c1 sset 'Speaker',0 80%,80% | ||
| 366 | amixer -c1 sset 'Left Input Mixer Boost' toggle | ||
| 367 | amixer -c1 sset 'Left Output Mixer PCM' toggle | ||
| 368 | amixer -c1 sset 'Right Input Mixer Boost' toggle | ||
| 369 | amixer -c1 sset 'Right Output Mixer PCM' toggle | ||
| 370 | ``` | ||
| 371 | |||
| 372 | Audio capture on ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio is very noisy. | ||
diff --git a/recipes-bsp/bootfiles/rpi-config_git.bb b/recipes-bsp/bootfiles/rpi-config_git.bb index 052206a..e84456c 100644 --- a/recipes-bsp/bootfiles/rpi-config_git.bb +++ b/recipes-bsp/bootfiles/rpi-config_git.bb | |||
| @@ -30,6 +30,8 @@ GPIO_IR_TX ?= "17" | |||
| 30 | 30 | ||
| 31 | CAN_OSCILLATOR ?= "16000000" | 31 | CAN_OSCILLATOR ?= "16000000" |
| 32 | 32 | ||
| 33 | WM8960="${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "1", "0", d)}" | ||
| 34 | |||
| 33 | inherit deploy nopackages | 35 | inherit deploy nopackages |
| 34 | 36 | ||
| 35 | do_deploy() { | 37 | do_deploy() { |
| @@ -251,6 +253,12 @@ do_deploy() { | |||
| 251 | ;; | 253 | ;; |
| 252 | esac | 254 | esac |
| 253 | fi | 255 | fi |
| 256 | |||
| 257 | # WM8960 support | ||
| 258 | if [ "${WM8960}" = "1" ]; then | ||
| 259 | echo "# Enable WM8960" >> $CONFIG | ||
| 260 | echo "dtoverlay=wm8960-soundcard" >> $CONFIG | ||
| 261 | fi | ||
| 254 | } | 262 | } |
| 255 | 263 | ||
| 256 | do_deploy_append_raspberrypi3-64() { | 264 | do_deploy_append_raspberrypi3-64() { |
diff --git a/recipes-kernel/linux/files/wm8960.cfg b/recipes-kernel/linux/files/wm8960.cfg new file mode 100644 index 0000000..9360800 --- /dev/null +++ b/recipes-kernel/linux/files/wm8960.cfg | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | CONFIG_I2C_BCM2835=y | ||
| 2 | CONFIG_SND_SOC_WM8960=y | ||
diff --git a/recipes-kernel/linux/linux-raspberrypi.inc b/recipes-kernel/linux/linux-raspberrypi.inc index 5ad9b78..683253c 100644 --- a/recipes-kernel/linux/linux-raspberrypi.inc +++ b/recipes-kernel/linux/linux-raspberrypi.inc | |||
| @@ -14,6 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc | |||
| 14 | SRC_URI += " \ | 14 | SRC_URI += " \ |
| 15 | ${@bb.utils.contains("INITRAMFS_IMAGE_BUNDLE", "1", "file://initramfs-image-bundle.cfg", "", d)} \ | 15 | ${@bb.utils.contains("INITRAMFS_IMAGE_BUNDLE", "1", "file://initramfs-image-bundle.cfg", "", d)} \ |
| 16 | ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "file://vc4graphics.cfg", "", d)} \ | 16 | ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "file://vc4graphics.cfg", "", d)} \ |
| 17 | ${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "file://wm8960.cfg", "", d)} \ | ||
| 17 | " | 18 | " |
| 18 | 19 | ||
| 19 | KCONFIG_MODE = "--alldefconfig" | 20 | KCONFIG_MODE = "--alldefconfig" |
