Skip to contentSkip to conversation

arm64: tegra: Add HDA controller on Tegra186

PATCH New Thierry Reding 1 participant 7 messages Dec 6, 2018

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/7 arm64: tegra: Add HDA controller on Tegra186

From: Thierry Reding <[email protected]>

The HDA controller found on Tegra186 can be used for audio playback over HDMI.

---
 arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
arch/arm64/boot/dts/nvidia/tegra186.dtsi +16 -0
index 4c79778d80db..6cea54dc9d35 100644
@@ -318,6 +318,22 @@
 		status = "disabled";
 	};
 
+	hda@3510000 {
+		compatible = "nvidia,tegra186-hda", "nvidia,tegra30-hda";
+		reg = <0x0 0x03510000 0x0 0x10000>;
+		interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&bpmp TEGRA186_CLK_HDA>,
+			 <&bpmp TEGRA186_CLK_HDA2HDMICODEC>,
+			 <&bpmp TEGRA186_CLK_HDA2CODEC_2X>;
+		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
+		resets = <&bpmp TEGRA186_RESET_HDA>,
+			 <&bpmp TEGRA186_RESET_HDA2HDMICODEC>,
+			 <&bpmp TEGRA186_RESET_HDA2CODEC_2X>;
+		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
+		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
+		status = "disabled";
+	};
+
 	fuse@3820000 {
 		compatible = "nvidia,tegra186-efuse";
 		reg = <0x0 0x03820000 0x0 0x10000>;
Signature · 1 line
2.19.1
#1 lore raw

PATCH 2/7 arm64: tegra: Enable HDA on Jetson TX2

From: Thierry Reding <[email protected]>

Enable the HDA controller on Jetson TX2 so that it can be used for audio playback over HDMI.

---
 arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts +4 -0
index bfcc00a65af6..0f3c6cebb049 100644
@@ -53,6 +53,10 @@
 		vmmc-supply = <&vdd_sd>;
 	};
 
+	hda@3510000 {
+		status = "okay";
+	};
+
 	pcie@10003000 {
 		status = "okay";
 
Signature · 1 line
2.19.1
#2 lore raw

PATCH 3/7 arm64: tegra: Add CEC controller on Tegra186

In reply to Thierry Reding

From: Thierry Reding <[email protected]>

The CEC controller found on Tegra186 can be used to control consumer devices using the HDMI CEC pin.

---
 arch/arm64/boot/dts/nvidia/tegra186.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)
arch/arm64/boot/dts/nvidia/tegra186.dtsi +9 -0
index 6cea54dc9d35..19fb266c0895 100644
@@ -352,6 +352,15 @@
 		interrupt-parent = <&gic>;
 	};
 
+	cec@3960000 {
+		compatible = "nvidia,tegra186-cec";
+		reg = <0x0 0x03960000 0x0 0x10000>;
+		interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&bpmp TEGRA186_CLK_CEC>;
+		clock-names = "cec";
+		status = "disabled";
+	};
+
 	hsp_top0: hsp@3c00000 {
 		compatible = "nvidia,tegra186-hsp";
 		reg = <0x0 0x03c00000 0x0 0xa0000>;
Signature · 1 line
2.19.1
#3 lore raw

PATCH 4/7 arm64: tegra: Add HDA controller on Tegra194

In reply to Thierry Reding

From: Thierry Reding <[email protected]>

The HDA controller found on Tegra194 can be used for audio playback over HDMI.

---
 arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
arch/arm64/boot/dts/nvidia/tegra194.dtsi +16 -0
index 439ffe86a823..59baa631b422 100644
@@ -328,6 +328,22 @@
 			status = "disabled";
 		};
 
+		hda@3510000 {
+			compatible = "nvidia,tegra194-hda", "nvidia,tegra30-hda";
+			reg = <0x03510000 0x10000>;
+			interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&bpmp TEGRA194_CLK_HDA>,
+				 <&bpmp TEGRA194_CLK_HDA2HDMICODEC>,
+				 <&bpmp TEGRA194_CLK_HDA2CODEC_2X>;
+			clock-names = "hda", "hda2hdmi", "hda2codec_2x";
+			resets = <&bpmp TEGRA194_RESET_HDA>,
+				 <&bpmp TEGRA194_RESET_HDA2HDMICODEC>,
+				 <&bpmp TEGRA194_RESET_HDA2CODEC_2X>;
+			reset-names = "hda", "hda2hdmi", "hda2codec_2x";
+			power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
+			status = "disabled";
+		};
+
 		gic: interrupt-controller@3881000 {
 			compatible = "arm,gic-400";
 			#interrupt-cells = <3>;
Signature · 1 line
2.19.1
#4 lore raw

PATCH 5/7 arm64: tegra: Enable HDA on Jetson Xavier

In reply to Thierry Reding

From: Thierry Reding <[email protected]>

Enable the HDA controller on Jetson Xavier so that it can be used for audio playback over HDMI.

---
 arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts +4 -0
index 274937042c4a..adf351010ff5 100644
@@ -24,6 +24,10 @@
 			status = "okay";
 		};
 
+		hda@3510000 {
+			status = "okay";
+		};
+
 		host1x@13e00000 {
 			display-hub@15200000 {
 				status = "okay";
Signature · 1 line
2.19.1
#5 lore raw

PATCH 6/7 arm64: tegra: Add CEC controller on Tegra194

In reply to Thierry Reding

From: Thierry Reding <[email protected]>

The CEC controller found on Tegra194 can be used to control consumer devices using the HDMI CEC pin.

---
 arch/arm64/boot/dts/nvidia/tegra194.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)
arch/arm64/boot/dts/nvidia/tegra194.dtsi +9 -0
index 59baa631b422..31add2e2ac1b 100644
@@ -357,6 +357,15 @@
 			interrupt-parent = <&gic>;
 		};
 
+		cec@3960000 {
+			compatible = "nvidia,tegra194-cec";
+			reg = <0x03960000 0x10000>;
+			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&bpmp TEGRA194_CLK_CEC>;
+			clock-names = "cec";
+			status = "disabled";
+		};
+
 		hsp_top0: hsp@3c00000 {
 			compatible = "nvidia,tegra186-hsp";
 			reg = <0x03c00000 0xa0000>;
Signature · 1 line
2.19.1
#6 lore raw

PATCH 7/7 arm64: tegra: Enable HDA controller on Jetson TX1

In reply to Thierry Reding

From: Thierry Reding <[email protected]>

The HDA controller can be used for audio playback over HDMI.

---
 arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi +4 -0
index 365726ddd418..a96e6ee70c21 100644
@@ -1330,6 +1330,10 @@
 		phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>;
 	};
 
+	hda@70030000 {
+		status = "okay";
+	};
+
 	padctl@7009f000 {
 		status = "okay";
 
Signature · 1 line
2.19.1