diff options
author | Philippe Schenker <philippe.schenker@toradex.com> | 2023-03-15 09:40:05 +0100 |
---|---|---|
committer | Philippe Schenker <philippe.schenker@toradex.com> | 2023-03-15 15:21:41 +0100 |
commit | f56abd2fdc8735989d4b441a990cadf066fd3f9e (patch) | |
tree | 413510967f64d4eec9f61ae72c4061646f6a899f | |
parent | 30a4ebeaf56609cbfa890dba308657d01d61dfd3 (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.dtsi | 48 |
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 = <®_module_3v3_avdd>; + VDDD-supply = <®_module_vref_1v8>; + VDDIO-supply = <®_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 { |