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
|
From e2516e3a7d2244f74c3267be8bdc143448c278be Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Tue, 28 Aug 2018 18:42:13 +1000
Subject: [PATCH] Add support for audioinjector.net ultra soundcard.
(#2664)
Uses the simple-audio-card ALSA machine driver. Sets up the machine
driver in the device tree overlay file. The overlays/Makefile is
altered to add the audioinjector-ultra.dtbo dtb overlay.
Adds CONFIG_SND_SOC_CS4265 to the defconfig files.
Signed-off-by: Matt Flax <flatmax@flatmax.org>
---
arch/arm/boot/dts/overlays/Makefile | 1 +
arch/arm/boot/dts/overlays/README | 6 ++
.../overlays/audioinjector-ultra-overlay.dts | 71 +++++++++++++++++++
5 files changed, 80 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/audioinjector-ultra-overlay.dts
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -15,6 +15,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
applepi-dac.dtbo \
at86rf233.dtbo \
audioinjector-addons.dtbo \
+ audioinjector-ultra.dtbo \
audioinjector-wm8731-audio.dtbo \
audremap.dtbo \
balena-fin.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -389,6 +389,12 @@ Params: non-stop-clocks Keeps th
is paused or stopped (default off)
+Name: audioinjector-ultra
+Info: Configures the audioinjector.net ultra soundcard
+Load: dtoverlay=audioinjector-ultra
+Params: <None>
+
+
Name: audioinjector-wm8731-audio
Info: Configures the audioinjector.net audio add on soundcard
Load: dtoverlay=audioinjector-wm8731-audio
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/audioinjector-ultra-overlay.dts
@@ -0,0 +1,71 @@
+// Definitions for audioinjector.net audio add on soundcard
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2708";
+
+ fragment@0 {
+ target = <&i2s>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&i2c1>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ cs4265: cs4265@4e {
+ #sound-dai-cells = <0>;
+ compatible = "cirrus,cs4265";
+ reg = <0x4e>;
+ reset-gpios = <&gpio 5 0>;
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@2 {
+ target = <&sound>;
+ __overlay__ {
+ compatible = "simple-audio-card";
+ i2s-controller = <&i2s>;
+ status = "okay";
+
+ simple-audio-card,name = "audioinjector-ultra";
+
+ simple-audio-card,widgets =
+ "Line", "OUTPUTS",
+ "Line", "INPUTS";
+
+ simple-audio-card,routing =
+ "OUTPUTS","LINEOUTL",
+ "OUTPUTS","LINEOUTR",
+ "OUTPUTS","SPDIFOUT",
+ "LINEINL","INPUTS",
+ "LINEINR","INPUTS",
+ "MICL","INPUTS",
+ "MICR","INPUTS";
+
+ simple-audio-card,format = "i2s";
+
+ simple-audio-card,bitclock-master = <&sound_master>;
+ simple-audio-card,frame-master = <&sound_master>;
+
+ simple-audio-card,cpu {
+ sound-dai = <&i2s>;
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <32>;
+ };
+
+ sound_master: simple-audio-card,codec {
+ sound-dai = <&cs4265>;
+ system-clock-frequency = <12288000>;
+ };
+ };
+ };
+};
|