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 :

  1. Get Average Frequency
  2. Set Desired Frequency

Alert Mechanism:

  1. Operationg System to Platform Doorbell.
  2. 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(二十一)的更多相关文章

  1. am335x system upgrade rootfs using yocto make rootfs(十二)

    1      Scope of Document This document describes how to make am335x arago rootfs using ycoto project ...

  2. am335x system upgrade uboot ethernet(二)

    系统可以通过SD卡引道之后,为了之后了调试方便 通过查看网卡的硬件设计 正常来说需要注意的有如下几点: 1) 网口 的接线方式: RMII 2) 网口的PHY地址两张网口,这里我们只需先初始化一张网卡 ...

  3. am335x system upgrade kernel ethernet(四)

    1      Scope of Document This document describes ethernet hardware design and porting KZS8081 to ubo ...

  4. am335x system upgrade kernel gpio(九)

    1      Hardware Overview gpio interface,pin map: AM335X_I2C0_W_C----------------------MCASP0_AXR1 /* ...

  5. am335x system upgrade uboot nand boot(三)

    在uboot 下初始化nand,一般需要做如下工作: 第一: 配置默认从NAND boot Index: include/configs/am335x_evm.h=================== ...

  6. am335x system upgrade kernel tf(五)

    1      Scope of Document This document describes TF hardware design 2      Requiremen 2.1     Functi ...

  7. am335x system upgrade kernel can(八)

    1      Scope of Document This document describes can bus hardware design and can bus driver developm ...

  8. am335x system upgrade kernel uart(七)

    1      Scope of Document This document describes UART hardware design, uart driver porting 2      Re ...

  9. am335x system upgrade kernel i2c rtc eeprom(六)

    1      Scope of Document This document describes i2c bus hardware design and support i2c-devices: ee ...

随机推荐

  1. .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?

    原文:.NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用? 都知道可以在任务管理器中查看进程的 CPU 和内存占用,那么如何通过 .NET 编写代码的方式来获取到 ...

  2. scanf加不加\n?

    近两天用vs2013敲代码碰到的问题 关于scanf小括号中加不加\n的区别 例程序如下所示: 第一个程序: int main(){ ; printf("你会去敲代码吗?(选择1 or 0) ...

  3. Sqlserver 总结(2) 存储过程

    目录 写在前面 什么是存储过程 存储过程的优点 存储过程的分类 1.只返回单一记录集的存储过程 2.没有输入输出的存储过程 3.有返回值的存储过程 4.有输入参数和输出参数的存储过程 5.同时具有返回 ...

  4. 题解 POJ 2559-SP1805 【HISTOGRA - Largest Rectangle in a Histogram】

    题目链接: https://www.luogu.org/problemnew/show/SP1805 http://poj.org/problem?id=2559 思路: ## 单调栈 首先如果所有矩 ...

  5. Jboss部署SpringBoot2 JPA

    Jboss部署SpringBoot2 JPA 目录结构 . └── webapp └── META-INF ├── jboss-deployment-structure.xml └── jboss-w ...

  6. 《区块链DAPP开发入门、代码实现、场景应用》笔记3——Ethereum Wallet的安装

    以太坊官方网站可以下载最新版本的Ethereum Wallet,用户无需选择,浏览器会根据访问者操作系统版本自动展现合适的版本,点击DOWNLOAD按钮下载即可安装,如图2.9所示,其下载网址: ht ...

  7. vue遍历数据是对数据进行筛选 过滤 排序

    使用computed 方法来过滤筛选数据;或者使用methods 方式来筛选过滤数据 <body> <div id="app"> <ul> &l ...

  8. php和mysql交互 面向对象

    不返回结果集 <?php //使用对象属性和方法来插入数据 header('Content-type:text/html;carset=utf8'); $con=new mysqli('loca ...

  9. Github 上 36 个最实用的 Vue 开源库

    任何一个开发者,都是十分喜欢使用开源软件包的.因为它使开发工作变得更快速.高效.容易.如果没有开源软件包,开发工作将变得疲惫不堪,不断的重复造轮子! 下面整理了 Github 上 36 个实用的 Vu ...

  10. wget详解

    wget命令用来从指定的URL下载文件.wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕.如果是服务器打断下 ...