ACPI(高级配置和电源接口)
低功耗定制
CPU 空闲功能开关
当前 CPU 空闲(cpuidle)功能默认处于关闭状态。如需启用,请删除 board/mthreads/common/AcpiTables/AiModule/Dsdt.asl 文件中的以下代码行:
温控策略定制
修改过温自动关机阈值
默认过温关机阈值为 100 摄氏度(对应开尔文温度值 3732K,计算公式:100°C × 10 + 2732)。
请修改 board/mthreads/common/AcpiTables/Common/ThermalZone.asl 文件中 TZ00 至 TZ05 区域的 _CRT 数值:
修改过温降频阈值
默认在 80 摄氏度时开始对 CPU/GPU/NPU 进行降频保护。
请修改 board/mthreads/common/AcpiTables/Common/ThermalZone.asl 文件中 TZ00 区域的 _PSV 数值:
开关过温降频功能
过温降频功能默认开启。如需关闭,请将 board/mthreads/common/AcpiTables/Common/GlobalRefs.asl 文件中的 DTMP 值修改为 0:
修改过温降频对象
默认会对 CPU/GPU/NPU 进行降频保护。如需排除特定组件,请从 board/mthreads/common/AcpiTables/Common/ThermalZone.asl 文件 TZ00 区域的 _PSL 列表中删除相应对象:
功率管理行为定制
修改功率保护阈值
性能模式默认在 45W 时触发功率保护,平衡模式默认在 28W 时触发。由于功率保护与温度保护采用相似的控制机制,均通过 Linux 内核的 thermal 框架实现,因此需要将功率值转换为开尔文温度单位。
请修改 board/mthreads/common/AcpiTables/AiModule/ThermalZone.asl 文件中 _PSV 方法的返回值:上一分支返回性能模式阈值,下一分支返回平衡模式阈值。

修改功率保护降频对象
默认会对 CPU/GPU/NPU 进行降频保护。如需排除特定组件,请从 board/mthreads/common/AcpiTables/Common/ThermalZone.asl 文件 TZ07 区域的 _PSL 列表中删除相应对象:
组件标识说明:
CP00:Cluster0 中的四个 CPU 核心CP04:Cluster1 中的四个 CPU 核心CP08:Cluster2 中的四个 CPU 核心MGPU:GPU 组件MNPU:NPU 组件
开关功率保护功能
功率保护功能默认开启。如需关闭,请将 board/mthreads/common/AcpiTables/Common/GlobalRefs.asl 文件中的 DCAP 值修改为 0:
DVFS 定制
修改 CPU 频率范围
board/mthreads/common/AcpiTables/AiModule/Clusters.asl 文件中定义了 12 个 CPU 核心的频率范围(最大 2650MHz,最小 1454MHz)。可根据需求调整最高频率上限或最低频率下限:
修改 GPU 频率范围
board/mthreads/common/AcpiTables/AiModule/Gpu.asl 文件中定义了 GPU 的频率范围(最大 1500MHz,最小 730MHz)。可根据需求调整最高频率上限或最低频率下限:
外设扩展
I2C 设备添加
步骤 1:确认 I2C 总线配置
首先确认设备连接到哪个 I2C 总线上。假设设备连接到 I2C5 总线,则需要注释或删除 board/mthreads/common/AcpiTables/AiModule/I2c.asl 文件中对应的 Scope 段落中的以下代码:
Method (_STA) { Return (0) }
