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.

[参考译文] TDA4VH-Q1:向 tscadc 添加使用通用 ADC-THERMAL 驱动程序的热敏电阻

Guru**** 2576215 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1507573/tda4vh-q1-adding-thermistor-using-generic-adc-thermal-driver-to-tscadc

器件型号:TDA4VH-Q1


工具/软件:

您好:

我正在尝试添加通用 ADC-Thermal 驱动器、用于从 tscadc 驱动器上读取热敏电阻。  这样、Linux 内核就会自动将 ADC 计数处理为通过器件树中的查找表进行 MC 读取。  热敏电阻连接到 tscadc0 输入 6。  这是要添加的器件树部分。

Board_thermistor:热传感器{
  compatible =“generic-ADC-thermal";“;
  #thermal-sensor-cells =<0>;
  IO 通道=<&tscadc0 6>;
  IO 通道名称=“传感器通道“;
  温度查找表=<(–55000) 4093
                (–54000) 4093
                 ...
                 150000 465>;
};

我遇到的错误

平台热传感器:延迟探头挂起:generic-adc-thermal:未找到 IIO 通道

有什么问题吗?  是否有一个示例说明如何使用 tscadc 驱动程序执行此操作?

谢谢、

Jason

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

    尊敬的 Jason:

    我们不支持  SDK 中的通用 ADC-THERMAL 驱动程序。

    从故障日志中:

    [引述 userid=“610918" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1507573/tda4vh-q1-adding-thermistor-using-generic-adc-thermal-driver-to-tscadc

    平台热传感器:延迟探头挂起:generic-adc-thermal:未找到 IIO 通道

    [/报价]

    故障来自:

    static int gadc_thermore_probe(结构平台设备*pdev)

    结构 gadc_thermal_info *GTI;
    内部 ret;

    if(!pdev->dev.of_node){
    dev_err(&pdev->dev、“仅支持基于 DT \n“);
    RETURN-ENODEV;
    }

    GTI = devm_kzalloc (&pdev->dev、sizeof (* GTI)、gfp_kernel);
    IF(!GTI)
    返回-ENOMEM;

    GTI->channel = devm_io_channel_get (&pdev->dev、“sensor-channel")“);
    if (is_ERR(GTI->channel)){
    RET = PTR_ERR (GTI->channel);
    if (ret!=-EPROBE_defer)
    dev_err (&pdev->dev、“未找到 IIO 通道:%d\n“、ret);
    返回 ret;
    }

    因此、探测路径中存在未满足的依赖关系。 需要注意 避免 探头延迟。

    看起来像 tscadc、它被钩住了  

    io-channels =<&tscadc0 6>;

    探测不正确、因此不满足依赖关系。

    - Keerthy

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

    尊敬的 Keerthy:

    是的、我知道在热通用 ADC.c 中出现故障的地方

    我们不使用 SDK、而是使用内核中的 TI 支持 (6.13) 构建自定义内核。  我们已正确设置 tscadc0、并可以正确读取原始 ADC 计数。   通用 ADC-THERMAL 的器件树设置指向第 6 个 tscadc 通道、但由于某些原因、链接无法正确发生。

    # pwd.
    /proc/device-tree/thermal-sensor

    # cat io-channel-names
    传感器通道

    # hexdump -C IO 通道
    00000000 00 00 00 83 00 00 06

    这似乎是正确的通道和电话使用.

    # pwd.
    /proc/device-tree/bus@1000000/bus@28380000/tscadc@40200000

    # hexdump -C phandle
    00000000 00 00 83

    由于某种原因、热通用 ADC 和 tscadc 之间的链接不能正确发生。

    TI 是否可以尝试这样做并提供有关如何支持的文档?

    谢谢、

    Jason

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

    另外、我最初在启动时收到以下错误:

    [ 1.080481] of:/THERMAL-SENSOR:无法获取/bus@1000000/bus@28380000/tscadc@40200000 的#io-channel-cells
    [ 1.080505] generic-adc-thermal thermal sensor:error -EINVAL:未找到 IIO 通道
    [ 1.080510] generic-adc-thermal thermal sensor:带有驱动器 generic-adc-thermal 的探头出现错误–22

    所以我补充道  

    #io-channel-cells =<1>;

    转至文件 arch/arm64/boot/dts/ti/k3-j784s4-j742s2-mcu-wakeup-common.dtsi

    在下  

    tscadc0:tscadc@40200000{

    然后是错误  

    平台热传感器:延迟探头挂起:generic-adc-thermal:未找到 IIO 通道

    错误。

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

    您好 Jason、

    您能否检查 tscadc 驱动程序探头是否成功或是否曾探测过它?

    - Keerthy

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

    尊敬的 Keerthy:

    很抱歉混淆。  tscadc 工作正常。  读取 ADC 值。  adc5 是我们的主系统电压、而 adc6 是热敏电阻。  adc5 是正确的值、因此我假设 adc6 也是如此。

    # pwd.
    /sys/bus/iio/devices/iio:device0
    # cat in_voltage5_raw
    1624
    # cat in_voltage6_raw
    3403.

    这是 tscadc 与通用 ADC-Thermal 之间的联系、我无法弄清楚。

    谢谢、

    Jason

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

    Jason、

    我们无法在 EVM 上重现此问题。 需要在探测通用 ADC 之前检查是否探测了 tscadc。 基本上、如果在之后探测 tscadc、则会导致错误、因为不满足依赖性。  

    此致、

    Keerthy  

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

    Keerthy、

    我想它可以在 EVM 上进行测试。   J784S4XG01EVM 将 ADC 暴露于 J27。  可以为其中一个通道添加 generic-adc-thermal 器件树条目。  它可以是一个简单的两个条目表。  类似的情况

    温度查找表=< 0 4093
    1000000 465>;

    热器件树的其余内容进行比较。  这意味着接近 1.8V 的温度为 0°C、接近 0V 的温度为 100°C。  

    如何做到这一点的一个例子对我和可能的其他人来说是非常有帮助的。

    谢谢、

    Jason

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

    Jason、

    请允许我一些时间。 我会检查并在下周中旬回来。

    - Keerthy

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

    Jason、

    对长时间的延误表示歉意。 TI DTS 上目前没有这方面的示例。 我在内部进行了检查、但我们在 通用 ADC 热驱动器方面没有经验。

    - Keerthy

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

    TI 可以通过内置 ADC 通过示例支持这一点吗?  我认为这是 ADC 的常见用例。  通用 ADC-热驱动器本身似乎相当简单。

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

    Jason、

    我将与开发团队核实、并在几天后返回。

    - Keerthy

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

    Jason、

    这是第一个关于  GENERY-ADC-THERMAL 的请求。 因此、我们从未获得过这方面的软件支持。 我将检查我们是否能够提供树外修补程序。
    我无法更早地回答这个问题。 我将在下周初回到您身边。

    - Keerthy

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

    别担心。  感谢您的关注!

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

    Jason、

    让我们在这条线程有上下文时继续下去。

    我想结束新主题: TDA4VH-Q1:TDA4VH-Q1:在 tscadc 中使用通用 ADC-thermal 驱动器添加热敏电阻

    - Keerthy

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

    谢谢。  您能否提供状态更新?

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

    Jason、

    11.1 SDK 中没有提供此更新。 我会让你发布这个计划。 此申请在 TSCADC 上是唯一的。

    - Keerthy

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

    Keerthy、

    此请求是否有任何更新?

    谢谢、
    Jason

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

    Jason、

    我创建了一个内部票证、正在对其进行下一个 SDK 的分析。 我不确定将在何时进行这项工作。 我会让你保持发布。

    - Keerthy

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

    谢谢、明天我会试一下。

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

    我已将这些更改添加到我们的内核中、它们按预期工作!  非常感谢他们的帮助!

    我还需要注意的是、 在进行转换时、热通用 ADC 驱动器还会在使用查找表之前使用 ADC 中的调节功能。  内核文档 (https://www.kernel.org/doc/Documentation/devicetree/bindings/thermal/thermal-generic-adc.txt) 中没有明确说明这一点、因此想为将来的任何人提供这一点。