德州儀器 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