AnsweredAssumed Answered

Setting SAI Clock Source

Question asked by David Ochs on Jun 9, 2019
Latest reply on Jun 13, 2019 by Aldo Gutierrez

I am trying to change the SAI1_MCLK frequency on an i.MX8M Mini EVK. From my device tree entries below, I expected to get sai1_div = 24 MHz

 

&sai1 {
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai1>;
assigned-clocks = <&clk IMX8MM_CLK_SAI1_SRC>,
<&clk IMX8MM_CLK_SAI1_DIV>;
assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
assigned-clock-rates = <0>, <24000000>; 
status = "okay";
};

 

&clk {
assigned-clocks = <&clk IMX8MM_AUDIO_PLL1>, <&clk IMX8MM_AUDIO_PLL2>;
assigned-clock-rates = <768000000>, <768000000>;
};

 

Instead I see this from cat /sys/kernel/debug/clk/clk_summary | grep sai:

sai1_src 0 0 722534399 0 0
sai1_cg 0 0 722534399 0 0
sai1_pre_div 0 0 120422400 0 0
sai1_div 0 0 24084480 0 0
sai1_root_clk 0 0 24084480 0 0

 

It appears as though the driver is trying to get to 24 MHz, but it can't because of the value of sai1_src. So then my question is, how do I set sai1_src? Clearly trying to set IMX8MM_AUDIO_PLL1 to 768 MHz didn't work. 

 

Thanks!

Dave

Outcomes