From 64bab2d09fbab28a5ca652f4f21e7feb6b72f144 Mon Sep 17 00:00:00 2001
From: Junho Jeong <junho@falinux.com>
Date: Mon, 6 Feb 2023 13:54:40 +0900
Subject: [PATCH] Enable HDMI audio.

---
 .../arch/arm/boot/dts/imx6qdl-prime-oven.dtsi      | 28 ++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/kernel/linux-imx6_3.14.28/arch/arm/boot/dts/imx6qdl-prime-oven.dtsi b/kernel/linux-imx6_3.14.28/arch/arm/boot/dts/imx6qdl-prime-oven.dtsi
index 3811f0f..aa17882 100755
--- a/kernel/linux-imx6_3.14.28/arch/arm/boot/dts/imx6qdl-prime-oven.dtsi
+++ b/kernel/linux-imx6_3.14.28/arch/arm/boot/dts/imx6qdl-prime-oven.dtsi
@@ -12,6 +12,12 @@
  */
 #include <dt-bindings/input/input.h>
 
+#if 1
+#define ENABLE_HDMI_SOUND 1
+#else
+#define ENABLE_I2S_SOUND 1
+#endif
+
 &iomuxc {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_hog>;
@@ -283,6 +289,7 @@
 		};
 	};
 
+#ifdef ENABLE_I2S_SOUND
 	sound {
 		compatible = "fsl,imx6q-cmf-sgtl5000",
 			     "fsl,imx-audio-sgtl5000";
@@ -296,6 +303,15 @@
 		mux-int-port = <1>;
 		mux-ext-port = <3>;
 	};
+#endif
+
+#ifdef ENABLE_HDMI_SOUND
+	sound {
+		compatible = "fsl,imx6q-audio-hdmi", "fsl,imx-audio-hdmi";
+		model = "imx-audio-hdmi";
+		hdmi-controller = <&hdmi_audio>;
+	};
+#endif
 
     mxcfb1: fb@0 {
         compatible = "fsl,mxc_sdc_fb";
@@ -310,11 +326,13 @@
 };
 
 
+#ifdef ENABLE_I2S_SOUND
 &audmux {
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_audmux>;
 };
+#endif
 
 &ecspi1 {
 	fsl,spi-num-chipselects = <1>;
@@ -374,12 +392,19 @@
     status = "okay";
 };
 
+#ifdef ENABLE_HDMI_SOUND
+&hdmi_audio {
+	status = "okay";
+};
+#endif
+
 &i2c1 {
 	clock-frequency = <100000>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_i2c1>;
 	status = "okay";
 
+#ifdef ENABLE_I2S_SOUND
 	sgtl5000: sgtl5000@0a {
 		compatible = "fsl,sgtl5000";
 		pinctrl-names = "default";
@@ -390,6 +415,7 @@
 		VDDD-supply  = <&reg_1p2v>;
 		VDDIO-supply = <&reg_3p3v>;
 	};
+#endif
 };
 
 &i2c2 {
@@ -435,10 +461,12 @@
 	status = "okay";
 };
 
+#ifdef ENABLE_I2S_SOUND
 &ssi1 {
 	fsl,mode = "i2s-slave";
 	status = "okay";
 };
+#endif
 
 &uart1 {
 	pinctrl-names = "default";
-- 
2.1.4