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.

[参考译文] DRV260XSW-Linux:drv260x_resume()

Guru**** 1737970 points
Other Parts Discussed in Thread: DRV2603, DRV2604, DRV2604L, DRV2605
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/992641/drv260xsw-linux-drv260x_resume

器件型号:DRV260XSW-Linux
主题中讨论的其他器件:DRV2603DRV2604DRV2604LDRV2605

大家好、

如果我们询问"drv260x.c"的内容、您会介意吗?
以下  drv260x_resume()是否表示在电源状态转换中关断至活动状态(数据表图16)?  

--------------------------------------
静态 int __mort_unused drv260x_resume (struct device *dev)

struct drv260x_data * haptics = dev_get_drvdata (dev);
int ret = 0;

mutex_lock (&haptics->input_dev->mutex);

if (input_device_enabled (haptics->input_dev)){
RET =电脑控制器启用(触觉->电脑控制器);
如果(RET){
DEV_ERR (dev、"启用稳压器失败\n");
转至输出;

RET = regmap_update_bits (haptics->regmap、
DRV260X_MODE、
DRV260X_STANDBY_MASK、0);
如果(RET){
DEV_ERR (dev、"未能取消设置待机模式\n");
reguler_disable (触觉->稳压器);
转至输出;

gpioD_set_value (haptics->enable_gpio、1);

输出:
mutex_unlock (&haptics->input_dev->mutex);
回程;

--------------------------------------

此致、
雅丽塔

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

    您好 Yaita、  

    我正在就此咨询我们的固件团队、并将尽快回复您。  

    此致、  

    Justin Beigel

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

    您好、Justin - San、

    感谢您的支持。
    我将等待您的反馈。

    此致、
    雅丽塔

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

    是的、是的。 我想知道 drv260x 是什么意思、drv2603还是 drv2604?

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

    您好、盛豪生、

    感谢你的答复。
    我的客户使用 DRV2604L 并想知道代码是否正确。


    数据表显示、当关断至活动状态时、我们应首先设置 EN=1、然后设置 STANDBY=0。
    但是、代码似乎显示了相反的序列。
    代码是否正确?

    此致、
    雅丽塔

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

    您好、盛豪生、

    您是否了解过该调查?
    如果是,我可以提出你的意见吗?

    此致、
    雅丽塔

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

    在此代码中、RESUME 与挂起相反。 当触觉振动并启动暂停操作时、振动将暂停、触觉进入待机模式。 如果触觉恢复、系统将调用 RESUME、然后继续振动。

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

    您好、盛豪生、

    我通知了您的评论、但他不接受。

    关于 drv260x_suspend(),它显示 ENABLE_GPIO 设置为0并转换为“关断”状态。
    因此 drv260x_resume()应该从 “关断”状态恢复。

    他认为 以下顺序对于 drv260x_resume()是正确的。
    --------------------------
    1) 1) ENABLE_GPIO 设置为1: 关断->待机
    2)待机寄存器设置为0: 待机->活动
    --------------------------
    他认为 drv260x.c 显示的顺序相反。
    您能再看一下吗?

    此致、
    雅丽塔

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

    您好 、盛豪生、

    我可以发表评论吗?
    我必须回复我的客户。

    此致、
    雅丽塔

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

    您好!

    如果 EN 设置为0、则 RAM 槽将丢失。 因此、在暂停期间、代码不会将 EN 设置为0。 挂起未关闭。

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

    您好 、盛豪生、

    关于 drv260x_suspend(),它显示 ENABLE_GPIO 设置为0并转换为“关断”状态。
    我应该如何看待这一点? 代码是否不正确?

    此致、
    雅丽塔

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

    在挂起期间、不要将 GPIO 移交给芯片。 我们的示例代码中没有 GPIO 处理

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

    您好 、盛豪生、

    您附加的图像与我们看到的图像之间似乎存在差异。
    您所附的代码在哪里?

    我们看到以下示例代码。
    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/input/misc/drv260x.c
    可  通过以下地址访问上述链接。
    https://www.ti.com/tool/DRV260XSW-LINUX

    此致、
    雅丽塔

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

    您好 、盛豪生、

    我可以给你回信吗?

    此致、
    雅丽塔

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

    我可以给你回信吗?

    此致、
    雅丽塔

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

    你好,Yaita-San

    您是否知道谁将代码提交到 kernel.org? 如果 TI 人这么做、我可以问他原因。  通常、我们的 TI 人仅支持 www.ti.com 中的代码。  我坚持从 www.ti.com 进行处理、因为从理论上讲、在暂停期间、GPIO 到芯片不会发生任何变化、也不会进行芯片复位。

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

    您好、盛豪生、

    我不知道 谁将代码提交到 kernel.org。
    但是、我相信 TI 成员会提交该代码、因为可以从以下 TI.com 访问该代码。
    https://www.ti.com/tool/DRV260XSW-LINUX


    您能告诉我如何访问您所附的以下代码吗?



    此致、
    雅丽塔

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

    您好、盛豪生、

    请告诉我您所附的代码在哪里。
    我们可以访问该代码吗?



    此致、
    雅丽塔

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

    你好,Yaita-San

    链接如下:

    CGIT @ Texas Instruments -开源 Git 存储库- git.TI.com/cgit

    至于 Linux 内核中的 drv260x 代码、上传到内核分支的人已经离开了。

    我会向其他人进一步核实。

    如您所知、ram 固件上的 drv2604和 drv2605是不同的。

    对于 drv2604、我 将检查如果 ENABLE 引脚设置为低电平、寄存器设置和固件是否会丢失。

    对于 drv2605、我将检查如果使能引脚设置为低电平、寄存器设置是否会丢失。

    如果是、代码在暂停期间无法设置使能引脚。 谢谢。

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

    你(们)好,Yaita

    最后、我已经从我们的研发部门确认、 使能引脚被设计成最低功耗状态、而不会复位寄存器。 这适用于 DRV2605和 DRV2604。 因此、在挂起期间需要禁用使能引脚。

    BR

    盛豪

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

    您好、盛豪生、

    毕竟、我不知道结论是什么。



    数据表显示、当关断至活动状态时、我们应首先设置 EN=1、然后设置 STANDBY=0。
    但是、以下代码似乎显示了相反的序列。
    您是否说以下代码不正确?

    --------------------------------------
    静态 int __mort_unused  drv260x_resume (struct device *dev)

    struct drv260x_data * haptics = dev_get_drvdata (dev);
    int ret = 0;

    mutex_lock (&haptics->input_dev->mutex);

    if (input_device_enabled (haptics->input_dev)){
    RET =电脑控制器启用(触觉->电脑控制器);
    如果(RET){
    DEV_ERR (dev、"启用稳压器失败\n");
    转至输出;

    RET = regmap_update_bits (haptics->regmap、
    DRV260X_MODE、
    DRV260X_STANDBY_MASK、0);
    如果(RET){
    DEV_ERR (dev、"未能取消设置待机模式\n");
    reguler_disable (触觉->稳压器);
    转至输出;

    gpioD_set_value (haptics->enable_gpio、1);

    输出:
    mutex_unlock (&haptics->input_dev->mutex);
    回程;

    --------------------------------------
    此致、
    雅丽塔

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

    很抱歉、这张图让您感到困惑。 为了节省功耗、代码将在挂起模式下禁用 EN 引脚、就像关断模式一样。

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

    盛豪生

    我知道、当  STANDBY=0优先、 然后 EN =1时、我们可以将关断转换为活动状态。
    我的理解是否正确?

    此致、
    雅丽塔

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

    是的