gpt4 book ai didi

linux-kernel - 如何通过设备树配置时钟?

转载 作者:行者123 更新时间:2023-12-05 06:44:48 26 4
gpt4 key购买 nike

我正在尝试为包含在内核中的新设备配置时钟。我有一个旧版本的内核,其中已包含该设备。

所以我尝试对时钟的内核进行类似的更改。但是在旧版本的内核中有一个 C 文件用于为几乎所有设备配置时钟,但我在较新的内核中找不到任何类似的文件。

经过调查我发现,在较新版本的内核中,用于配置时钟的参数是通过设备树传递给内核的。所以我尝试更改 DT 以包含新设备的时钟,但我无法完全成功。所以我的问题是:

1)内核如何获取参数和寄存器地址以配置特定设备的时钟

2)我们能否在内核或驱动程序中访问这些信息(如寄存器加法器)?

3)有没有其他方法,可以直接在驱动或内核中使用寄存器来设置 时钟(如频率)

最佳答案

在设备树文件中,您可以指定设备的时钟频率。例如,考虑一个设备树,其中串行端口 (UART) 时钟频率设置为“时钟频率 = <3686400>;”。就您问题的下一部分而言,内核如何获取参数,驱动程序使用 api“of_get_property”从设备树中获取任何数据一样容易。作为示例,请参见 legacy_serial.c 文件,还可以查看上面示例的“Documentation/devicetree/bindings/serial”。

关于linux-kernel - 如何通过设备树配置时钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27229993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com