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.

[参考译文] TPS61165:Linux 内核5.15.75中的驱动程序问题

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1379619/tps61165-driver-issue-in-linux-kernel-5-15-75

器件型号:TPS61165

工具与软件:

我们将 NXP imx8mp SoM 与 Yocto Kirkstone 内核5.15.75配合使用。 内核5.15.75中没有适用于 TPS61165的驱动程序、因此我们使用了您发布的 https://git.ti.com/cgit/mlp-open-source/kernel/tree/drivers/video/backlight/tps611xx_bl.c?h=master 、将它集成在内核5.15.75中。 但当我们在器件树中启用它时、例如

背光:背光{
          compatible ="ti、TPS61165_BL";//确保这与驱动器的兼容字符串相匹配
          RFA 启用;//如果驾驶员支持、则启用确认请求功能
          ES-GPIO =<&GPIO1 GPIO_ACTIVE_HIGH>;//指定用于 EasyScale 通信的实际 GPIO 控制器和引脚编号
          状态="正常";
       };

   面板{
      背光=<和背光>;
      Compatible ="Lex、LCX07"、"PANEW-LVDS";
      宽度 mm =<153>;
      高度-mm =<92>;
      标签="lcx07";
      数据映射="VSA-24";
      状态="正常";

      面板定时{
         时钟频率=<37000000>;
         hactive =<800>;
         Vactive =<480>;
         后沿=<180>;
         前沿=<160>;
         vback-porch =<23>;
         vfront porch=<12>;
         HSYNC-LEN =<35>;
         vsync-len =<10>;
         HSYNC-ACTIVE =<0>;
         VSYNC-ACTIVE =<0>;
         停用=<1>;
      };

      端口{
         Panel_IN:端点{
            远程端点=<&LVDS_OUT>;
         };
      };
   };

它不会引导并进入无限循环、如下所示:
[4.130702]   IMx-DRM 显示子系统:绑定的 IMx-lcdifv3-crtc.1 (ops lcdifv3_CRTC_ops)
[4.143483]   dhhdmi-imx 32fd8000.hdmi:检测到带有 HDCP 的 HDMI TX 控制器 v2.13a (samsung_dw_hdmi_phy2)
[4.154098]   dhhdmi-imx 32fd8000.hdmi:寄存式 DesignWare HDMI I2C 总线驱动器
[4.163034]   IMX-DRM 显示子系统:绑定 IMx-lcdifv3-crtc.0 (ops lcdifv3_CRTC_ops)
[4.171007]   IMX-DRM 显示子系统:绑定 IMx-lcdifv3-crtc.1 (ops lcdifv3_CRTC_ops)
[4.183811]   dhhdmi-imx 32fd8000.hdmi:检测到带有 HDCP 的 HDMI TX 控制器 v2.13a (samsung_dw_hdmi_phy2)
[4.194135]   DWHDMI-IMX 32fd8000.HDMI:寄存式 DesignWare HDMI I2C 总线驱动器
[4.202774]   IMX-DRM 显示子系统:绑定 IMx-lcdifv3-crtc.0 (ops lcdifv3_CRTC_ops)
[4.210794]   IMX-DRM DISPLAY-SUBSYSTEM:Bound IMX-lcdifv3-CRTC.1 (ops lcdifv3_CRTC_ops)
[4.223157]   dhhdmi-imx 32fd8000.hdmi:检测到带有 HDCP 的 HDMI TX 控制器 v2.13a (samsung_dw_hdma_phy2)
[4.233751]   dhdmi-imx 32fd8000.hdmi:寄存式 DesignWare HDMI I2C 总线驱动器
[4.242369]   IMX-DRM 显示子系统:绑定 IMx-lcdifv3-crtc.0 (ops lcdifv3_CRTC_ops)
[4.250377]   IMx-DRM 显示子系统:绑定 IMx-lcdifv3-crtc.1 (ops lcdifv3_CRTC_ops)
[4.262522]   dhhdmi-imx 32fd8000.hdmi:检测到带有 HDCP 的 HDMI TX 控制器 v2.13a (samsung_dw_hdma_phy2)
[4.272841]   dhdmi-imx 32fd8000.hdmi:寄存式 DesignWare HDMI I2C 总线驱动器
[4.281444]   IMX-DRM 显示子系统:绑定 IMx-lcdifv3-CRTC.0 (ops lcdifv3_CRTC_ops)
[4.289413]   IMX-DRM 显示子系统:绑定的 IMx-lcdifv3-crtc.1 (ops lcdifv3_CRTC_ops)
[4.301599]   dhhdmi-imx 32fd8000.hdmi:检测到带有 HDCP 的 HDMI TX 控制器 v2.13a (samsung_dw_hdma_phy2)
[   4.312269] dhhdmi-imx 32fd8000.HDMI:寄存式 DesignWare HDMI I2C 总线驱动器
[4.320929]   IMX-DRM 显示子系统:绑定 IMx-lcdifv3-crtc.0 (ops lcdifv3_CRTC_ops)
[4.328906]   IMX-DRM 显示子系统:绑定 IMx-lcdifv3-crtc.1 (ops lcdifv3_CRTC_ops)

当我在面板定义中注释行 backlight=&backlight 时、它会启动。 谢谢。

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

    尊敬的 Enes:

    感谢您的了解、您在实施代码时是否遇到了其他问题?

    BR

    Patrick

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

    Patrick、您好;
    İmplementing 代码中没有此类错误 (所有 Kconfig Makefile 驱动程序和标头更改都已完成并且编译成功、我可以看到 tps61xxx_BL.ko 位于系统内核模块文件夹中。) 但当驱动程序在 document.txt 所示的设备树中激活时。 它在引导段中进入无限错误循环、但不引导。
    谢谢。

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

    尊敬的 Enes:

    我看到您 在面板定义中注释了 backlight=&backlight 行。 完成此操作后、您是否能够成功控制 IC?

    BR

    Patrick

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

    Patrick、您好;
    /sys/class/backlight 中没有此类文件或目录、因此我无法控制 IC

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

    是否有其他方法来控制 IC?

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

    尊敬的 Enes:

    您的电路板上是否有可用的 GPIO 或 PWM 资源? TPS61165具有 CTRL 引脚、用于通过 PWM 或 Easy-Scale 代码控制 LED 亮度。

    BR

    Patrick

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

    Patrick、您好
    控制引脚连接到 GPIO1_IO1。 在开发板及其显示屏中定义为 PWM 引脚。 我们的定制用显示屏没有 PWM 引脚、因此我们使用了 TPS61165。
    谢谢。

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

    尊敬的 Enes:

    实际上、您可以为 CTRL 引脚提供 PWM、然后将根据 PWM 占空比调整 LED 电流。 最大电流由 FB 引脚的电阻器设置。

    BR

    Patrick

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

    Patrick、您好
    感谢您的关注。 我没有问题的背光我需要安排背光在 Linux 操作系统实时. 因此、我使用的是 TPS61165。 在默认应用程序中(由 devboard 使用且显示如下所示。)

    背光:背光{
    兼容="PWM 背光";
    PWM =<&pwm1 0 1000000>;
    状态="正常";

    亮度级别=< 0 1 2 3 4 5 6 7 8 9
    10 11 12 13 14 15 16 17 18 19
    20 21 22 23 24 25 26 27 28 29
    30 31 32 33 34 35 36 37 38 39
    40 41 42 43 44 45 46 47 48 49.
    50 51 52 53 54 55 56 57 58 59
    60 61 62 63 64 65 66 67 68 69
    70 71 72 73 74 75 76 77 78 79
    80 81 82 83 84 85 86 87 88 89
    90 91 92 93 94 95 96 97 98 99
    100>;
    default-brightness-level =<80>;
    };

    因此、我可以通过更改/sys/class/backlight/backlight/brightness.的值来对其进行排列 现在、我只能执行它0或100、不支持其他背光值。

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

    尊敬的 Enes:

    我稍后会向您提供反馈。

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

    Patrick、您好;
    感谢您的关注。 我在等什么。

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

    尊敬的 Enes:

    感谢您的耐心、我会尽快回来。

    BR

    Patrick

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

    Patrick、您好;
    有新消息吗?
    此致、
    Enes

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

    我从 CTRL 引脚测量 PWM 信号、并且当我使用/sys/class/backlight/backlight 更改 PWM 信号时它会改变电压、但背光的亮度不是只有当我发送0信号时才会改变、因为它会关闭、否则输出将始终相同。 我们是否需要更改某个设计以便使用 PWM 函数。 谢谢。

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

    尊敬的 Enes:

    遗憾的是、此 Linux 驱动程序是多年前设计的、目前我们无法支持此驱动程序。 您是否可以直接通过 PWM 控制 CTRL?

    BR

    Patrick

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

    您好、帕特里克;
    我正在尝试 PWM 我正在测量 CTRL 引脚、它排列输入电压、我可以对其进行测量、但在数据表中的 fb 引脚中、它必须为 dutycle*200mV、但始终为200mV。 仅当我从控制中提供0伏时、它才变为0V。谢谢。

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

    尊敬的 Enes:

    您是说您只降低 PWM 的振幅、而不降低占空比?

    BR

    Patrick