1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
From 36a2db8647b19b0c8576a10ab787b14098049f9b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 28 Feb 2018 21:29:42 +0000
Subject: [PATCH 235/454] overlays: Add overlay for PiBell soundcard
This overlay is presented as another example of using the simple card
driver.
See: https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=99784&p=1279490#p1278971
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
arch/arm/boot/dts/overlays/Makefile | 1 +
arch/arm/boot/dts/overlays/README | 7 ++
arch/arm/boot/dts/overlays/pibell-overlay.dts | 81 +++++++++++++++++++
3 files changed, 89 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/pibell-overlay.dts
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -76,6 +76,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
pi3-disable-bt.dtbo \
pi3-disable-wifi.dtbo \
pi3-miniuart-bt.dtbo \
+ pibell.dtbo \
piscreen.dtbo \
piscreen2r.dtbo \
pisound.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -1182,6 +1182,13 @@ Load: dtoverlay=pi3-miniuart-bt
Params: <None>
+Name: pibell
+Info: Configures the pibell audio card.
+Load: dtoverlay=pibell,<param>=<val>
+Params: alsaname Set the name as it appears in ALSA (default
+ "PiBell")
+
+
Name: piscreen
Info: PiScreen display by OzzMaker.com
Load: dtoverlay=piscreen,<param>=<val>
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/pibell-overlay.dts
@@ -0,0 +1,81 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2708";
+
+ fragment@0 {
+ target-path = "/";
+ __overlay__ {
+ codec_out: spdif-transmitter {
+ #address-cells = <0>;
+ #size-cells = <0>;
+ #sound-dai-cells = <0>;
+ compatible = "linux,spdif-dit";
+ status = "okay";
+ };
+
+ codec_in: card-codec {
+ #sound-dai-cells = <0>;
+ compatible = "invensense,ics43432";
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&i2s>;
+ __overlay__ {
+ #sound-dai-cells = <0>;
+ status = "okay";
+ };
+ };
+
+ fragment@2 {
+ target = <&sound>;
+ snd: __overlay__ {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "PiBell";
+
+ status="okay";
+
+ capture_link: simple-audio-card,dai-link@0 {
+ format = "i2s";
+
+ r_cpu_dai: cpu {
+ sound-dai = <&i2s>;
+
+/* example TDM slot configuration
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <32>;
+*/
+ };
+
+ r_codec_dai: codec {
+ sound-dai = <&codec_in>;
+ };
+ };
+
+ playback_link: simple-audio-card,dai-link@1 {
+ format = "i2s";
+
+ p_cpu_dai: cpu {
+ sound-dai = <&i2s>;
+
+/* example TDM slot configuration
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <32>;
+*/
+ };
+
+ p_codec_dai: codec {
+ sound-dai = <&codec_out>;
+ };
+ };
+ };
+ };
+
+ __overrides__ {
+ alsaname = <&snd>, "simple-audio-card,name";
+ };
+};
|