am335x system upgrade set/get current cpufreq(二十一)
1 Scope of Document
This document describes am335x cpufreq technology insider.
2 Requiremen
2.1 Function Requirement
How to get current cpufreq, and to change cpufreq. Learning Processor Clocking Control(PPC) Interface Specification, learning APCI Specification.
2.2 Performance Requirement
NA
3 Functional Description
3.1 Functional Block Diagram
Am335x cpufreq be set by inner contex-M3,The inner contex-M3 running platform firmware. The platform firmware can be load , when booting kernel.
[ 2.118896] Power Management for AM33XX family
[ 2.127075] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[ 2.137084] Copied the M3 firmware to UMEM
3.2 PCC interface specification
3.2.1 Overview
The Processor Clocking Control (PCC) interface is implemented by platform firmware in
order to provide a channel for the Operating System to direct and
obtain performance
information on a per-processor basis in cases where the platform
firmware would
normally be directing the control of the processor performance. In
this model the
platform firmware remains in direct control of the processor
clocking control registers.
The Operating System computes the required performance for each
processor and
communicates this to the platform firmware via the PCC shared
memory interface. The
platform firmware is responsible for managing the hardware
clocking controls in order to
deliver the requested performance. The interface also provides the
capability for the
Operating System to obtain the actual performance level delivered.
In cases where the
platform is unable to meet the Operating System request, such as a
thermal or power
budget conditions, flags are set to indicate this to the Operating
System
The Processor Clocking Control
interface relies on a reserved area in the system memory
map for communications between the platform firmware and the
Operating System.
The shared memory region is a single header structure in memory.
The region of
Memory is specified in she SharedMemoryRegion field obtained ty
evaluating the PCCH() method. The region contains a haeder followed by one
input and ome output buffer for each logical processor.
3.2.2 PCC interface header info
3.2.3 PCC interface commad and alert mechanism.
Support command :
- Get Average Frequency
- Set Desired Frequency
Alert Mechanism:
- Operationg System to Platform Doorbell.
- Platform to Operating System Doorbell.
4 Porting
4.1
Kernel porting
NA
4.2
Application Interface
Set cpufreq mode:
am335x system upgrade set/get current cpufreq(二十一)的更多相关文章
- am335x system upgrade rootfs using yocto make rootfs(十二)
1 Scope of Document This document describes how to make am335x arago rootfs using ycoto project ...
- am335x system upgrade uboot ethernet(二)
系统可以通过SD卡引道之后,为了之后了调试方便 通过查看网卡的硬件设计 正常来说需要注意的有如下几点: 1) 网口 的接线方式: RMII 2) 网口的PHY地址两张网口,这里我们只需先初始化一张网卡 ...
- am335x system upgrade kernel ethernet(四)
1 Scope of Document This document describes ethernet hardware design and porting KZS8081 to ubo ...
- am335x system upgrade kernel gpio(九)
1 Hardware Overview gpio interface,pin map: AM335X_I2C0_W_C----------------------MCASP0_AXR1 /* ...
- am335x system upgrade uboot nand boot(三)
在uboot 下初始化nand,一般需要做如下工作: 第一: 配置默认从NAND boot Index: include/configs/am335x_evm.h=================== ...
- am335x system upgrade kernel tf(五)
1 Scope of Document This document describes TF hardware design 2 Requiremen 2.1 Functi ...
- am335x system upgrade kernel can(八)
1 Scope of Document This document describes can bus hardware design and can bus driver developm ...
- am335x system upgrade kernel uart(七)
1 Scope of Document This document describes UART hardware design, uart driver porting 2 Re ...
- am335x system upgrade kernel i2c rtc eeprom(六)
1 Scope of Document This document describes i2c bus hardware design and support i2c-devices: ee ...
随机推荐
- 第1课,python输出,输入,变量,运算
课程内容: 为什么要学习python 如何学python 实践体验 图片来源网络分享 为什么要学python: 简单 (设计如此) 强大(因为开源,有库) 如何学习python: 变量 --> ...
- Go基础编程实践(十)—— 数据库
从数据库中读取数据 在http://sqlitebrowser.org/下载sqlite3可视化工具,在本main.go同目录下创建personal.db数据库,创建表如下: package main ...
- lcd12864菜单
最近一段时间学习了一下lcd12864屏幕的驱动(本人使用的是带字库的st7920驱动芯片). 1.该屏幕可以是串行驱动,或者并行驱动. 2.该屏幕的显示分为2部分,文字显示区DDRAM,图像显示区G ...
- MNIST机器学习入门(二)
在前一个博客中,我们已经对MNIST 数据集和TensorFlow 中MNIST 数据集的载入有了基本的了解.本节将真正以TensorFlow 为工具,写一个手写体数字识别程序,使用的机器学习方法是S ...
- [转]Go语言string,int,int64 ,float之间类型转换方法
1 正文 (1)int转string s := strconv.Itoa(i) 等价于s := strconv.FormatInt(int64(i), 10) (2)int64转string i := ...
- Django之创建超级用户
本文链接来自:https://blog.csdn.net/HuaCode/article/details/79721673 首选创建一个新用户,用来登录Django管理网站,进入manage.py目录 ...
- SP375 QTREE - Query on a tree (树剖)
题目 SP375 QTREE - Query on a tree 解析 也就是个蓝题,因为比较长 树剖裸题(基本上),单点修改,链上查询. 顺便来说一下链上操作时如何将边上的操作转化为点上的操作: 可 ...
- Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理)
Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理) 一丶封装 , 多态 封装: 将一些东西封装到一个地方,你还可以取出来( ...
- github上传本地项目代码
进入github首页,点击新项目new repository,如下图所示: 然后进入如下页面,填写信息: 最后点击Create repository,生成如下页面: 红色圈圈画的步骤,先点击Clone ...
- java中的参数传递
Java中只有传值调用(值传递),没有传址调用(址传递或者引用传递).所以在java方法中改变参数的值是不会改变原变量的值的,但为什么改变引用变量的属性值却可以呢?请看下面的解答. java中的数据类 ...