create_clk mux
时间: 2023-10-16 08:07:56 浏览: 44
通过引用和[2]的内容,我们可以得知,create_clk_mux是用于在mux的Y端定义新的generated clock的命令。在这个命令中,我们需要指定新生成的clock的名称以及相关的属性,如分频比、源信号等。通过定义create_clk_mux命令,可以使得CLK能够正确传递到FF1和FF2上,解决了时钟传递的问题。
相关问题
create_clk
create_clk函数是一个用于创建clk的函数。它的主要功能包括分配一个struct clk_core类型的变量,并根据传入的hw指针对其进行初始化。然后调用__clk_create_clk函数来分配一个struct clk类型的变量。最后,调用__clk_init函数完成clock的初始化。此函数的作用是创建一个clk,并设置其相关参数和属性。
<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Linux clock driver(2) clk_register 详解](https://blog.csdn.net/yinjian1013/article/details/78552586)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [深度解析create_clock与create_generated_clock的区别](https://blog.csdn.net/weixin_41287916/article/details/104542890)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
ufs_clk_scaling
根据提供的引用内容,我可以回答你关于ufs_clk_scaling的问题。
ufs_clk_scaling是用于在UFS(Universal Flash Storage)控制器中实现时钟频率调节的功能。根据引用,如果ufs_clk_scaling被支持(即为true),则会执行以下操作:
1. 初始化hba->clk_scaling.suspend_work和hba->clk_scaling.resume_work,用于在时钟频率调节过程中挂起和恢复工作。
2. 通过create_singlethread_workqueue(wq_name)创建一个专有的工作队列hba->clk_scaling.workq,用于处理时钟频率调节的工作。
而根据引用,ufs_clk_scaling的初始化是在ufs控制器的分配过程中完成的。具体步骤如下:
1. 调用scsi_host_alloc(&ufshcd_driver_template, sizeof(struct ufs_hba))来分配Scsi_host的空间。
2. 同时也为ufs host的私有数据struct ufs_hba分配空间。
3. 对scsi_host执行基本的初始化。
这样,ufs_clk_scaling就可以在UFS控制器中实现时钟频率调节的功能。