clock control on FreeRTOS imx8mq-evk

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

clock control on FreeRTOS imx8mq-evk

1,548件の閲覧回数
pkolomzarov
Contributor I

When Linux on A53 core goes to sleep, each call I2C_RTOS_Transfer() (I2C2) on M4 returns kStatus_I2C_Addr_Nak.

I guess that happens because Linux disables important clock.

drivers/clk/imx/clk-imx8mq.c:

スポイラ
static const char * const imx8mq_i2c2_sels[] = {"osc_25m", "sys1_pll_160m", "sys2_pll_50m", "sys3_pll_out", "audio_pll1_out", "video_pll1_out", "audio_pll2_out", "sys1_pll_133m", };

clks[IMX8MQ_CLK_I2C2] = imx8m_clk_composite("i2c2", imx8mq_i2c2_sels, base + 0xad80);
clks[IMX8MQ_CLK_I2C2_ROOT] = imx_clk_gate4("i2c2_root_clk", "i2c2", base + 0x4180, 0);

How to reenable I2C2 clock? Or tell Linux to keep it enabled?

0 件の賞賛
返信
2 返答(返信)

1,367件の閲覧回数
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @pkolomzarov,

Could you please confirm which BSP version you are using?

 

Best Regards,
Dhruvit.

0 件の賞賛
返信

780件の閲覧回数
pkolomzarov
Contributor I

kernel branch is 5.4.47-2.2.0

Update:

forget that i2c2 nak issue. Main problem is that M4 stops working if I dont set Axi and Ahb root muxes to Osc25m. And if I do so - linux on A53 core either fails in many places or dont resume at all, even if I switch mux back to syspll just after triggering resume `MU_TriggerInterrupts(MUB, kMU_GenInt0InterruptTrigger);`

0 件の賞賛
返信