Commit d1e6f7c9 authored by Lubomir Rintel's avatar Lubomir Rintel Committed by Arnd Bergmann
Browse files

ARM: dts: mmp2-olpc-xo-1-75: Enable audio support

This enables the audio SRAM, DMA engine, I2S interface, and codec, hooks
them together and adds a audio-graph-card instance.

It also removes the jack gpios from the gpio-keys instance, because the
audio jack driver registers an input device.

Link: https://lore.kernel.org/r/20200718205019.184927-10-lkundrak@v3.sk


Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 3f232631
Loading
Loading
Loading
Loading
+47 −18
Original line number Diff line number Diff line
@@ -57,24 +57,6 @@
			linux,code = <SW_TABLET_MODE>;
			wakeup-source;
		};

		microphone_insert {
			label = "Microphone Plug";
			gpios = <&gpio 96 GPIO_ACTIVE_HIGH>;
			linux,input-type = <EV_SW>;
			linux,code = <SW_MICROPHONE_INSERT>;
			debounce-interval = <100>;
			wakeup-source;
		};

		headphone_insert {
			label = "Headphone Plug";
			gpios = <&gpio 97 GPIO_ACTIVE_HIGH>;
			linux,input-type = <EV_SW>;
			linux,code = <SW_HEADPHONE_INSERT>;
			debounce-interval = <100>;
			wakeup-source;
		};
	};

	i2c {
@@ -123,6 +105,18 @@
		reset-gpios = <&gpio 58 GPIO_ACTIVE_HIGH>;
	};

	sound-card {
		compatible = "audio-graph-card";
		label = "OLPC XO";
		dais = <&sspa0_dai>;
		routing = "Headphones", "HPOL",
			  "Headphones", "HPOR",
			  "MIC2", "Mic Jack";
		widgets = "Headphone", "Headphones", "Microphone", "Mic Jack";
		hp-det-gpio = <&gpio 97 GPIO_ACTIVE_HIGH>;
		mic-det-gpio = <&gpio 96 GPIO_ACTIVE_HIGH>;
	};

	soc {
		axi@d4200000 {
			ap-sp@d4290000 {
@@ -197,6 +191,14 @@
		compatible = "realtek,alc5631";
		reg = <0x1a>;
		status = "okay";

		port {
			rt5631_0: endpoint {
				mclk-fs = <256>;
				clocks = <&audio_clk 0>;
				remote-endpoint = <&sspa0_0>;
			};
		};
	};
};

@@ -243,3 +245,30 @@
		};
	};
};

&asram {
	status = "okay";
};

&adma0 {
	status = "okay";
};

&audio_clk {
	status = "okay";
};

&sspa0 {
	status = "okay";
	dmas = <&adma0 0>, <&adma0 1>;
	dma-names = "tx", "rx";

	sspa0_dai: port {
		sspa0_0: endpoint {
			remote-endpoint = <&rt5631_0>;
			frame-master;
			bitclock-master;
			dai-format = "i2s";
		};
	};
};