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/AM5718:McSPI D0和 D1的引脚多路复用

Guru**** 2606725 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/649949/linux-am5718-pinmux-of-mcspi-d0-and-d1

器件型号:AM5718

工具/软件:Linux

尊敬的团队:

我正在使用基于 AM571x 的 IDK

从 u-boot 引脚到多路复用器的配置是使用,do 设置多路复用32((*ctrl)->control_padconf_core_base、pconf、pconf_sz);

它使用数组 core_padconf_array_0ess_am571x_idk 中定义的以下设置

在引脚多路复用器阵列中、D0和 D1配置为引脚配置中的输入上拉电阻

   {SPI2_SCLK、(M0 | PIN_INPUT 下拉)}、   /* SPI2_SCLK/SPI2_SCLK *
   {SPI2_D1、(M0 | PIN_INPUT_SLEW)}、   /* SPI2_D1.SPI2_D1 *
   {SPI2_D0、(M0 | PIN_INPUT_SLEW)}、   /* SPI2_d0.SPI2_d0 *
   {SPI2_CS0、(M0 | PIN_INPUT_PULLUP | SLEWCONTROL)}、   // SPI2_cs0.SPI2_cs0 *

在通道配置中的内核 SPI-OMAP2-mcspi.c 中、它们被组合为 D0作为输入、D1作为输出、反之亦然。

if (mcspi->pin_dir =MCSPI_PINDIR_D0_in_D1_OUT){
      L &=~OMAP2_MCSPI_CHCONF_IS;
      L &=~OMAP2_MCSPI_CHCONF_DPE1;
      L |= OMAP2_MCSPI_CHCONF_DPE0;
   }否则{
      L |= OMAP2_MCSPI_CHCONF_IS;
      L |= OMAP2_MCSPI_CHCONF_DPE1;
      L &=~OMAP2_MCSPI_CHCONF_DPE0;
   }

以下是我的问题:

1) 1)为何在 U-boot 中 D1未配置为输出、或在 u-boot 中的其他位置配置?

2) 2)通过对 SPI 外设的通道配置寄存器进行编程、是否会影响管脚配置寄存器?

谢谢、

Vamshi

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

    输入"PIN_INPUT_SLEW"不会将引脚配置为输入。 它仅启用输入接收器。 输出发送器始终处于启用状态。
    不可以、这是两个单独的配置。 SPI 通道配置位于 McSPI 子系统内部、焊盘配置用于焊盘 I/O 单元。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Biser、

    我想说的是、在管脚配置中、我们可以说是输入管脚或输出管脚、对于 SPI、我们将配置管脚寄存器来选择 SPI 和作为输入使能。

    {SPI2_D1、(M0 | PIN_INPUT_SLEW)}、/* SPI2_D1.SPI2_D1 *
    {SPI2_D0、(M0 | PIN_INPUT_SLEW)}、/* SPI2_d0.SPI2_d0 *

    以下是宏 PIN_INPUT_SLEW 的定义
    #define PIN_INPUT_SLEW(INPUT_EN | SLEWCONTROL)。

    1) 1)如果接收模式为 DISABLE =>输出被启用??
    2) 2)我想知道 SPI_D1 PAD 寄存器在哪里被配置为输出???

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

    1、无论接收模式如何、管脚配置级别的输出总是使能。
    这些是 MCSPI_CHxCONF 寄存器中的 IS、DPE1和 DPE0位。

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

    1、无论接收模式如何、管脚配置级别的输出总是使能。

    2.我从这篇帖子的第一篇帖子中了解了这一点。 谢谢你  

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

    [引用用户="vamshi Krishna gajjela"] [/报价]

    这对于 GPIO 方向是正确的、而不是在焊盘级别。

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


    我刚刚意识到我的问题是如此的基本。 多路复用器是选择函数而不是配置函数。

    感谢您的参与。