linux设备树-时钟

==Example==/* external oscillator */ /*晶振,时钟提供者*/osc: oscillator {compatible = "fixed-clock";#clock-cells = <1>;clock-frequency  = <32678>;clock-output-names = "osc";};pll: pll@4c000 {  /* 倍频, 时钟消费者与 时钟提供者 */compatible = "vendor,some-pll-interface"#clock-cells = <1>;		clocks = <&osc 0>;     // 代表consumerclock-names = "ref";   //reg = <0x4c000 0x1000>;clock-output-names = "pll", "pll-switched"; //代表provider};/* 时钟消费者 */uart@a000 {compatible = "fsl,imx-uart";reg = <0xa000 0x1000>;...clocks = <&osc 0>, <&pll 1>; //clocks-xx 用于时钟连接clock-names = "baud", "register";assigned-clocks = <&clkcon 0>, <&pll 2>;//  assigned-clocks-xx 用于时钟配置assigned-clock-parents = <&pll 2>;     //只有一组,所以忽略clocks 中 &pll2  对应的parentassigned-clock-rates = <0>, <460800>; //0 代表跳过配置};

1、consumer dts interface

clock consumer的属性列表如下:

属性名描述
clocks必须

该属性描述clock consumer设备使用的clock source,或者clock input
该属性是一个数组,数组中每一个具体的entry对应一个clock source。

而clock source是由phandle和clock specifier来描述。

phandle指向一个clock provider的device node,

如果该provider的#clock-cells等于0,那么说明该provider就一个output,那么就不需要clock specifier来进一步描述。如果该provider的#clock-cells不等于0,那么clock specifier必须提供,以便指明本设备到底使用provider输出时钟源的哪一路。

clock-names可选同样的,该属性也似描述设备使用的clock source信息的,也是一个数组,是一个字符串数组,每一个字符串描述一个clock source,对应着clocks中phandle和clock specifier。
之所以提供clock-names这个属性其实是为了编程方便,驱动程序可以通过比较直观的clock name来找到该设备的输入时钟源信息。
clock-ranges可选该属性值为空,主要用来说明该设备的下级设备可以继承该设备的clock source。例如B设备是A设备的sub node,A设备如果有clock-ranges属性,那么B设备在寻找其clock source的时候,如果在本node定义的clock相关属性中没有能够找到,那么可以去A设备去继续寻找(也就是说,B设备会继承A设备的clock source相关的属性,也就是clocks或者clock-names这两个属性)。

2、provider dts interface

clock provider的属性列表如下:

属性描述
#clock-cells必须

我们上面说过了,一个HW block(clock consumer)的时钟源可以通过phandle和clock specifier来描述,这里#clock-cells就是说明使用多少个cell(u32)来描述clock specifier。

如果等于0,说明provider就一个clock output,不需要specifier,

如果等于1,说明provider有多个clock output(能用u32标识)。

       >=2的情况应该不存在,一个provider不可能提供超过2^32个clock output。

clock-output-names可选如果clock provider能提供多路时钟输出,那么给每一个clock output起个适合人类阅读的名字是不错的选择,这也就是clock-output-names的目的。clock consumer中提供的clock specifier是一个index,通过这个index可以在clock-output-names属性值中找到对应的时钟源的名字。
clock-indices可选

如果不提供这个属性,那么clock-output-names和index的对应关系就是0,1,2……。

如果这个对应关系不是线性的,那么可以通过clock-indices属性来定义映射到clock-output-names的index。

3、clock config interface

初始化时可以通过dts来设定clock parent以及clock rate,具体属性如下:

属性名描述
assigned-clocks可选这个属性列出了需要进行设定的clock,其值是一个phandle+clock specifier数组
assigned-clock-parent可选准备要设定的parent列表。“儿子”在哪里呢?assigned-clocks中定义的,注意,是一一对应的。例如:
assigned-clocks:A, B,C;
assigned-clock-parent:A_parent,B_parent,C_parent;
assigned-clock-rate可选要设定的频率列表,同样的,和assigned-clocks也是一一对应的。

参考连接:

        wowotech Common Clock Framework系统结构

       linux 文档: Documentation/devicetree/bindings/clock/clock-bindings.txt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Qt 学习笔记】Qt常用控件 | 显示类控件 | Calendar Widget的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 显示类控件 | Calendar Widget的使用及说明 文章编号&am…

基于STM32实现流水灯【Proteus仿真】

详情更多 wechat&#xff1a;嵌入式工程师成长日记 https://mp.weixin.qq.com/s?__bizMzg4Mzc3NDUxOQ&mid2247485624&idx1&sn4e553234c2624777409bd2067a07aad8&chksmcf430de0f83484f6189b119d9d83ea6e6f2a85d13afaa04d218483918231c38e6382d3007061&tok…

「React Native」为什么要选择 React Native 作为的跨端方案

文章目录 前言一、常见因素二、举个栗子2.1 项目背景2.2 为什么选择 React Native2.3 项目实施2.4 成果总结 前言 没有完美的跨端技术&#xff0c;只有适合的场景。脱离适用场景去谈跨端技术没有什么意义。 一、常见因素 共享代码库&#xff1a; React Native 允许开发者编写…

第⑮讲:Ceph集群管理与监控操作指南

文章目录 1.查看集群的状态信息2.动态的查看集群的状态信息3.查看集群的利用率4.查看OSD的资源利用率5.查看OSD的列表6.查看各组件的状态7.查看集群的仲裁信息8.查看/修改集群组件sock的配置参数 1.查看集群的状态信息 通过集群状态信息可以看到集群的健康状态、各个组件的运行…

PMP新版考试也要复习49个过程?如何复习更高效?

PMP中有五大过程组、十大知识领域&#xff0c;共计49个子过程&#xff0c;那么如何才能快速的记住这49个子过程&#xff0c;可以参考这篇文章理解加深记忆。 记忆需要花费时间&#xff1a;30分钟 记忆持续时间&#xff1a;永久 接下来按照思路进行 场景&#xff1a;大家都熟…

粮油包装生产线的未来趋势:智能、环保与可持续发展

在当今世界&#xff0c;科技进步日新月异&#xff0c;智能化、环保和可持续发展已成为各行各业关注的焦点。粮油包装生产线作为食品产业链的重要环节&#xff0c;其未来发展趋势同样离不开这三大主题。星派将探讨粮油包装生产线的未来趋势&#xff0c;并展望其在智能、环保与可…

详解俄罗斯社媒平台VK广告推广如何开户?VK代理开户、费用、代运营流程

俄罗斯的VK&#xff08;VKontakte&#xff09;是当地常用的社交媒体平台&#xff0c;对于想要在俄罗斯市场推广产品的企业来说&#xff0c;VK广告投放是一个有效的渠道。以下是关于如何在VK上进行广告推广的开户流程、费用和代运营流程的详解&#xff1a; VK广告推广开户流程 …

海康Visionmaster-常见问题排查方法-启动阶段

VM试用版启动时&#xff0c;弹窗报错&#xff1a;加密狗未安装或检测异常&#xff1b;  问题原因&#xff1a;安装VM 的时候未选择软加密&#xff0c;选择了加密狗驱动&#xff0c;此时要使用软授权就出现了此现象。  解决方法&#xff1a; ① 首先确认软加密驱动正确安装…

机器学习入门:玩转sklearn库,AI写作

首先&#xff0c;这篇文章是基于笔尖AI写作进行文章创作的&#xff0c;喜欢的宝子&#xff0c;也可以去体验下&#xff0c;解放双手&#xff0c;上班直接摸鱼~ 按照惯例&#xff0c;先介绍下这款笔尖AI写作&#xff0c;宝子也可以直接下滑跳过看正文~ 笔尖Ai写作&#xff1a;…

达芬奇调色:色彩理论入门

写在前面 整理一些达芬奇调色的笔记博文内容涉及&#xff1a; 一级调色是什么&#xff0c;以及 调色素材格式 log&#xff0c;raw&#xff0c;rec709 简单认知理解不足小伙伴帮忙指正 不必太纠结于当下&#xff0c;也不必太忧虑未来&#xff0c;当你经历过一些事情的时候&#…

基于SpringBoot+Vue的企业资产管理系统设计与实现

1、系统演示视频&#xff08;演示视频&#xff09; 2、需要请联系

hexo配置教程、主题使用及涉及的技术学习

一、背景 最近,一直想做一个属于自己的网站.可以从零开始搭建一个网站,顺便可以把日常中学到的技术用于实战,还可以顺便记录自己的所思所感,记录成长的过程. 方案 一开始的方案是从零开始,模仿常见个人博客的设计,基于vueSpringbootMySQL的去实现网站. 新建项目之后,发现vu…

C/C++ 入门(7)string类(STL)

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;C 请多多指教&#xff01; 目录 一、标准库中的string 1、了解 2、string类常用接口说明 1、常见的构造函数 2、容量操作 ​编辑 3、访问及遍历操作 4、修改操作 5、非成员函数 二、string类实现 …

如何训练一个大语言模型(LLMs)

目录 前言大语言模型 Vs机器学习模型训练过程步骤1&#xff1a;数据策划&#xff08;Data Curation)步骤2&#xff1a;格式化与预处理步骤3&#xff1a;训练模型步骤4&#xff1a;模型评估 LLM Leaderboard[LLM Leaderboard 2024](https://www.vellum.ai/llm-leaderboard)[Open…

软考 系统架构设计师系列知识点之大数据设计理论与实践(13)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之大数据设计理论与实践&#xff08;12&#xff09; 所属章节&#xff1a; 第19章. 大数据架构设计理论与实践 第4节 Kappa架构 19.4.2 Kappa架构介绍 Kappa架构由Jay Kreps提出&#xff08;Lambda由Storm之父Nayhan M…

智慧水务是什么样的?如何打造智慧水务大屏?

在信息化和数字化快速发展的今天&#xff0c;智慧水务作为城市供水管理的重要组成部分&#xff0c;正变得越来越重要。智慧水务大屏作为智慧水务系统的可视化核心&#xff0c;不仅提升了水务管理的效率&#xff0c;而且通过数据的实时监控和分析&#xff0c;为决策者提供了强有…

持续发力新能源新材料产业,企企通 ×『瑞翔新材』SRM项目启动,积极推动企业发展新质生产力

近日&#xff0c;南通瑞翔新材料有限公司&#xff08;以下简称“瑞翔新材”&#xff09;与企企通达成战略合作&#xff0c;并成功召开SRM项目启动会&#xff0c;瑞翔新材与企企通高层领导、项目负责人及项目组成员共同出席此次启动会。 本次项目建设&#xff0c;企企通将助力瑞…

微服架构基础设施环境平台搭建 -(六)Kubesphere 部署Redis服务 设置访问Redis密码

微服架构基础设施环境平台搭建 -&#xff08;六&#xff09;Kubesphere 部署Redis服务 & 设置访问Redis密码 微服架构基础设施环境平台搭建 系列文章 微服架构基础设施环境平台搭建 -&#xff08;一&#xff09;基础环境准备 微服架构基础设施环境平台搭建 -&#xff08;二…

矿产资源管理系统:开启智慧矿业新篇章

项目背景 在全球经济发展的大背景下&#xff0c;矿产资源作为工业的“粮食”和“血液”&#xff0c;其合理开发与有效管理对于国家的经济发展、能源安全和工业稳定供应具有不可替代的作用。然而&#xff0c;随着资源的日益紧张和环境保护要求的提高&#xff0c;传统的矿产资源…

canvas 学习

最近的项目涉及到 canvas 相关的知识&#xff0c;就在网站上找资源先大概了解一下&#xff0c;然后再细细研究。 看到了一篇 “canvas详细教程” 的资源&#xff0c;感觉十分不错&#xff0c;就分享给大家&#xff1a; canvas详细教程! ( 近1万字吐血总结)这期是潘潘整理的万…