2019-09-19 14:43:19 +00:00
|
|
|
From e2516e3a7d2244f74c3267be8bdc143448c278be Mon Sep 17 00:00:00 2001
|
2019-07-09 18:32:28 +00:00
|
|
|
From: Matt Flax <flatmax@flatmax.org>
|
|
|
|
Date: Tue, 28 Aug 2018 18:42:13 +1000
|
2019-09-19 14:43:19 +00:00
|
|
|
Subject: [PATCH 163/806] Add support for audioinjector.net ultra soundcard.
|
2019-07-09 18:32:28 +00:00
|
|
|
(#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 +++++++++++++++++++
|
|
|
|
arch/arm/configs/bcm2709_defconfig | 1 +
|
|
|
|
arch/arm/configs/bcmrpi_defconfig | 1 +
|
|
|
|
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>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+};
|
|
|
|
--- a/arch/arm/configs/bcm2709_defconfig
|
|
|
|
+++ b/arch/arm/configs/bcm2709_defconfig
|
|
|
|
@@ -926,6 +926,7 @@ CONFIG_SND_SOC_AK4554=m
|
|
|
|
CONFIG_SND_SOC_CS4271_I2C=m
|
|
|
|
CONFIG_SND_SOC_SPDIF=m
|
|
|
|
CONFIG_SND_SOC_WM8804_I2C=m
|
|
|
|
+CONFIG_SND_SOC_CS4265=m
|
|
|
|
CONFIG_SND_SIMPLE_CARD=m
|
|
|
|
CONFIG_HID_BATTERY_STRENGTH=y
|
|
|
|
CONFIG_HIDRAW=y
|
|
|
|
--- a/arch/arm/configs/bcmrpi_defconfig
|
|
|
|
+++ b/arch/arm/configs/bcmrpi_defconfig
|
|
|
|
@@ -919,6 +919,7 @@ CONFIG_SND_SOC_AK4554=m
|
|
|
|
CONFIG_SND_SOC_CS4271_I2C=m
|
|
|
|
CONFIG_SND_SOC_SPDIF=m
|
|
|
|
CONFIG_SND_SOC_WM8804_I2C=m
|
|
|
|
+CONFIG_SND_SOC_CS4265=m
|
|
|
|
CONFIG_SND_SIMPLE_CARD=m
|
|
|
|
CONFIG_HID_BATTERY_STRENGTH=y
|
|
|
|
CONFIG_HIDRAW=y
|