德州仪器 TPS6594 PFSM 驱动程序

作者:Julien Panis (jpanis@baylibre.com)

概述

严格来说,PFSM(预配置有限状态机)不是硬件,它是一段代码。

TPS6594 PMIC(电源管理 IC)集成了管理操作模式的状态机。根据当前的操作模式,一些电压域保持通电,而另一些可以关闭。

PFSM 驱动程序可用于触发已配置状态之间的转换。它还提供对设备寄存器的 R/W 访问。

支持的芯片

  • 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