IMX8QM: Can't change TX_AUD_ACM_MCLK_OUT1 frequency

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8QM: Can't change TX_AUD_ACM_MCLK_OUT1 frequency

456 Views
bmc
Contributor I

Hello,

I'm using the MCLK OUT1 (Ball SPDIF0_TX / BC9) as a CODEC clock. I have it configured via the device tree and it is working, however I'm unable to change the frequency from 210KHz.

iMX8QM  <- SAI0 ->  PCM3168a

 

Any ideas on how can I change the frequency?

 

Here are my configuration details:

sound_card: sound-card {
compatible = "simple-audio-card";
simple-audio-card,name = "vhu-audio";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&sndcpu>;
simple-audio-card,frame-master = <&sndcpu>;
simple-audio-card,widgets = "Microphone", "Speaker";

sndcpu: simple-audio-card,cpu {
sound-dai = <&sai0>;
};

sndcodec: simple-audio-card,codec {
sound-dai = <&pcm3168a>;
};
};

&sai0 {
#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>,
<&sai0_lpcg 0>;
assigned-clock-rates = <786432000>, <49152000>, <12288000>, <12288000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai0>;
status = "okay";
};

pcm3168a: audio-codec@47 {
compatible = "ti,pcm3168a";
reg = <0x47>;
reset-gpio = <&lsio_gpio2 7 GPIO_ACTIVE_LOW>;
clocks = <&mclkout1_lpcg 0>;
clock-names = "scki";
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>,
<&mclkout1_lpcg 0>;
assigned-clock-rates = <786432000>, <49152000>, <12288000>, <12288000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_codec_clk>;
#sound-dai-cells = <0>;
VDD1-supply = <&snd_3v3>;
VDD2-supply = <&snd_3v3>;
VCCAD1-supply = <&snd_5v0>;
VCCAD2-supply = <&snd_5v0>;
VCCDA1-supply = <&snd_5v0>;
VCCDA2-supply = <&snd_5v0>;

};

pinctrl_codec_clk: codec_clk {
fsl,pins = <
IMX8QM_SPDIF0_TX_AUD_ACM_MCLK_OUT1 0xc0000020
>;
};

pinctrl_sai0: sai0grp {
fsl,pins = <
IMX8QM_SPI0_CS1_AUD_SAI0_TXC 0x0600004c
IMX8QM_SPI2_CS1_AUD_SAI0_TXFS 0x0600004c
IMX8QM_SAI1_RXFS_AUD_SAI0_RXD 0x0600004c
IMX8QM_SAI1_RXC_AUD_SAI0_TXD 0x0600006c
>;
};

 

Thanks in advance

0 Kudos
1 Reply

429 Views
jimmychan
NXP TechSupport
NXP TechSupport

Can you check if other sampling rates are workable such as 48KHz and 192KHz?

210KHz is special and not linear conversion derived from 12288000Hz. The closest freq we can derive from 12288000Hz is 192KHz.

0 Kudos