mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-13 21:09:25 -04:00
arm64: dts: imx8-apalis: Add audio support
Add audio support to Apalis-iMX8QM and its carrier boards. These includes: * On SOM i2s sound card * On SOM spdif sound card * Enabling Audiomix and Asynchronous Sample Rate Converter Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
committed by
Shawn Guo
parent
54304f99b6
commit
73214bc975
@@ -22,9 +22,13 @@ &adc1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Audio Mixer */
|
||||
&amix {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Asynchronous Sample Rate Converter (ASRC) */
|
||||
&asrc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Display Controller */
|
||||
|
||||
@@ -104,13 +108,25 @@ &lsio_pwm3 {
|
||||
|
||||
/* TODO: Apalis BKL1_PWM */
|
||||
|
||||
/* TODO: Apalis DAP1 */
|
||||
/* Apalis DAP1 */
|
||||
&sai1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Apalis Analogue Audio */
|
||||
&sai5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sai5_lpcg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Apalis SATA1 */
|
||||
|
||||
/* TODO: Apalis SPDIF1 */
|
||||
/* Apalis SPDIF1 */
|
||||
&spdif0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Apalis USBH2, Apalis USBH3 and on-module Wi-Fi via on-module HSIC Hub */
|
||||
|
||||
|
||||
@@ -62,9 +62,13 @@ &adc1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Audio Mixer */
|
||||
&amix {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Asynchronous Sample Rate Converter (ASRC) */
|
||||
&asrc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Display Controller */
|
||||
|
||||
@@ -191,13 +195,25 @@ &lsio_pwm3 {
|
||||
|
||||
/* TODO: Apalis BKL1_PWM */
|
||||
|
||||
/* TODO: Apalis DAP1 */
|
||||
/* Apalis DAP1 */
|
||||
&sai1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Apalis Analogue Audio */
|
||||
&sai5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sai5_lpcg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Apalis SATA1 */
|
||||
|
||||
/* TODO: Apalis SPDIF1 */
|
||||
/* Apalis SPDIF1 */
|
||||
&spdif0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Apalis USBH2, Apalis USBH3 and on-module Wi-Fi via on-module HSIC Hub */
|
||||
|
||||
|
||||
@@ -94,9 +94,13 @@ &adc1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Audio Mixer */
|
||||
&amix {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Asynchronous Sample Rate Converter (ASRC) */
|
||||
&asrc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Display Controller */
|
||||
|
||||
@@ -240,13 +244,25 @@ &lsio_pwm3 {
|
||||
|
||||
/* TODO: Apalis BKL1_PWM */
|
||||
|
||||
/* TODO: Apalis DAP1 */
|
||||
/* Apalis DAP1 */
|
||||
&sai1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Apalis Analogue Audio */
|
||||
&sai5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sai5_lpcg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Apalis SATA1 */
|
||||
|
||||
/* TODO: Apalis SPDIF1 */
|
||||
/* Apalis SPDIF1 */
|
||||
&spdif0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Apalis USBH2, Apalis USBH3 and on-module Wi-Fi via on-module HSIC Hub */
|
||||
|
||||
|
||||
@@ -126,6 +126,13 @@ reg_usb_phy: regulator-usb-hsic1 {
|
||||
regulator-name = "usb-phy-dummy";
|
||||
};
|
||||
|
||||
reg_vref_1v8: regulator-vref-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "+V1.8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
@@ -198,11 +205,32 @@ linux,cma {
|
||||
};
|
||||
};
|
||||
|
||||
/* TODO: Apalis Analogue Audio */
|
||||
sound {
|
||||
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 = "apalis-imx8qm";
|
||||
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&sai1>;
|
||||
};
|
||||
|
||||
dailink_master: simple-audio-card,codec {
|
||||
sound-dai = <&sgtl5000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* TODO: HDMI Audio */
|
||||
|
||||
/* TODO: Apalis SPDIF1 */
|
||||
/* Apalis SPDIF1 */
|
||||
sound-spdif {
|
||||
compatible = "fsl,imx-audio-spdif";
|
||||
model = "imx-spdif";
|
||||
spdif-controller = <&spdif0>;
|
||||
spdif-in;
|
||||
spdif-out;
|
||||
};
|
||||
|
||||
touchscreen: touchscreen {
|
||||
compatible = "toradex,vf50-touchscreen";
|
||||
@@ -227,6 +255,10 @@ touchscreen: touchscreen {
|
||||
|
||||
};
|
||||
|
||||
&asrc0 {
|
||||
fsl,asrc-rate = <48000>;
|
||||
};
|
||||
|
||||
&adc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_adc0>;
|
||||
@@ -334,8 +366,6 @@ &i2c1 {
|
||||
clock-frequency = <100000>;
|
||||
status = "okay";
|
||||
|
||||
/* TODO: Audio Codec */
|
||||
|
||||
/* USB3503A */
|
||||
usb-hub@8 {
|
||||
compatible = "smsc,usb3503a";
|
||||
@@ -348,6 +378,24 @@ usb-hub@8 {
|
||||
refclk-frequency = <25000000>;
|
||||
reset-gpios = <&lsio_gpio1 2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
/* On Module Audio Codec */
|
||||
sgtl5000: audio-codec@a {
|
||||
compatible = "fsl,sgtl5000";
|
||||
reg = <0x0a>;
|
||||
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 IMX_LPCG_CLK_0>;
|
||||
assigned-clock-rates = <786432000>, <49152000>, <12288000>, <12288000>;
|
||||
clocks = <&mclkout0_lpcg IMX_LPCG_CLK_0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sgtl5000>;
|
||||
#sound-dai-cells = <0>;
|
||||
VDDA-supply = <®_module_3v3_avdd>;
|
||||
VDDD-supply = <®_vref_1v8>;
|
||||
VDDIO-supply = <®_module_3v3>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Apalis I2C1 */
|
||||
@@ -729,13 +777,31 @@ &mu2_m0 {
|
||||
|
||||
/* TODO: Apalis BKL1_PWM */
|
||||
|
||||
/* TODO: Apalis DAP1 */
|
||||
|
||||
/* TODO: Analogue Audio */
|
||||
/* Apalis DAP1 */
|
||||
&sai1 {
|
||||
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>,
|
||||
<&sai1_lpcg IMX_LPCG_CLK_0>;
|
||||
assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai1>;
|
||||
#sound-dai-cells = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Apalis SATA1 */
|
||||
|
||||
/* TODO: Apalis SPDIF1 */
|
||||
/* Apalis SPDIF1 */
|
||||
&spdif0 {
|
||||
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>;
|
||||
assigned-clock-rates = <786432000>, <49152000>, <12288000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spdif0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* TODO: Thermal Zones */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user