summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Schenker <philippe.schenker@toradex.com>2023-03-15 09:40:05 +0100
committerPhilippe Schenker <philippe.schenker@toradex.com>2023-03-15 15:21:41 +0100
commitf56abd2fdc8735989d4b441a990cadf066fd3f9e (patch)
tree413510967f64d4eec9f61ae72c4061646f6a899f
parent30a4ebeaf56609cbfa890dba308657d01d61dfd3 (diff)
arm64: dts: colibri-imx8x: Add audio
Add all nodes necessary for audio. Do copy the nodes frrom toradex_5.4-2.3.x-imx. Upstream-Status: Pending - No audio functionality yet in upstream. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
-rw-r--r--arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi48
1 files changed, 47 insertions, 1 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi b/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi
index 8b7a7883b611..cf7524a63997 100644
--- a/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi
@@ -30,6 +30,13 @@
regulator-max-microvolt = <3300000>;
};
+ reg_module_3v3_avdd: regulator-module-3v3-avdd {
+ compatible = "regulator-fixed";
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "+V3.3_AVDD_AUDIO";
+ };
+
reg_module_vref_1v8: regulator-module-vref-1v8 {
compatible = "regulator-fixed";
regulator-max-microvolt = <1800000>;
@@ -67,6 +74,23 @@
reg = <0x8 0x80000000 0 0x10000000>;
};
};
+
+ sound_card: sound-card {
+ compatible = "simple-audio-card";
+ simple-audio-card,bitclock-master = <&dailink_master>;
+ simple-audio-card,format = "i2s";
+ simple-audio-card,frame-master = <&dailink_master>;
+ simple-audio-card,name = "imx8qxp-sgtl5000";
+
+ dailink_master: simple-audio-card,codec {
+ clocks = <&mclkout0_lpcg 0>;
+ sound-dai = <&sgtl5000_a>;
+ };
+
+ simple-audio-card,cpu {
+ sound-dai = <&sai0>;
+ };
+ };
};
/* Colibri Analogue Inputs */
@@ -123,6 +147,22 @@
adi,conversion-interval = /bits/ 8 <255>;
status = "disabled";
};
+
+ sgtl5000_a: codec@a {
+ compatible = "fsl,sgtl5000";
+ #sound-dai-cells = <0>;
+ assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
+ <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
+ <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
+ <&mclkout0_lpcg 0>;
+ assigned-clock-rates = <786432000>, <49152000>, <12000000>, <12000000>;
+ clocks = <&mclkout0_lpcg 0>;
+ clock-names = "mclk";
+ reg = <0xa>;
+ VDDA-supply = <&reg_module_3v3_avdd>;
+ VDDD-supply = <&reg_module_vref_1v8>;
+ VDDIO-supply = <&reg_module_3v3>;
+ };
};
/* MIPI DSI accessible on FFC (X2) */
@@ -482,7 +522,13 @@
/* TODO on-module PCIe for Wi-Fi */
-/* TODO On-module i2s / Audio */
+/* On-module I2S */
+&sai0 {
+ #sound-dai-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai0>;
+ status = "okay";
+};
/* On-module eMMC */
&usdhc1 {