diff --git a/arch/arm/boot/dts/imx6ul-oas.dts b/arch/arm/boot/dts/imx6ul-oas.dts index f94578fe16252..cb5791f40e86b 100644 --- a/arch/arm/boot/dts/imx6ul-oas.dts +++ b/arch/arm/boot/dts/imx6ul-oas.dts @@ -19,6 +19,28 @@ // Add here your compatible platform. compatible = "digi,ccimx6ul", "fsl,imx6ul"; + sound_max98089: sound-max98089 { + compatible = "fsl,imx-audio-max98088"; + model = "imx-max98088"; + cpu-dai = <&sai3>; + audio-codec = <&max98089>; + asrc-controller = <&asrc>; + gpr = <&gpr>; + audio-routing = + "Headphone Jack", "HPL", + "Headphone Jack", "HPR", + "Ext Spk", "SPKL", + "Ext Spk", "SPKR", + "LineOut", "RECL", + "LineOut", "RECR", + "Mic1", "MIC1", + "Mic2", "MIC2", + "LineInA", "INA1", + "LineInA", "INA2", + "LineInB", "INB1", + "LineInB", "INB2"; + status = "okay"; + }; }; &can1 { @@ -72,6 +94,16 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c2>; status = "okay"; + + max98089: codec@10 { + compatible = "maxim,max98089"; + reg = <0x10>; + clocks = <&clks IMX6UL_CLK_SAI3>; + clock-names = "mclk"; + interrupt-parent = <&gpio5>; + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; + status = "okay"; + }; }; &i2c3 { @@ -99,6 +131,18 @@ status = "okay"; }; +/* SAI3 */ +&sai3 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai3>; + assigned-clocks = <&clks IMX6UL_CLK_SAI3_SEL>, + <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>, + <&clks IMX6UL_CLK_SAI3>; + assigned-clock-rates = <0>, <786432000>, <12288000>; + assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>; + status = "okay"; +}; + &usbotg1 { dr_mode = "peripheral"; @@ -128,6 +172,11 @@ status = "okay"; }; +/* Audio chip */ +&max98089 { + status = "okay"; +}; + &iomuxc { pinctrl-0 = <&pinctrl_hog>; @@ -253,5 +302,17 @@ MX6UL_PAD_CSI_DATA03__USDHC2_DATA3 0x17059 >; }; + + pinctrl_sai3: sai3grp { + fsl,pins = < + MX6UL_PAD_LCD_DATA15__SAI3_TX_DATA 0x11088 + MX6UL_PAD_LCD_DATA14__SAI3_RX_DATA 0x11088 + MX6UL_PAD_LCD_CLK__SAI3_MCLK 0x17088 + MX6UL_PAD_LCD_DATA13__SAI3_TX_BCLK 0x17088 + MX6UL_PAD_LCD_ENABLE__SAI3_TX_SYNC 0x17088 + /* Interrupt */ + MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x80000000 + >; + }; }; }; diff --git a/arch/arm/configs/oas_defconfig b/arch/arm/configs/oas_defconfig index 90d12100947cd..1f7de682d2d6b 100644 --- a/arch/arm/configs/oas_defconfig +++ b/arch/arm/configs/oas_defconfig @@ -231,15 +231,17 @@ CONFIG_FB_LOGO_CENTERED=y # CONFIG_LOGO_LINUX_CLUT224 is not set CONFIG_SOUND=y CONFIG_SND=y -CONFIG_SND_SOC=y -CONFIG_SND_IMX_SOC=y -CONFIG_SND_SOC_EUKREA_TLV320=y -CONFIG_SND_SOC_TLV320AIC31XX=y -CONFIG_SND_SOC_IMX_SPDIF=y -CONFIG_SND_SOC_FSL_ASOC_CARD=y -# CONFIG_SND_SOC_IMX_SGTL5000 is not set +# CONFIG_SND_SUPPORT_OLD_API is not set +# CONFIG_SND_VERBOSE_PROCFS is not set +# CONFIG_SND_DRIVERS is not set +# CONFIG_SND_PCI is not set +# CONFIG_SND_ARM is not set # CONFIG_SND_SPI is not set # CONFIG_SND_USB is not set +CONFIG_SND_SOC=y +CONFIG_SND_IMX_SOC=y +CONFIG_SND_SOC_IMX_SGTL5000=y +CONFIG_SND_SOC_IMX_HDMI=y CONFIG_USB=y CONFIG_USB_OTG=y CONFIG_USB_EHCI_HCD=y