This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM620-Q1:RTI_driver 缺少选项

Guru**** 2771175 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/1618534/am620-q1-rti_driver-missing-options

器件型号: AM620-Q1

您好专家、

我正在使用最初编写于 2019/2020 年左右的 RTI_WDT_DRIVER (DRIVERS/WATCHDOG_WDT_c)。

`// SPDX-License-Identifier:GPL-2.0
/*
*用于 K3 RTI 模块的看门狗驱动程序
*
*(c) 版权所有 2019-2020 Texas Instruments Inc.
保留所有权利。
*/`
 


我有几个关切和问题:  
*目标上的行为:  
我编写了一个小程序来查询上次重新启动是看门狗使用选项 WDIOC_GETBOOTSTATUS (ioctl) 的值引起的。  
`μ s

INT BOOTSTATUS = 0;
IF (WDG_FD < 0)
返回 false;
if (ioctl (WDG_FD、WDIOC_GETBOOTSTATUS、&bootstatus)== 0){
如果 (bootstatus !=0){
printf(“上次引导由看门狗引起 (bootstatus=0x%x)“、bootstatus);
返回 true;
}
printf(“上次引导不是由看门狗引起的 (bootstatus=0x%x)“、bootstatus);
返回 false;
}`

但它始终返回 0、即使系统由于看门狗而实际重新启动。

因此、为了进行调查、我尝试检查驱动程序提供了哪些选项。
我写了一个小的测试程序,交叉编译它,并在我的目标 板上运行:  
例如:  
`μ s
if (OPTs & WDIOF_MAGICCLOSE) printf(“ WDIOF_MAGICCLOSE\n“);
IF (OPTS & WDIOF_KEEPALIVEPING) printf(“ WDIOF_KEEPALIVEPING \n“);
if (OPTs & WDIOF_PRETIMEOUT) printf(“ WDIOF_PRETIMEOUT \n“);
if (OPTs & WDIOC_GETBOOTSTATUS) printf(“ WDIOC_GETBOOTSTATUS\n“);
`μ s
我对本文档中的所有选项都做了同样的工作: https://www.kernel.org/doc/Documentation/watchdog/watchdog-api.txt

该计划报告 :
 `===看门狗信息===
身份      : K3 RTI 看门狗
固件版本 :0
选项 (RAW)  :0x00008000
支持的选项:
 WDIOF_KEEPALIVEPING
`μ s
我不确定这是否是此版本的驱动程序的正常行为、或者是否表示需要添加/修补程序。

*在查看 RTI_WDT.c 时,我发现只有 KEEPALIVEPING 选项可用。  
`μ s
静态常量结构体 WATCHDOG_INFO RTI_WDT_INFO ={
.OPTIONS = WDIOF_KEEPALIVEPING、
.identity =“K3 RTI 看门狗“、
};  
`μ s
我想知道这些功能是否在本版本中被故意忽略、或者是否在以后的版本中可用。

*我正在考虑在 RTI_WDT.c 中添加一个补丁来公开其他选项,但它们是否会被内核正确识别并对用户空间可见?  

*输入:  
`target :“ linux am62xx-evm 6.1.80-rt26-ti-rt-g3c08dbfd7bfd #1 smp preempt_rt Wed Mar20 14:44:35 UTC 2024 AArch64 GNU/linux“ 显示所有可用的驱动程序选项。  
在 DTS 中、我修改了 rti0@主节点、添加了 STATUS =“oke";“; 兼容=“ti、j7-RTI-WDT“;
发行版        =“阿拉戈“
DISTRO_VERSION   =“2023.10"</s>“
BB_VERSION      =“2.0.0"</s>“