没做过移动设备的底层开发,但之前了解一点, ARM 有一个 device tree ,写在 firmware 或 uboot 上面,描述板子上的硬件配置,和 x86 的 acpi 差不多但简单很多,可以看内核 arch/arm/boot/dts 里面有一些直接支持的 cpu 的 device tree :
/*
* Device Tree Source for OMAP34xx/OMAP35xx SoC
*
* Copyright (C) 2013 Texas Instruments Incorporated -
http://www.ti.com/ *
* This file is licensed under the terms of the GNU General Public License
* version 2. This program is licensed "as is" without any warranty of any
* kind, whether express or implied.
*/
#include "omap3.dtsi"
/ {
cpus {
cpu@0 {
/* OMAP343x/OMAP35xx variants OPP1-5 */
operating-points = <
/* kHz uV */
125000 975000
250000 1075000
500000 1200000
550000 1270000
600000 1350000
>;
clock-latency = <300000>; /* From legacy driver */
};
};
.........................
好像编译内核的时候会将这个文本描述编译成二进制文件,然后烧进去。具体可能要问问搞 BSP 的人
最后内核通过一套 OPP 接口来访问它。