From e6afcd3974550086b86bbd09ed1f5231d31757a3 Mon Sep 17 00:00:00 2001 From: Matt Flax 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 --- 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: + + 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>; + }; + }; + }; +};