` RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。 RK3399的GPU采用四核ARM新一代高端图像处理器Mali-T860,集成更多带宽压缩技术:如智能迭加、ASTC、本地像素存储等,还支持更多的图形和计算接口,总体性能比上一代提升45%。
友坚科技最新研发的RK3399开发板,搭建了最新android7.1 系统,4G DDR3内存,32G EMMC 存诸,搭配8.4寸高清IPS屏。RK3399开发板主板尺寸为:155*104mm,设计有非常丰富的接口,板载3路TTL UART,2路USB2.0接口,一路USB3.0接口,WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太网等;可扩展模块包括4G模块、Camera(1300万、500万)等应用类功能模块。
主要的 CLK API
1. 头文件:#include
clk_prepare/ clk_unprepare
clk_enable/ clk_disable
clk_prepare_enable / clk_disable_unprepare
clk_get/ clk_put
devm_clk_get/ devm_clk_put
clk_get_rate / clk_set_rate
clk_round_rate
2. 获取 CLK 指针
struct clk *devm_clk_get(struct device *dev, const ch
*id)(推荐)
struct clk *clk_get(struct device *dev, const char *id)
3. 准备/ 使能 CLK
int clk_prepare(struct clk *clk)
/*开时钟前调用,可能会造成休眠,所以把休眠部分放到这里,可以原子操作的放到 enable
里*/
void clk_unprepare(struct clk *clk)
/*prepare 的反操作*/
int clk_enable(struct clk *clk)
/*原子操作,打开时钟,这个函数必须在产生实际可用的时钟信号后才能返回*/
void clk_disable(struct clk *clk)
/*原子操作,关闭时钟*/
(1) clk_enable/clk_disable,启动/停止 clock。不会睡眠。
(2) clk_prepare/clk_unprepare,启动 clock 前的准备工作/停止 clock 后的善后工作。
可能会睡眠。
(3) 可以使用 clk_prepare_enable / clk_disable_unprepare,clk_prepare_enable
/ clk_disable_unprepare(或者 clk_enable / clk_disable) 必须成对,以使引用计数
正确。
注意:
prepare/unprepare,enable/disable 的说明:
这两套API的本质,是把clock的启动/停止分为atomic和non-atomic两个阶段,以方便实
现和调用。因此上面所说的“不会睡眠/可能会睡眠”,有两个角度的含义:一是告诉底层的 clock
driver,请把可能引起睡眠的操作,放到 prepare/unprepare 中实现,一定不能放到
enable/disable中;二是提醒上层使用clock的driver,调用prepare/unprepare接口时可能会
睡眠,千万不能在atomic上下文(例如内部包含mutex 锁、中断关闭、spinlock锁保护的区域)
调用,而调用 enable/disable 接口则可放心。
另外,clock 的操作为什么需要睡眠呢?这里举个例子,例如 enable PLL clk,在启动 PLL 后,
需要等待它稳定。而 PLL 的稳定时间是很长的,这段时间要把 CPU 交出(进程睡眠),不然就会浪
费 CPU。
最后,为什么会有合在一起的 clk_prepare_enable/clk_disable_unprepare 接口呢?如果
调用者能确保是在 non-atomic 上下文中调用,就可以顺序调用 prepare/enable、
disable/unprepared,为了简单,framework 就帮忙封装了这两个接口。
4. 设置 CLK 频率
int clk_set_rate(struct clk *clk, unsigned long rate)(单位 Hz)
瑞芯微RK3399嵌入式开发板主要的 CLK API,友坚科技专注于三星、瑞芯微、飞思卡尔平台产品的研发,是三星、瑞芯微、飞思卡尔在中国最具实力的方案公司之一。公司研发、生产的平板、开发板,连续多年销量稳居第一。公司定位于中高端产品的研发,具有多年的嵌入式产品研发经验;基于A15-Exynos5260、A53_S5P6818、A9-S5P4418、A9-Exynos 4412、A8-S5PV210、ARM11-S3C6410、ARM9-S3C2416 、RK3188、RK3288、RK3399、IMX6Q等处理器,开发了系列化产品,为客户提供了全面的产品选择及专业化的量身定制MID解决方案。
`
|