openwrt/target/linux/bcm27xx/patches-5.15/950-0828-Add-support-for-the-AudioInjector.net-bare-i2s-sound.patch

93 lines
2.5 KiB
Diff
Raw Normal View History

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>;
+ };
+ };
+ };
+};