Skip to content

Commit aef5a17

Browse files
authored
Add support for the AudioInjector.net Isolated sound card
This patch adds support for the Audio Injector Isolated sound card. Signed-off-by: Matt Flax <flatmax@flatmax.org>
1 parent 11dfd60 commit aef5a17

File tree

11 files changed

+259
-5
lines changed

11 files changed

+259
-5
lines changed

arch/arm/boot/dts/overlays/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
2222
applepi-dac.dtbo \
2323
at86rf233.dtbo \
2424
audioinjector-addons.dtbo \
25+
audioinjector-isolated-soundcard.dtbo \
2526
audioinjector-ultra.dtbo \
2627
audioinjector-wm8731-audio.dtbo \
2728
audiosense-pi.dtbo \

arch/arm/boot/dts/overlays/README

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,12 @@ Params: non-stop-clocks Keeps the clocks running even when the stream
505505
is paused or stopped (default off)
506506

507507

508+
Name: audioinjector-isolated-soundcard
509+
Info: Configures the audioinjector.net isolated soundcard
510+
Load: dtoverlay=audioinjector-isolated-soundcard
511+
Params: <None>
512+
513+
508514
Name: audioinjector-ultra
509515
Info: Configures the audioinjector.net ultra soundcard
510516
Load: dtoverlay=audioinjector-ultra
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Definitions for audioinjector.net audio isolated soundcard
2+
/dts-v1/;
3+
/plugin/;
4+
5+
/ {
6+
compatible = "brcm,bcm2835";
7+
8+
fragment@0 {
9+
target = <&i2s>;
10+
__overlay__ {
11+
status = "okay";
12+
};
13+
};
14+
15+
fragment@1 {
16+
target-path = "/";
17+
__overlay__ {
18+
cs4272_mclk: codec-mclk {
19+
compatible = "fixed-clock";
20+
#clock-cells = <0>;
21+
clock-frequency = <24576000>;
22+
};
23+
};
24+
};
25+
26+
fragment@2 {
27+
target = <&i2c1>;
28+
__overlay__ {
29+
#address-cells = <1>;
30+
#size-cells = <0>;
31+
status = "okay";
32+
33+
cs4272: cs4271@10 {
34+
#sound-dai-cells = <0>;
35+
compatible = "cirrus,cs4271";
36+
reg = <0x10>;
37+
reset-gpio = <&gpio 5 0>;
38+
clocks = <&cs4272_mclk>;
39+
clock-names = "mclk";
40+
status = "okay";
41+
};
42+
};
43+
};
44+
45+
fragment@3 {
46+
target = <&sound>;
47+
snd: __overlay__ {
48+
compatible = "ai,audioinjector-isolated-soundcard";
49+
mute-gpios = <&gpio 17 0>;
50+
i2s-controller = <&i2s>;
51+
codec = <&cs4272>;
52+
status = "okay";
53+
};
54+
};
55+
};

arch/arm/configs/bcm2709_defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -970,6 +970,7 @@ CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m
970970
CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m
971971
CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m
972972
CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD=m
973+
CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD=m
973974
CONFIG_SND_AUDIOSENSE_PI=m
974975
CONFIG_SND_DIGIDAC1_SOUNDCARD=m
975976
CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
@@ -987,7 +988,6 @@ CONFIG_SND_SOC_ADAU1701=m
987988
CONFIG_SND_SOC_ADAU7002=m
988989
CONFIG_SND_SOC_AK4554=m
989990
CONFIG_SND_SOC_CS4265=m
990-
CONFIG_SND_SOC_CS4271_I2C=m
991991
CONFIG_SND_SOC_ICS43432=m
992992
CONFIG_SND_SOC_SPDIF=m
993993
CONFIG_SND_SOC_WM8804_I2C=m

arch/arm/configs/bcm2711_defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -947,6 +947,7 @@ CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m
947947
CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m
948948
CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m
949949
CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD=m
950+
CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD=m
950951
CONFIG_SND_AUDIOSENSE_PI=m
951952
CONFIG_SND_DIGIDAC1_SOUNDCARD=m
952953
CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
@@ -964,7 +965,6 @@ CONFIG_SND_SOC_ADAU1701=m
964965
CONFIG_SND_SOC_ADAU7002=m
965966
CONFIG_SND_SOC_AK4554=m
966967
CONFIG_SND_SOC_CS4265=m
967-
CONFIG_SND_SOC_CS4271_I2C=m
968968
CONFIG_SND_SOC_ICS43432=m
969969
CONFIG_SND_SOC_SPDIF=m
970970
CONFIG_SND_SOC_WM8804_I2C=m

arch/arm/configs/bcmrpi_defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -962,6 +962,7 @@ CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m
962962
CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m
963963
CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m
964964
CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD=m
965+
CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD=m
965966
CONFIG_SND_AUDIOSENSE_PI=m
966967
CONFIG_SND_DIGIDAC1_SOUNDCARD=m
967968
CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
@@ -979,7 +980,6 @@ CONFIG_SND_SOC_ADAU1701=m
979980
CONFIG_SND_SOC_ADAU7002=m
980981
CONFIG_SND_SOC_AK4554=m
981982
CONFIG_SND_SOC_CS4265=m
982-
CONFIG_SND_SOC_CS4271_I2C=m
983983
CONFIG_SND_SOC_ICS43432=m
984984
CONFIG_SND_SOC_SPDIF=m
985985
CONFIG_SND_SOC_WM8804_I2C=m

arch/arm64/configs/bcm2711_defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -977,6 +977,7 @@ CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m
977977
CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m
978978
CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m
979979
CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD=m
980+
CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD=m
980981
CONFIG_SND_AUDIOSENSE_PI=m
981982
CONFIG_SND_DIGIDAC1_SOUNDCARD=m
982983
CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
@@ -994,7 +995,6 @@ CONFIG_SND_SOC_ADAU1701=m
994995
CONFIG_SND_SOC_ADAU7002=m
995996
CONFIG_SND_SOC_AK4554=m
996997
CONFIG_SND_SOC_CS4265=m
997-
CONFIG_SND_SOC_CS4271_I2C=m
998998
CONFIG_SND_SOC_ICS43432=m
999999
CONFIG_SND_SOC_SPDIF=m
10001000
CONFIG_SND_SOC_WM8804_I2C=m

arch/arm64/configs/bcmrpi3_defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -839,6 +839,7 @@ CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI=m
839839
CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m
840840
CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m
841841
CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m
842+
CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD=m
842843
CONFIG_SND_AUDIOSENSE_PI=m
843844
CONFIG_SND_DIGIDAC1_SOUNDCARD=m
844845
CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
@@ -849,7 +850,6 @@ CONFIG_SND_SOC_AD193X_I2C=m
849850
CONFIG_SND_SOC_ADAU1701=m
850851
CONFIG_SND_SOC_AK4554=m
851852
CONFIG_SND_SOC_CS4265=m
852-
CONFIG_SND_SOC_CS4271_I2C=m
853853
CONFIG_SND_SOC_ICS43432=m
854854
CONFIG_SND_SOC_WM8804_I2C=m
855855
CONFIG_SND_SIMPLE_CARD=m

sound/soc/bcm/Kconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,13 @@ config SND_AUDIOINJECTOR_OCTO_SOUNDCARD
192192
help
193193
Say Y or M if you want to add support for audioinjector.net octo add on
194194

195+
config SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD
196+
tristate "Support for audioinjector.net isolated DAC and ADC soundcard"
197+
depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
198+
select SND_SOC_CS4271_I2C
199+
help
200+
Say Y or M if you want to add support for audioinjector.net isolated soundcard
201+
195202
config SND_AUDIOSENSE_PI
196203
tristate "Support for AudioSense Add-On Soundcard"
197204
depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S

sound/soc/bcm/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ snd-soc-iqaudio-dac-objs := iqaudio-dac.o
2727
snd-soc-i-sabre-q2m-objs := i-sabre-q2m.o
2828
snd-soc-audioinjector-pi-soundcard-objs := audioinjector-pi-soundcard.o
2929
snd-soc-audioinjector-octo-soundcard-objs := audioinjector-octo-soundcard.o
30+
snd-soc-audioinjector-isolated-soundcard-objs := audioinjector-isolated-soundcard.o
3031
snd-soc-audiosense-pi-objs := audiosense-pi.o
3132
snd-soc-digidac1-soundcard-objs := digidac1-soundcard.o
3233
snd-soc-dionaudio-loco-objs := dionaudio_loco.o
@@ -55,6 +56,7 @@ obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
5556
obj-$(CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M) += snd-soc-i-sabre-q2m.o
5657
obj-$(CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD) += snd-soc-audioinjector-pi-soundcard.o
5758
obj-$(CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD) += snd-soc-audioinjector-octo-soundcard.o
59+
obj-$(CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD) += snd-soc-audioinjector-isolated-soundcard.o
5860
obj-$(CONFIG_SND_AUDIOSENSE_PI) += snd-soc-audiosense-pi.o
5961
obj-$(CONFIG_SND_DIGIDAC1_SOUNDCARD) += snd-soc-digidac1-soundcard.o
6062
obj-$(CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO) += snd-soc-dionaudio-loco.o

0 commit comments

Comments
 (0)