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.

[参考译文] SK-AM62B-P1:AM62 SPIDEV 时钟日志问题?

Guru**** 2481465 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1457337/sk-am62b-p1-am62-spidev-clock-log-problem

器件型号:SK-AM62B-P1

工具与软件:

香榭丽舍大街

 

 在下面的日志中、16666666 Hz 的最大值是什么?

BR Rio

 18.687705] omap2_mcspi 2010000.spi:寄存主器 SPI1

[  18.692298] spi spi1.0:设置:速度24000000、采样前沿、时钟正常

[  18.692337] SPI spi1.0:设置模式0、8位/瓦、16666666Hz 最大值--> 0

[  18.692838] lan865x spi1.0:设置:速度24000000、采样前沿、时钟正常

[  18.692858] SPI_MASTER SPI1:将以实时优先级运行消息泵

[  18.741084] lan865x spi1.0:设置模式0、8位/w、16666666Hz 最大值--> 0

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

    尊敬的 RIO:

    如果在内核源中搜索此消息...

    [报价 userid="85279" url="~/support/processors-group/processors/f/processors-forum/1457337/sk-am62b-p1-am62-spidev-clock-log-problem "][18.692337]   SPI spi1.0:设置模式0、8位/w、1666666666Hz 最大-->0

    喜欢这里

    a0797059@jiji:~/git/linux (ti-linux-6.6.y)
    $ git grep -C 10 'setup mode.*max'
    drivers/spi/spi.c-
    drivers/spi/spi.c-      mutex_unlock(&spi->controller->io_mutex);
    drivers/spi/spi.c-
    drivers/spi/spi.c-      if (spi->rt && !spi->controller->rt) {
    drivers/spi/spi.c-              spi->controller->rt = true;
    drivers/spi/spi.c-              spi_set_thread_rt(spi->controller);
    drivers/spi/spi.c-      }
    drivers/spi/spi.c-
    drivers/spi/spi.c-      trace_spi_setup(spi, status);
    drivers/spi/spi.c-
    drivers/spi/spi.c:      dev_dbg(&spi->dev, "setup mode %lu, %s%s%s%s%u bits/w, %u Hz max --> %d\n",
    drivers/spi/spi.c-                      spi->mode & SPI_MODE_X_MASK,
    drivers/spi/spi.c-                      (spi->mode & SPI_CS_HIGH) ? "cs_high, " : "",
    drivers/spi/spi.c-                      (spi->mode & SPI_LSB_FIRST) ? "lsb, " : "",
    drivers/spi/spi.c-                      (spi->mode & SPI_3WIRE) ? "3wire, " : "",
    drivers/spi/spi.c-                      (spi->mode & SPI_LOOP) ? "loopback, " : "",
    drivers/spi/spi.c-                      spi->bits_per_word, spi->max_speed_hz,
    drivers/spi/spi.c-                      status);
    drivers/spi/spi.c-
    drivers/spi/spi.c-      return status;
    drivers/spi/spi.c-}
    

    ....你看到'-->0'意味着一个操作的状态/返回值为零,这在 Linux 内核世界意味着没有错误。

    但这么说、您是否真的尝试将 SPI 频率设置为166MHz? 请注意、我认为50MHz 是数据表的限值;不要超过该限值(为了获得真正的50MHz、由于硬件中实现了整数时钟分频器、因此您需要将 SPI 模块输入时钟频率从166MHz 设置为200MHz。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    然而、话虽如此、您真的是在尝试将 SPI 频率设置为166MHz 吗? [报价]

    没关系、我看到它实际上是16.6MHz、不是166MHz。 这是可以的。

    此致、Andreas