diff --git a/imx8ulp-evk_a.dts b/imx8ulp-evk.dts index 909d9a4..9a4f8f5 100644 --- a/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts +++ b/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts @@ -154,6 +154,8 @@ regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; + regulator-boot-on; + status = "okay"; }; usdhc2_pwrseq: usdhc2_pwrseq { @@ -161,30 +163,71 @@ reset-gpios = <&pcal6408 2 GPIO_ACTIVE_LOW>; }; - bt_sco_codec: bt_sco_codec { - #sound-dai-cells = <1>; - compatible = "linux,bt-sco"; - }; - - sound-bt-sco { + sound_adau7002: sound-adau7002 { compatible = "simple-audio-card"; - simple-audio-card,name = "bt-sco-audio"; - simple-audio-card,format = "dsp_a"; - simple-audio-card,bitclock-inversion; - simple-audio-card,frame-master = <&btcpu>; - simple-audio-card,bitclock-master = <&btcpu>; - btcpu: simple-audio-card,cpu { + simple-audio-card,name = "adau7002"; + simple-audio-card,format = "i2s"; + simple-audio-card,widgets = "Microphone", "Microphone Jack"; + + simple-audio-card,routing = + "Capture", "PDM_DAT" , + "Capture", "IOVDD" ; + + simple-audio-card,bitclock-master = <&dailink_master>; + simple-audio-card,frame-master = <&dailink_master>; + + codec_dai_name = "adau7002-hifi"; + + status = "okay"; + + dailink_master: simple-audio-card,cpu { sound-dai = <&sai5>; - dai-tdm-slot-num = <2>; - dai-tdm-slot-width = <16>; }; - simple-audio-card,codec { - sound-dai = <&bt_sco_codec 1>; + dailink_slave: simple-audio-card,codec { + codec_dai_name = "adau7002-hifi"; + sound-dai = <&adau7002>; + clocks = <&cgc1 IMX8ULP_CLK_SAI5_SEL>, <&pcc4 IMX8ULP_CLK_SAI5>; + }; + }; + + adau7002: pdm-to-i2s { + #sound-dai-cells = <0>; + #address-cells = <0>; + #size-cells = <0>; + compatible = "adi,adau7002"; + assigned-clocks = <&cgc1 IMX8ULP_CLK_SAI5_SEL>, <&pcc4 IMX8ULP_CLK_SAI5>; + assigned-clock-rates = <786432000>, <49152000>, <12288000>, <12288000>; + status = "okay"; + IOVDD-supply = <®_5v>; + }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,bitclock-master = <&dailink_speaker_master>; + simple-audio-card,frame-master = <&dailink_speaker_master>; + simple-audio-card,widgets = "Speaker", "Ext Spk"; + simple-audio-card,audio-routing = "Ext Spk", "LINE"; + + simple-audio-card,cpu { + sound-dai = <&sai6>; + }; + + dailink_speaker_master: simple-audio-card,codec { + sound-dai = <&codec>; + clocks = <&cgc1 IMX8ULP_CLK_SAI6_SEL>, <&pcc4 IMX8ULP_CLK_SAI6>; }; }; + clk_ext_audio_codec: clock-codec { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <12288000>; + }; + sound-spdif { compatible = "fsl,imx-audio-spdif"; model = "imx-spdif"; @@ -228,15 +271,6 @@ }; }; -&dsp { - assigned-clocks = <&cgc2 IMX8ULP_CLK_HIFI_SEL>, <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>; - assigned-clock-parents = <&cgc2 IMX8ULP_CLK_PLL4_PFD0>; - assigned-clock-rates = <0>, <475200000>; - memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, - <&dsp_vdev0vring1>, <&dsp_reserved>; - status = "okay"; -}; - &flexspi2 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_flexspi2_ptd>; @@ -390,6 +424,14 @@ gpio-controller; #gpio-cells = <2>; }; + + codec: audio-codec@1a { + compatible = "dlg,da7213"; + reg = <0x1a>; + #sound-dai-cells = <0>; + clocks = <&clk_ext_audio_codec>; + clock-names = "mclk"; + }; }; &mu { @@ -400,6 +442,16 @@ status = "okay"; }; +&sai4 { + #sound-dai-cells = <0>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pinctrl_sai4>; + assigned-clocks = <&cgc1 IMX8ULP_CLK_SAI4_SEL>, <&pcc4 IMX8ULP_CLK_SAI4>; + assigned-clock-parents = <&cgc1 IMX8ULP_CLK_SPLL3_PFD1_DIV1>; + assigned-clock-rates = <4800000>; + status = "okay"; +}; + &sai5 { #sound-dai-cells = <0>; pinctrl-names = "default", "sleep"; @@ -541,7 +593,7 @@ fsl,pins = < MX8ULP_PAD_PTE15__ENET0_MDC 0x43 MX8ULP_PAD_PTE14__ENET0_MDIO 0x43 - MX8ULP_PAD_PTE17__ENET0_RXER 0x43 +// MX8ULP_PAD_PTE17__ENET0_RXER 0x43 MX8ULP_PAD_PTE18__ENET0_CRS_DV 0x43 MX8ULP_PAD_PTF1__ENET0_RXD0 0x43 MX8ULP_PAD_PTE20__ENET0_RXD1 0x43 @@ -581,7 +633,6 @@ MX8ULP_PAD_PTF16__LPSPI5_SIN 0x43 MX8ULP_PAD_PTF17__LPSPI5_SOUT 0x43 MX8ULP_PAD_PTF18__LPSPI5_SCK 0x43 - MX8ULP_PAD_PTF19__PTF19 0x43 >; }; @@ -633,8 +684,16 @@ fsl,pins = < MX8ULP_PAD_PTF26__I2S5_TX_BCLK 0x43 MX8ULP_PAD_PTF27__I2S5_TX_FS 0x43 - MX8ULP_PAD_PTF28__I2S5_TXD0 0x43 - MX8ULP_PAD_PTF24__I2S5_RXD3 0x43 + MX8ULP_PAD_PTF21__I2S5_RXD0 0x43 + >; + }; + + pinctrl_sai4: sai4grp { + fsl,pins = < + MX8ULP_PAD_PTF15__I2S4_TX_BCLK 0x43 + MX8ULP_PAD_PTF16__I2S4_TX_FS 0x43 + MX8ULP_PAD_PTF18__I2S4_TXD1 0x43 + MX8ULP_PAD_PTF13__I2S4_RXD1 0x43 >; };