1 From fcfad9655db52b44c8e26727be97dea78531eea5 Mon Sep 17 00:00:00 2001
2 From: Aaron Shaw <shawaj@gmail.com>
3 Date: Sat, 2 Jan 2021 02:34:03 +0000
4 Subject: [PATCH] overlays: add wm8960-soundcard overlay
6 add overlay for waveshare wm8960 simple-audio-card
9 Signed-off-by: Aaron Shaw <shawaj@gmail.com>
11 arch/arm/boot/dts/overlays/Makefile | 3 +-
12 arch/arm/boot/dts/overlays/README | 7 ++
13 .../dts/overlays/wm8960-soundcard-overlay.dts | 82 +++++++++++++++++++
14 3 files changed, 91 insertions(+), 1 deletion(-)
15 create mode 100644 arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts
17 --- a/arch/arm/boot/dts/overlays/Makefile
18 +++ b/arch/arm/boot/dts/overlays/Makefile
19 @@ -213,7 +213,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
25 + wm8960-soundcard.dtbo
27 targets += dtbs dtbs_install
29 --- a/arch/arm/boot/dts/overlays/README
30 +++ b/arch/arm/boot/dts/overlays/README
31 @@ -3127,6 +3127,13 @@ Params: led_gpio GPIO for
35 +Name: wm8960-soundcard
36 +Info: Overlay for the Waveshare wm8960 soundcard
37 +Load: dtoverlay=wm8960-soundcard,<param>=<val>
38 +Params: alsaname Changes the card name in ALSA
39 + compatible Changes the codec compatibility
46 +++ b/arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts
48 +// Definitions for Waveshare WM8960 https://github.com/waveshare/WM8960-Audio-HAT
53 + compatible = "brcm,bcm2835";
65 + wm8960_mclk: wm8960_mclk {
66 + compatible = "fixed-clock";
68 + clock-frequency = <12288000>;
75 + #address-cells = <1>;
80 + compatible = "wlf,wm8960";
82 + #sound-dai-cells = <0>;
83 + AVDD-supply = <&vdd_5v0_reg>;
84 + DVDD-supply = <&vdd_3v3_reg>;
92 + slave_overlay: __overlay__ {
93 + compatible = "simple-audio-card";
94 + simple-audio-card,format = "i2s";
95 + simple-audio-card,name = "wm8960-soundcard";
98 + simple-audio-card,widgets =
99 + "Microphone", "Mic Jack",
101 + "Line", "Line Out",
102 + "Speaker", "Speaker",
103 + "Headphone", "Headphone Jack";
104 + simple-audio-card,routing =
105 + "Headphone Jack", "HP_L",
106 + "Headphone Jack", "HP_R",
107 + "Speaker", "SPK_LP",
108 + "Speaker", "SPK_LN",
109 + "LINPUT1", "Mic Jack",
110 + "LINPUT3", "Mic Jack",
111 + "RINPUT1", "Mic Jack",
112 + "RINPUT2", "Mic Jack";
114 + simple-audio-card,cpu {
115 + sound-dai = <&i2s>;
117 + dailink0_slave: simple-audio-card,codec {
118 + sound-dai = <&wm8960>;
119 + clocks = <&wm8960_mclk>;
120 + clock-names = "mclk";
126 + alsaname = <&slave_overlay>,"simple-audio-card,name";
127 + compatible = <&wm8960>,"compatible";