德州仪器 TPS6594 PFSM 驱动¶
作者:Julien Panis (jpanis@baylibre.com)
概述¶
严格来说,PFSM(可预配置有限状态机)并非硬件。它是一段代码。
TPS6594 PMIC(电源管理集成电路)集成了一个管理操作模式的状态机。根据当前的操作模式,一些电压域保持通电,而其他电压域可以关闭。
PFSM 驱动程序可用于触发配置状态之间的转换。它还提供对设备寄存器的读/写访问。
支持的芯片¶
tps6594-q1
tps6593-q1
lp8764-q1
驱动位置¶
drivers/misc/tps6594-pfsm.c
驱动类型定义¶
include/uapi/linux/tps6594_pfsm.h
驱动 IOCTL¶
:c:macro::PMIC_GOTO_STANDBY 所有设备资源都已断电。处理器关闭,并且没有电压域通电。
:c:macro::PMIC_GOTO_LP_STANDBY PMIC 中不需要始终开启的数字和模拟功能已关闭(低功耗模式)。
:c:macro::PMIC_UPDATE_PGM 触发固件更新。
:c:macro::PMIC_SET_ACTIVE_STATE 一种操作模式。PMIC 完全正常工作并为所有 PDN 负载供电。MCU 和主处理器部分的所有电压域都已通电。
:c:macro::PMIC_SET_MCU_ONLY_STATE 一种操作模式。只有分配给 MCU 安全岛的电源资源处于开启状态。
:c:macro::PMIC_SET_RETENTION_STATE 一种操作模式。根据设定的触发器,部分 DDR/GPIO 电压域可以保持通电,而所有其他域则关闭以最大程度地降低系统总功耗。
驱动用法¶
查看可用的 PFSM
# ls /dev/pfsm*
转储页面 0 和 1 的寄存器
# hexdump -C /dev/pfsm-0-0x48
查看 PFSM 事件
# cat /proc/interrupts
用户空间代码示例¶
samples/pfsm/pfsm-wakeup.c