Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 797acf70 authored by Stephen Warren's avatar Stephen Warren Committed by Olof Johansson
Browse files

ARM: dt: tegra: Enable audio on WM8903 boards, disable others



Add complete bindings to instantiate and configure the codec and
top-level audio complex on all currently supported boards using the
Tegra+WM8903 audio driver.

On those boards, disable the I2S2 controller since it isn't used.

On boards not using the WM8903 codec, disable all the audio devices;
they can be re-enabled once the relevant codec and ASoC machine drivers
have been ported to device-tree.

Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parent c404af0a
Loading
Loading
Loading
Loading
+31 −10
Original line number Diff line number Diff line
@@ -13,16 +13,18 @@
	i2c@7000c000 {
		clock-frequency = <400000>;

		codec: wm8903@1a {
		wm8903: wm8903@1a {
			compatible = "wlf,wm8903";
			reg = <0x1a>;
			interrupts = < 347 >;
			interrupt-parent = <&gpio>;
			interrupts = < 187 0x04 >;

			gpio-controller;
			#gpio-cells = <2>;

			/* 0x8000 = Not configured */
			gpio-cfg = < 0x8000 0x8000 0 0x8000 0x8000 >;
			micdet-cfg = <0>;
			micdet-delay = <100>;
			gpio-cfg = < 0xffffffff 0xffffffff 0 0xffffffff 0xffffffff >;
		};
	};

@@ -38,13 +40,32 @@
		clock-frequency = <400000>;
	};

	sound {
		compatible = "nvidia,harmony-sound", "nvidia,tegra-wm8903";
	i2s@70002a00 {
		status = "disable";
	};

		spkr-en-gpios = <&codec 2 0>;
		hp-det-gpios = <&gpio 178 0>;
		int-mic-en-gpios = <&gpio 184 0>;
		ext-mic-en-gpios = <&gpio 185 0>;
	sound {
		compatible = "nvidia,tegra-audio-wm8903-harmony",
			     "nvidia,tegra-audio-wm8903";
		nvidia,model = "NVIDIA Tegra Harmony";

		nvidia,audio-routing =
			"Headphone Jack", "HPOUTR",
			"Headphone Jack", "HPOUTL",
			"Int Spk", "ROP",
			"Int Spk", "RON",
			"Int Spk", "LOP",
			"Int Spk", "LON",
			"Mic Jack", "MICBIAS",
			"IN1L", "Mic Jack";

		nvidia,i2s-controller = <&tegra_i2s1>;
		nvidia,audio-codec = <&wm8903>;

		nvidia,spkr-en-gpios = <&wm8903 2 0>;
		nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */
		nvidia,int-mic-en-gpios = <&gpio 184 0>; /*gpio PX0 */
		nvidia,ext-mic-en-gpios = <&gpio 185 0>; /* gpio PX1 */
	};

	serial@70006000 {
+12 −0
Original line number Diff line number Diff line
@@ -37,6 +37,18 @@
		clock-frequency = <400000>;
	};

	i2s@70002800 {
		status = "disable";
	};

	i2s@70002a00 {
		status = "disable";
	};

	das@70000c00 {
		status = "disable";
	};

	serial@70006000 {
		clock-frequency = <216000000>;
	};
+40 −0
Original line number Diff line number Diff line
@@ -13,6 +13,20 @@

	i2c@7000c000 {
		clock-frequency = <400000>;

		wm8903: wm8903@1a {
			compatible = "wlf,wm8903";
			reg = <0x1a>;
			interrupt-parent = <&gpio>;
			interrupts = < 187 0x04 >;

			gpio-controller;
			#gpio-cells = <2>;

			micdet-cfg = <0>;
			micdet-delay = <100>;
			gpio-cfg = < 0xffffffff 0xffffffff 0 0xffffffff 0xffffffff >;
		};
	};

	i2c@7000c400 {
@@ -32,6 +46,32 @@
		};
	};

	i2s@70002a00 {
		status = "disable";
	};

	sound {
		compatible = "nvidia,tegra-audio-wm8903-seaboard",
			     "nvidia,tegra-audio-wm8903";
		nvidia,model = "NVIDIA Tegra Seaboard";

		nvidia,audio-routing =
			"Headphone Jack", "HPOUTR",
			"Headphone Jack", "HPOUTL",
			"Int Spk", "ROP",
			"Int Spk", "RON",
			"Int Spk", "LOP",
			"Int Spk", "LON",
			"Mic Jack", "MICBIAS",
			"IN1R", "Mic Jack";

		nvidia,i2s-controller = <&tegra_i2s1>;
		nvidia,audio-codec = <&wm8903>;

		nvidia,spkr-en-gpios = <&wm8903 2 0>;
		nvidia,hp-det-gpios = <&gpio 185 0>; /* gpio PX1 */
	};

	serial@70006000 {
		status = "disable";
	};
+12 −0
Original line number Diff line number Diff line
@@ -26,6 +26,18 @@
		status = "disable";
	};

	i2s@70002800 {
		status = "disable";
	};

	i2s@70002a00 {
		status = "disable";
	};

	das@70000c00 {
		status = "disable";
	};

	serial@70006000 {
		clock-frequency = < 216000000 >;
	};
+42 −0
Original line number Diff line number Diff line
@@ -12,6 +12,20 @@

	i2c@7000c000 {
		clock-frequency = <400000>;

		wm8903: wm8903@1a {
			compatible = "wlf,wm8903";
			reg = <0x1a>;
			interrupt-parent = <&gpio>;
			interrupts = < 187 0x04 >;

			gpio-controller;
			#gpio-cells = <2>;

			micdet-cfg = <0>;
			micdet-delay = <100>;
			gpio-cfg = < 0xffffffff 0xffffffff 0 0xffffffff 0xffffffff >;
		};
	};

	i2c@7000c400 {
@@ -26,6 +40,34 @@
		clock-frequency = <400000>;
	};

	i2s@70002a00 {
		status = "disable";
	};

	sound {
		compatible = "nvidia,tegra-audio-wm8903-ventana",
			     "nvidia,tegra-audio-wm8903";
		nvidia,model = "NVIDIA Tegra Ventana";

		nvidia,audio-routing =
			"Headphone Jack", "HPOUTR",
			"Headphone Jack", "HPOUTL",
			"Int Spk", "ROP",
			"Int Spk", "RON",
			"Int Spk", "LOP",
			"Int Spk", "LON",
			"Mic Jack", "MICBIAS",
			"IN1L", "Mic Jack";

		nvidia,i2s-controller = <&tegra_i2s1>;
		nvidia,audio-codec = <&wm8903>;

		nvidia,spkr-en-gpios = <&wm8903 2 0>;
		nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */
		nvidia,int-mic-en-gpios = <&gpio 184 0>; /*gpio PX0 */
		nvidia,ext-mic-en-gpios = <&gpio 185 0>; /* gpio PX1 */
	};

	serial@70006000 {
		status = "disable";
	};