aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0828-Add-support-for-the-AudioInjector.net-bare-i2s-sound.patch
blob: b5e624a810be6841611a0108146155207a6c9800 (plain)
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
From e6afcd3974550086b86bbd09ed1f5231d31757a3 Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Tue, 12 Apr 2022 02:28:07 +1000
Subject: [PATCH] Add support for the AudioInjector.net bare i2s sound
 card

Signed-off-by: Matt Flax <flatmax@flatmax.org>
---
 arch/arm/boot/dts/overlays/Makefile           |  1 +
 arch/arm/boot/dts/overlays/README             |  6 +++
 .../audioinjector-bare-i2s-overlay.dts        | 50 +++++++++++++++++++
 3 files changed, 57 insertions(+)
 create mode 100644 arch/arm/boot/dts/overlays/audioinjector-bare-i2s-overlay.dts

--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -25,6 +25,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
 	applepi-dac.dtbo \
 	at86rf233.dtbo \
 	audioinjector-addons.dtbo \
+	audioinjector-bare-i2s.dtbo \
 	audioinjector-isolated-soundcard.dtbo \
 	audioinjector-ultra.dtbo \
 	audioinjector-wm8731-audio.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -601,6 +601,12 @@ Params: non-stop-clocks         Keeps th
                                 is paused or stopped (default off)
 
 
+Name:   audioinjector-bare-i2s
+Info:   Configures the audioinjector.net audio bare i2s soundcard
+Load:   dtoverlay=audioinjector-bare-i2s
+Params: <None>
+
+
 Name:   audioinjector-isolated-soundcard
 Info:   Configures the audioinjector.net isolated soundcard
 Load:   dtoverlay=audioinjector-isolated-soundcard
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/audioinjector-bare-i2s-overlay.dts
@@ -0,0 +1,50 @@
+// Definitions for audioinjector.net audio soundcard
+/dts-v1/;
+/plugin/;
+
+/ {
+	compatible = "brcm,bcm2835";
+
+	fragment@0 {
+		target = <&i2s>;
+		__overlay__ {
+			status = "okay";
+		};
+	};
+
+	fragment@1 {
+		target-path = "/";
+		__overlay__ {
+			codec_bare: codec_bare {
+				compatible = "linux,spdif-dit";
+				#sound-dai-cells = <0>;
+				status = "okay";
+			};
+		};
+	};
+
+	fragment@2 {
+		target = <&sound>;
+		__overlay__ {
+			compatible = "simple-audio-card";
+			i2s-controller = <&i2s>;
+			status = "okay";
+
+			simple-audio-card,name = "audioinjector-bare";
+			simple-audio-card,format = "i2s";
+
+			simple-audio-card,bitclock-master = <&dailink0_master>;
+			simple-audio-card,frame-master = <&dailink0_master>;
+
+			dailink0_master: simple-audio-card,cpu {
+				sound-dai = <&i2s>;
+				dai-tdm-slot-num = <2>;
+				dai-tdm-slot-width = <32>;
+			};
+
+			snd_codec: simple-audio-card,codec {
+					sound-dai = <&codec_bare>;
+			};
+		};
+	};
+};