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.

[参考译文] AM6422:初始化 SPI 器件、并将采样数据从 U-Boot 加载程序发送到连接的从器件

Guru**** 2411460 points
Other Parts Discussed in Thread: SYSCONFIG, AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1483531/am6422-initialize-the-spi-device-and-transmit-sample-data-to-a-connected-slave-from-the-u-boot-loader

器件型号:AM6422
主题中讨论的其他器件:SysConfigAM62P

工具与软件:

尊敬的 TI 支持团队:

请参考、我使用的是 SDKv09.02.01.10。

请提供示例指令或代码、以初始化 SPI 器件并将示例数据从 U-Boot 加载程序发送到连接的 SPI 从设备。 另外、您能否告诉我用于初始化 SPI 器件的 API?

此致、Kalyan

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

    进行基本 SPI 器件测试(发送/发送数据)的一切都应该已经融入 U-Boot 中。 可通过`sSPI`命令访问该功能。 需要的是 SPI 的适当器件树定义、包括我认为的器件别名。

    我将看到、本周我可以找到一些时间来创建一个工作示例、供您参考。

    此致、Andreas

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

    感谢您的答复。 我期待收到一个 SPI 器件测试(发送/发送数据)的工作示例。

    此外、您能否告诉我是否有 U-Boot 命令可用于检查已连接的 SPI 从站列表及其器件信息?

    此致、Kalyan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、您能否告诉我是否有可用的 U-Boot 命令可用于检查已连接的 SPI 从设备列表及其设备信息?

    不需要、这是您需要根据您发送的数据手动管理的内容、并与您预期接收的某些设备的已知模式进行比较。 与 I2C 不同、此类 SPI 探测方法的有机性要低得多。 此外、对于 SPI、每个 SPI 硬件外设实际上只连接了一个器件、并且您应该知道硬件设计 POV 的含义。 与 I2C 不同、I2C 是真正的总线。

    此致、Andreas

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

    Kalyan

    我将看到、本周我可以花些时间创建一个工作示例供您参考。

    在处理另一个涉及 AM62P 的支持案例时、我创建了两个补丁、允许使用`sSPI` U-Boot 命令(如实用程序)、请参阅随附的内容。 AM64x 的更改会稍有不同(pinmux、请使用 SysConfig 工具为 AM64绘制此部分)、并且待编辑文件的文件名当然会不同。 但是、您应该能够清楚地知道这一点、而不会遇到太多的麻烦。

    然后、在 U-Boot 提示符下、您可以按如下方式访问 SPI 接口:

    U-Boot 2024.04-00002-gc685c5d14bf (Mar 12 2025 - 02:44:52 -0500)
    
    SoC:   AM62PX SR1.0 HS-FS
    Model: Texas Instruments AM62P5 SK
    DRAM:  2 GiB (effective 8 GiB)
    Core:  87 devices, 31 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   eth0: ethernet@8000000port@1
    Warning: ethernet@8000000port@2 (eth1) using random MAC address - 42:56:1d:3c:35:25
    , eth1: ethernet@8000000port@2
    Hit any key to stop autoboot:  0
    => sspi 1:0.3@1000000 16 8fff
    FFFF
    =>

    请注意、`sSPI`命令的第一个参数(`1`)对应于补丁添加的器件树 SPI 别名(`spi1`)。

    此致、Andreas

    e2e.ti.com/.../0001_2D00_arm_2D00_dts_2D00_k3_2D00_am62p5_2D00_sk_2D00_Configure_2D00_SPI0_2D00_for_2D00_U_2D00_Boot_2D00_use.patch

    e2e.ti.com/.../0002_2D00_configs_2D00_am62px_5F00_evm_5F00_a53_5F00_defconfig_2D00_Enable_2D00_SPI_2D00_driver.patch

    此致、Andreas

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

    尊敬的 Andreas、感谢您分享 cmd 示例。 我会尝试并通知您结果。

    此致、Kalyan

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

    尊敬的 Andreas:

    您是否有机会创建 SPI 器件测试(发送/发送数据)的有效示例?

    提前感谢。

    此致、Kalyan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否有机会创建 SPI 器件测试(发送/发送数据)的有效示例?

    这已经在之前的帖子中提供了;我们在这里没有其他可以提供的。 您需要按照这些步骤/补丁来激活`sSPI`命令支持、然后您可以使用该命令来探测/检查 SPI 总线、例如、您可能希望与之进行比较的外部 SPI 器件的已知良好 ID 值。

    请注意、我将在 PTO 上、直至3月 e/o March、所以此处的进一步回复将会延迟。

    此致、Andreas

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

    尊敬的 Andreas:

    正如您建议的那样、我修改了 k3-am642-evm.dts 和 configs/am64x_evm_a53_defconfig 文件。 当我运行 SSPI 命令时、我得到一个0000响应。 您能告诉我错过了什么吗?

    错误:

    DTS 文件:

    配置参数:

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

    我离开办公室到三月底,我回来后将有另一个看. 同时、我建议您连接逻辑分析仪、以查看是否获得时钟或任何数据输出作为对命令的响应。

    此致、Andreas