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.

[参考译文] Linux/AM3352:ADC 子系统复位

Guru**** 2559900 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/610112/linux-am3352-adc-subsystem-reset

器件型号:AM3352

工具/软件:Linux

尊敬的 TI 团队:
我将测试 ADC fucnion、并使用以下命令读取单个 ADC 输出。

root@AM335x-EVM:~# cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
2233.
root@AM335x-EVM:~# cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
2230.
root@AM335x-EVM:~# cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
2229.
root@AM335x-EVM:~# cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
2232.

我的问题是,在正常运行中是否有任何方式/方法可以重置 ADC 子系统?


来自 Will Hsu

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

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

    您好,香榭丽舍

      请允许我解释这个问题。

      客户 愿意从 用户空间禁用/启用 ADC。

      现在、我们发现该命令能够满足该请求。

      =>

    禁用 ADC 的命令:devmem2 0x44E0D040 w 0x00000016 (0b0001 0110)

    用于启用 ADC 的命令:devmem2 0x44E0D040 w 0x00000007 (0b0000 0111)

      

      客户愿意从 TI 了解更多 ADC 信息、  

      请从 SW/HW 角度( 无问题和副作用)为我们提供正式的 ADC 初始步骤。

    谢谢。

      BR RIO

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

    [引述 USER="Rio Chan "]请从 SW/HW 角度( 无问题和副作用)为我们提供正式的 ADC 初始步骤。[/QUERT]

    这话到底是什么意思? 在 Linux 中、驱动程序负责 ADC 初始化。 请参阅

    此处提供了其他有用的 ADC 资源:

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

    Will 和 Rio、

    Linux 用例中的触摸屏驱动程序和 ADC 驱动程序共享相同的硬件(TSC_ADC)。 因此、MFD (多功能设备)驱动程序用于仲裁从两个驱动程序到共享硬件的访问。  

    MFD 驱动程序- DRIVERS/MFD/ti_AM335x_tscadc.c

    ADC 驱动程序- drivers/iO/adc/ti_am335x_adc.c

    触摸屏驱动程序-驱动程序/输入/触摸屏/ti_am335x_tsc.c

    要查看 Linux 用于配置 ADC 外设的初始步骤、请参阅上述驱动程序(ti_tscadc_probe、tiadc_probe 和 titsc_probe)中的探针函数。 您将注意到、tscadc_writel、tidc_writel 和 titsc_writel 函数都写入了相同的寄存器、您可以使用 devmem2实用程序从用户空间访问这些寄存器。

    AM335x TRM (http://www.ti.com/lit/pdf/spruh73)的第12.5节提供了 ADC 的寄存器说明。

    Jason Reeder

    电源 tiadc_irq_h ()函数的 drivers/iO/adc/ti_am335x_adc.c 文件中有一段代码、显示为了从 FIFO 溢出中恢复、正在禁用/启用 ADC。 该代码基本上与使用 devmem2执行的操作相同、只是切换了 CTRL 寄存器的位0 (该函数中的位4未切换)。