Commit 0ae646cb authored by Matt Flax's avatar Matt Flax Committed by Phil Elwell
Browse files

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: default avatarMatt Flax <flatmax@flatmax.org>
parent f6da082a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,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 \
+6 −0
Original line number Diff line number Diff line
@@ -411,6 +411,12 @@ Params: non-stop-clocks Keeps the clocks running even when the stream
                                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
+71 −0
Original line number Diff line number Diff line
// 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>;
			};
		};
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -917,6 +917,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
+1 −0
Original line number Diff line number Diff line
@@ -910,6 +910,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