diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0436-overlays-add-wm8960-soundcard-overlay.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.10/950-0436-overlays-add-wm8960-soundcard-overlay.patch | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0436-overlays-add-wm8960-soundcard-overlay.patch b/target/linux/bcm27xx/patches-5.10/950-0436-overlays-add-wm8960-soundcard-overlay.patch new file mode 100644 index 0000000000..47fe5e75b3 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.10/950-0436-overlays-add-wm8960-soundcard-overlay.patch @@ -0,0 +1,129 @@ +From fcfad9655db52b44c8e26727be97dea78531eea5 Mon Sep 17 00:00:00 2001 +From: Aaron Shaw <shawaj@gmail.com> +Date: Sat, 2 Jan 2021 02:34:03 +0000 +Subject: [PATCH] overlays: add wm8960-soundcard overlay + +add overlay for waveshare wm8960 simple-audio-card + +Change-type: patch +Signed-off-by: Aaron Shaw <shawaj@gmail.com> +--- + arch/arm/boot/dts/overlays/Makefile | 3 +- + arch/arm/boot/dts/overlays/README | 7 ++ + .../dts/overlays/wm8960-soundcard-overlay.dts | 82 +++++++++++++++++++ + 3 files changed, 91 insertions(+), 1 deletion(-) + create mode 100644 arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -213,7 +213,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + w1-gpio.dtbo \ + w1-gpio-pullup.dtbo \ + w5500.dtbo \ +- wittypi.dtbo ++ wittypi.dtbo \ ++ wm8960-soundcard.dtbo + + targets += dtbs dtbs_install + targets += $(dtbo-y) +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -3127,6 +3127,13 @@ Params: led_gpio GPIO for + "default-on") + + ++Name: wm8960-soundcard ++Info: Overlay for the Waveshare wm8960 soundcard ++Load: dtoverlay=wm8960-soundcard,<param>=<val> ++Params: alsaname Changes the card name in ALSA ++ compatible Changes the codec compatibility ++ ++ + Troubleshooting + =============== + +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts +@@ -0,0 +1,82 @@ ++// Definitions for Waveshare WM8960 https://github.com/waveshare/WM8960-Audio-HAT ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&i2s>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target-path="/"; ++ __overlay__ { ++ wm8960_mclk: wm8960_mclk { ++ compatible = "fixed-clock"; ++ #clock-cells = <0>; ++ clock-frequency = <12288000>; ++ }; ++ }; ++ }; ++ fragment@2 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ wm8960: wm8960 { ++ compatible = "wlf,wm8960"; ++ reg = <0x1a>; ++ #sound-dai-cells = <0>; ++ AVDD-supply = <&vdd_5v0_reg>; ++ DVDD-supply = <&vdd_3v3_reg>; ++ }; ++ }; ++ }; ++ ++ ++ fragment@3 { ++ target = <&sound>; ++ slave_overlay: __overlay__ { ++ compatible = "simple-audio-card"; ++ simple-audio-card,format = "i2s"; ++ simple-audio-card,name = "wm8960-soundcard"; ++ status = "okay"; ++ ++ simple-audio-card,widgets = ++ "Microphone", "Mic Jack", ++ "Line", "Line In", ++ "Line", "Line Out", ++ "Speaker", "Speaker", ++ "Headphone", "Headphone Jack"; ++ simple-audio-card,routing = ++ "Headphone Jack", "HP_L", ++ "Headphone Jack", "HP_R", ++ "Speaker", "SPK_LP", ++ "Speaker", "SPK_LN", ++ "LINPUT1", "Mic Jack", ++ "LINPUT3", "Mic Jack", ++ "RINPUT1", "Mic Jack", ++ "RINPUT2", "Mic Jack"; ++ ++ simple-audio-card,cpu { ++ sound-dai = <&i2s>; ++ }; ++ dailink0_slave: simple-audio-card,codec { ++ sound-dai = <&wm8960>; ++ clocks = <&wm8960_mclk>; ++ clock-names = "mclk"; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ alsaname = <&slave_overlay>,"simple-audio-card,name"; ++ compatible = <&wm8960>,"compatible"; ++ }; ++}; |