Commit aa5ae424 authored by Stephen Warren's avatar Stephen Warren
Browse files

ARM: tegra: enable audio on Dalmore



Dalmore uses the RT5640 audio CODEC. Instantiate this on the I2C bus.
Enable the relevant Tegra I2C controller. Add the top-level "sound" node
to hook everything together, and provide a "sound card" device.

Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
parent d5284a67
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
@@ -729,6 +729,15 @@
			sbs,poll-retry-count = <100>;
			power-supplies = <&charger>;
		};

		rt5640: rt5640 {
			compatible = "realtek,rt5640";
			reg = <0x1c>;
			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>;
			realtek,ldo1-en-gpios =
				<&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
		};
	};

	i2c@7000d000 {
@@ -843,6 +852,12 @@
		nvidia,invert-interrupt;
	};

	ahub {
		i2s@70080400 {
			status = "okay";
		};
	};

	sdhci@78000400 {
		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
		bus-width = <4>;
@@ -937,4 +952,28 @@
			vin-supply = <&tps65090_dcdc1_reg>;
		};
	};

	sound {
		compatible = "nvidia,tegra-audio-rt5640-dalmore",
			     "nvidia,tegra-audio-rt5640";
		nvidia,model = "NVIDIA Tegra Dalmore";

		nvidia,audio-routing =
			"Headphones", "HPOR",
			"Headphones", "HPOL",
			"Speakers", "SPORP",
			"Speakers", "SPORN",
			"Speakers", "SPOLP",
			"Speakers", "SPOLN";

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

		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;

		clocks = <&tegra_car TEGRA114_CLK_PLL_A>,
			 <&tegra_car TEGRA114_CLK_PLL_A_OUT0>,
			 <&tegra_car TEGRA114_CLK_EXTERN1>;
		clock-names = "pll_a", "pll_a_out0", "mclk";
	};
};