首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux common clock framework(2)_clock provider

前言 本文接上篇文章,从clock driver的角度,分析怎么借助common clock framework管理系统的时钟资源。换句话说,就是怎么编写一个clock driver。...2. clock有关的DTS 我们在“Linux common clock framework(1)_概述”中讲述clock consumer怎么使用clock时,提到过clock consumer怎么在...这决定了clock provider的DTS怎么写。 通常有两种方式: 方式1,将系统所有的clock,抽象为一个虚拟的设备,用一个DTS node表示。...clock-cells,该clock的cells,1表示该clock有多个输出,clock consumer需要通过ID值指定所要使用的clock(很好理解,系统那么多clock,被抽象为1个设备,...3.clock provider有关的API汇整 clock provider的API位于include/linux/clk_provider.h。

1.2K10

Linux common clock framework(1)_概述

前言 common clock framework是用来管理系统clock资源的子系统,根据职能,可分为三个部分: 1)向其它driver提供操作clocks的通用API。...的内部逻辑解析,面向的读者是linux kernel爱好者,目的是理解怎么实现clock framework。...概述 如今,可运行Linux的主流处理器平台,都有非常复杂的clock tree,我们随便拿一个处理器的spec,查看clock相关的章节,一定会有一个非常庞大和复杂的树状图,这个图由clock相关的器件...clock framework提供的通用API 管理clock的最终目的,是让device driver可以方便的使用,这些是通过include/linux/clk.h中的通用API实现的,如下: 1...同样的道理,系统的struct clk,也是固定的,由clock driver在系统启动时初始化完毕,需要访问某个clock时,只要获取它对应的struct clk结构即可。怎么获取呢?

82130
您找到你想要的搜索结果了吗?
是的
没有找到

Linux common clock framework(3)_实现逻辑分析

前言 前面两篇clock framework的分析文章,分别从clock consumer和clock provider的角度,介绍了Linux kernel怎么管理系统clock资源,以及device...本文将深入到clock framework的内部,分析相关的实现逻辑。 注:本文使用的kernel版本为linux-3.10.29。...clock regitser/unregister 在“Linux common clock framework(2)_clock provider”中已经讲过,clock provider需要将系统的...clock以tree的形式组织起来,分门别类,并在系统初始化时,通过provider的初始化接口,或者clock framework core的DTS接口,将所有的clock注册到kernel。...看似简单的逻辑,里面却包含非常复杂的系统设计的知识。大家在使用clock framework,知道有这回事即可,并尽可能的不要使用第二种场景,以保持系统的简洁性。

1.4K20

clock gating | ODC-based Clock Gating

在当前数字电路实现中,clock gating 是节省动态功耗最有效且成本最低的办法,所以一直以来业界都在想方设法进一步去挖掘,期望用这种低成本办法进一步节省动态功耗,如XOR clock gating...关于clock gating 驴曾码过三篇短文《clock gating | 从ICG cell 在 library 中的定义说起》、《clock gating | Gating 的插入与验证》、《clock...gating | clock gating 的timing check》。...下图是综合工具插clock gating 时,逻辑的映射,即将寄存器D-pin mux 的选择信号用于Clock gating 的enable 信号,此处最关键的就是enable 信号的抽取,传统做法是从...Activity driven clock gating: 1) Clock gating should be done if it helps improve overall power, based

1.7K10

Wall Clock与Monotonic Clock(以Go time为例)

相关函数拿得的机器的系统时间,如果修改了系统时间,会改变获取到的值。 Monotonic Clock Monotonic即单调的 也称 CLOCK_MONOTONIC,或 逻辑时钟 是个绝对时间。...表示系统(或程序)启动后流逝的时间,更改系统的时间对它没有影响。...gettimeofday runtime·vdsoGettimeofdaySym对应的系统调用是clock_gettime 关于二者区别,可参考 ❲深入理解❳如何精确测量一段代码的执行时间 gettimeofday...在Linux x86_64系统中,gettimeofday的实现采用了“同时映射一块内存到用户态和内核态,数据由内核态维护,用户态拥有读权限”的方式使得该函数调用不需要陷入内核去获取数据,即Linux...x86_64位系统中,这个函数的调用成本和普通的用户态函数基本一致(小于1ms) clock_gettime是 ns(纳秒,10^-9)级别精度的时间获取函数,但需要进入内核态获取 time.Unix

13710

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券