code_digger 2022-05-30 08:41 采纳率: 0%
浏览 18
已结题

使用了设备树中的clk节点后,如何跟踪到跟clock有关的寄存器?

平台环境:全志H3
在跟踪emmc的驱动的过程中,有两个版本的驱动的host结构中,其包含的clk成员是不一样的,但这两个版本有一个是正常的,一个是不正常的,它们的框架差别比较大,整体移植过来看来不太可行;emmc的控制器的结构如下(已去掉不相关的成员):
版本1:
struct sunxi_mmc_host {
struct mmc_host mmc;
/
IO mapping base */
void __iomem *reg_base;
struct clk *clk_ahb;
struct clk *clk_mmc;
struct clk *clk_rst;
};
版本2:
struct sunxi_mmc_host {
struct mmc_host mmc;
/
IO mapping base */
void __iomem reg_base;
/
clock management */
struct clk *clk_ahb;
struct clk *clk_mmc;
struct clk *clk_sample;
struct clk *clk_output;
};
在驱动初始化代码中,相关的时钟设置代码如下模式:
devm_clk_get(&pdev->dev, "mmc");
clk_prepare_enable(host->clk_mmc);
最终这些调用都会设置到主控上的clk相关的寄存器,想确认一下运行OK版本所对应的clk的寄存器,如何跟踪到其所设置的寄存器?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月7日
    • 创建了问题 5月30日