This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM5718:计时器时钟配置

Guru**** 2609285 points
Other Parts Discussed in Thread: AM5718

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/654094/linux-am5718-timer-clock-configuration

器件型号:AM5718

工具/软件:Linux

您好!

SDK 版本为4.01.00.06 、SOC 为 AM5718。

我们的系统时钟选择20MHz 晶体..

我想使用20MHz 作为计时器。

我尝试 timer2~timer16。 所有时钟为32768Hz。 (Timer1已在内核初始化中使用。)

对于器件树、

timer2:计时器@48032000{
兼容="ti、omap5430-timer";
REG =<0x48032000 0x80>;
中断= ;
ti、hwmds ="timer2";
TI、计时器- alwon;
};

timer2_gfclk_mux:timer2_gfclk_mux@1738{
#clock-cells =<0>;
兼容="ti、mux-clock";
时钟=<&timer_sys_clk_div>、<&sys_32k_ck>、<&sys_clkin2>、<&ref_clk0_ck>、<&ref_clking1_ck>、 <&ref_clkin2_ck>、<&ref_clkin3_ck>、<&Abe_giclk_div>、<&video_div_clk>、<&video_2_div_clk>、 <HDMI_div_clk>;
TI、bit-shift =<24>;
reg =<0x1738>;
};

您能给我一个如何使用20MHz (OMAP-TIMER_SRC_SYS_CLK)的示例吗?

谢谢。

S.K.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、黄

    您可以使用 AM57x 时钟树工具获取所需的精确时钟配置。

    www.ti.com/.../clocktreetool

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Pravel、

    我将再次尝试该工具。 我做过。 但我仍然不了解器件树的流程。  

    您是说我可以直接写入寄存器而不需要器件树吗?

    例如、我从寄存器表中检查它们、并替换计时器时钟的寄存器值。

    DeviceName AM571x_SR2.0_SR1.0
    [0x4a002134]0x000000c0
    [0x4a002148] 0x00000000
    [0x4a002150] 0x00000000
    [0x4a00215c] 0x00000000
    [0x4a002194] 0x00000000
    [0x4a002198] 0x00000000
    [0x4a00219c] 0x00000000
    [0x4a0021a0] 0x00000000
    [0x4a0021a4] 0x00000000

    谢谢。

    S.K.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。


    要获取 timer2的 OSC1 (20MHz)时钟源、需要在以下位字段中设置0x0值:

    CM_L4PER_TIMER2_CLKCTRL[27:24] CLKSEL = 0x0

    您能否使用 devmem2/omapconf 工具检查用户空间中的值?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    还可以在以下函数中检查为 timer2_gfclk_mux 时钟设置了什么父时钟以及设置了什么频率:

    linux-kernel/drivers/clk/ti/clk-7xx.c
    dra7xx_dt_clk_init ()

    此致、
    帕维尔