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.

[参考译文] AM5718:Pinmux PRUSS1引脚冲突

Guru**** 2589280 points
Other Parts Discussed in Thread: AM5718

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/583751/am5718-pinmux-pruss1-pin-conflict

器件型号:AM5718

我已将引脚多路复用器文件加载到 PinMux 工具中。 该文件在过去的半年中创建了几次。 PRUSS 引脚过去没有问题。

现在、我在 PRUSS1_MII1引脚上有一个引脚冲突。

引脚复用工具会发生什么情况?

AM5718上是否不再提供 PRUSS1_MMI1?

随附了 PinMuxFile.e2e.ti.com/.../PinMux-File.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Pinmux 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    D 博士、您好!

    对 PRUSS1_MII 进行了多处更改、以实现我在最新版本中了解的一些 PRUSS 特定 IP 限制。 但是、您的组合看起来有效、不应给您带来冲突。 让我咨询 PRUSS 专家、并尽快与您联系。

    感谢您的耐心、我会在我发现问题后立即回复。
    Alex

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

    因为我收到了设计团队的一些反馈、所以我需要对此采取后续行动。 PRUSS1 MII0/1对于使用 IOSET3/4具有硬件依赖性。 基本上、如果 PRUSS1_MII0使用 IOSet3、那么 PRUSS1_MII1必须使用 IOSet4。 PRUSS1_MII1不能使用 IOSet1。 相反情况也是如此。 如果 PRUSS1_MII1使用 IOSet4、则 PRUSS1_MII0必须使用 IOSet3。 PRUSS1_MII0不能使用 IOSet1。

    为了在 PMT 中实现上述内容、并且为了使您能够在不发生冲突的情况下使用此配置、我们必须合并 ioset3 (MII0)和 ioset4 (MII1)。 此修复程序将应用于即将推出的工具版本、我认为该版本应在月底之前推出。

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

    您好!

    我们将 IOSet3用于 PRUSS1 MII/0、将 IOSet4用于 PRUSS1 MII/1。 在 U-Boot 中设置多路复用。 我确实看到 PHY 能够在两个端口上建立链路、但无法传输任何数据。
    RX 线很忙、但在驱动器端没有任何反应。 对于 TX 线路、所有传输数据都会丢失、线路处于空闲状态。

    对于 PRUSS2、两个接口都工作正常、但我们在这里使用 IOSet1。

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

    U-Boot 中的多路复用设置是否从 PinMux 工具输出文件中提取?

    谢谢、
    Alex
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不、不是。 我已经参考手册并仅使用 PinMux 工具输出中的引脚分配来手动设置 PRUSS-Pin 配置。

    这是我为 PRUSS1设置的多路复用:
    /* PRUSS1 MDIO *
    {VIN2A_D10、(M11 | PIN_OUTPUT)}、 /* pr1_mdio_mdclk */
    {VIN2A_D11、(M11 |PIN_INPUT)}、 /* pr1_MDIO_DATA */
    /* PR1 MII0 */
    {VOUT1_D8、(M12 | PIN_INPUT 下拉)}、// vout1_d8.pr1_MII_mt0_clk *
    {VOUT1_D9、(M13 | PIN_OUTPUT)}、 /* vout1_D9.pr1_mii0_txd3 *
    {VOUT1_D10、(M13 | PIN_OUTPUT)}、 /* vout1_d10.pr1_mii0_txd2 *
    {VOUT1_D11、(M13 | PIN_OUTPUT)}、 /* vout1_D11.pr1_mii0_txen */
    {VOUT1_D12、(M13 | PIN_OUTPUT)}、 /* vout1_d12.pr1_mii0_txd1 */
    {VOUT1_D13、(M13 | PIN_OUTPUT)}、 /* vout1_D13.pr1_mii0_txd0 */
    {VOUT1_D14、(M12 | PIN_INPUT)}、// vout1_D14.pr1_MII_mr0_clk *
    {VOUT1_D15、(M12 | PIN_INPUT)}、// vout1_D15.pr1_mii0_rxdv */
    {VOUT1_D16、(M12 | PIN_INPUT)}、// vout1_D16.pr1_mii0_rxd3 *
    {VOUT1_D17、(M12 | PIN_INPUT)}、// vout1_d17.pr1_mii0_rxd2 *
    {VOUT1_D18、(M12 | PIN_INPUT)}、// vout1_d18.pr1_mii0_rxd1 */
    {VOUT1_D19、(M12 | PIN_INPUT)}、// vout1_D19.pr1_mii0_rxd0 */
    {VOUT1_D20、(M12 | PIN_INPUT)}、// vout1_d20.pr1_mii0_rxer *
    {VOUT1_D21、(M12 | PIN_INPUT)}、// vout1_D21.pr1_mii0_rxlink *
    {VOUT1_D22、(M12 | PIN_INPUT)}、// vout1_D22.pr1_mii0_col *
    {VOUT1_D23、(M12 | PIN_INPUT)}、// vout1_D23.pr1_mii0_crs *

    /* PR1 MII1 */
    {VIN2A_D3、(M12 | PIN_INPUT)}、// vin2a_D3.pr1_mi1_col *
    {VIN2A_D4、(M13 | PIN_OUTPUT)}、// vin2a_D4.pr1_mii1_txd1 *
    {VIN2A_D5、(M13 | PIN_OUTPUT)}、// vin2a_D5.pr1_mii1_txd0 */
    {VIN2A_D6、(M11 | PIN_INPUT)}、/* vin2a_d6.pr1_MII_MT1_clk *
    {VIN2A_D7、(M11 | PIN_OUTPUT)}、// vin2a_D7.pr1_mii1_txen */
    {VIN2A_D8、(M11 | PIN_OUTPUT)}、// vin2a_D8.pr1_mii1_txd3 *
    {VIN2A_D9、(M11 | PIN_OUTPUT)}、// vin2a_D9.pr1_mii1_txd2 *
    {VOUT1_VSYNC、(M12 | PIN_INPUT)}、 /* vout1_vsync.pr1_mii1_rxer */
    {VOUT1_D0、(M12 | PIN_INPUT)}、// vout1_d0.pr1_mii1_rxlink *
    {VOUT1_D1、(M12 | PIN_INPUT)}、// vout1_D1.pr1_mii1_crs *
    {VOUT1_D2、(M12 | PIN_INPUT)}、// vout1_D2.pr1_MII_MR1_clk *
    {VOUT1_D3、(M12 | PIN_INPUT)}、// vout1_D3.pr1_mii1_rxdv */
    {VOUT1_D4、(M12 | PIN_INPUT)}、// vout1_D4.pr1_mii1_rxd3 */
    {VOUT1_D5、(M12 | PIN_INPUT)}、// vout1_D5.pr1_mii1_rxd2 *
    {VOUT1_D6、(M12 | PIN_INPUT)}、// vout1_d6.pr1_mii1_rxd1 */
    {VOUT1_D7、(M12 | PIN_INPUT)}、// vout1_D7.pr1_mii1_rxd0 */

    这是针对正在工作的 PRUSS2的多路复用设置:

    /* PRUSS2 MDIO *
    {McASP1_ACLKX、(M11 | PIN_OUTPUT)}、 /* PR2_MDIO_mdclk *
    {McASP1_FSX、(M11 | PIN_INPUT)}、 /* PR2_MDIO_DATA */
    /* PRUSS2 MII0 */
    {MCASP3_FSX、(M11 | PIN_INPUT)}、 /* PR2_mii0_col */
    {MCASP3_ACLKX、(M11 | PIN_INPUT)}、 /* PR2_mii0_crs */
    {McASP1_AXR13、(M11 | PIN_INPUT)}、 /* PR2_MII_mr0_clk */
    {McASP1_AXR1、(M11 | PIN_INPUT)}、 /* PR2_MII_mt0_clk */
    {MCASP2_AXR2、(M11 | PIN_INPUT)}、 /* PR2_mii0_rxd0 */
    {MCASP2_FSX、(M11 | PIN_INPUT)}、 /* PR2_mii0_rxd1 */
    {MCASP2_ACLKX、(M11 | PIN_INPUT)}、 /* PR2_mii0_rxd2 */
    {McASP1_AXR15、(M11 | PIN_INPUT)}、 /* PR2_mii0_rxd3 */
    {McASP1_AXR14、(M11 | PIN_INPUT)}、 /* PR2_mii0_rxdv */
    {McASP1_AXR0、(M11 | PIN_INPUT)}、 /* PR2_mii0_rxer */
    {McASP1_AXR12、(M11 | PIN_OUTPUT)}、 /* PR2_mii0_txd0 */
    {McASP1_AXR11、(M11 | PIN_OUTPUT)}、 /* PR2_mii0_txd1 */
    {McASP1_AXR10、(M11 | PIN_OUTPUT)}、 /* PR2_mii0_txd2 */
    {McASP1_AXR9、(M11 | PIN_OUTPUT)}、 /* PR2_mii0_txd3 */
    {McASP1_AXR8、(M11 | PIN_OUTPUT)}、 /* PR2_mii0_txen */
    /* PRUSS2 MII0 */
    {XREF_CLK0、(M11 | PIN_INPUT)}、 /* PR2_mii1_col */
    {XREF_CLK1、(M11 | PIN_INPUT)}、 /* PR2_mii1_crs */
    {MMC3_DAT2、(M11 | PIN_INPUT)}、 /* PR2_MII_MR1_clk */
    {GPIO6_10、 (M11 | PIN_INPUT)}、 /* PR2_MII_MT1_clk */
    {MMC3_DAT7、(M11 | PIN_INPUT)}、 /* PR2_mii1_rxd0 */
    {MMC3_DAT6、(M11 | PIN_INPUT)}、 /* PR2_mii1_rxd1 */
    {MMC3_DAT5、(M11 | PIN_INPUT)}、 /* PR2_mii1_rxd2 */
    {MMC3_DAT4、(M11 | PIN_INPUT)}、 /* PR2_mii1_rxd3 */
    {MMC3_DAT3、(M11 | PIN_INPUT)}、 /* PR2_mii1_rxdv */
    {MCASP3_AXR0、(M11 | PIN_INPUT)}、 /* PR2_mii1_rxer */
    {MMC3_DAT1、(M11 | PIN_OUTPUT)}、 /* PR2_mii1_txd0*/
    {MMC3_DAT0、(M11 | PIN_OUTPUT)}、 /* PR2_mii1_txd1*/
    {MMC3_CMD、 (M11 | PIN_OUTPUT)}、 /* PR2_mii1_txd2*/
    {MMC3_CLK、 (M11 | PIN_OUTPUT)}、 /* PR2_mii1_txd3*/
    {GPIO6_11、 (M11 | PIN_OUTPUT)}、 /* PR2_mii1_txen*/
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、我已经快速查看了 PRU1 MII0/1的配置、看起来不错。 是否还配置了 PRUss 内部包装程序多路复用器? 以下是该工具还为我提供的附加寄存器、用于设置:

    MII0

    /**{alternate_PADCONF_ADDREST/PRUSS_REG_ADDRESS、alternate_PADCONF_Value/PRUSS_REG_VALUE}**/

     0x4B2A6008     0x10000000        

     

    MII1.

    /**{alternate_PADCONF_ADDREST/PRUSS_REG_ADDRESS、alternate_PADCONF_Value/PRUSS_REG_VALUE}**/

    0x4B22600C      0x10000000

    谢谢、

    Alex

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我按照您的建议添加了两个寄存器的设置、但没有成功。 我们再次检查了多路复用、发现了以下内容:

    与评估板上的情况类似、pr1_mii1_txd0配置(并连接)为使用 AM5718中的焊球 F4。 pinmux 工具指出、将引脚用作 pr1_mii1_txd0时、模式应为24。 这种模式意味着什么? 根据可用的手册和源代码、多路复用模式为0..15?

    此外,《AM571x Sitara 处理器器件版本2.0 (修订版 D)》手册没有将 F4列为 pr1_MII_txd0的有效焊球,而是将"pr1_pru1_gpo2"(请参阅表4-2)列出。 焊球特性)。

    表7-152.PRU-ICSS1 IOSET 按预期列出了 IOSET4中的该引脚。 原因

    这是否让我感到困惑?

    MDIO 似乎工作正常、我收到以太网设备的链路状态更改消息。 测量时、来自 PHY 的时钟均为25MHz、看起来不错。 RxD 线显示测量线时的流量、TxD 线保持空闲。

    您是否有任何提示、我们如何找出这里的问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好,

    正确的多路复用模式被限制在原始多路复用模式寄存器的0.15。 但是、PRUss 内部包装程序中有嵌套(备用)选项(基本上内部 PRUSS IP 具有其自己的多路复用模式层)。 我们不能在引脚复用工具中真正将这些显示为嵌套复用、因此我们必须在0..15复用之上添加额外的替代选项、从而产生超过16个选项(在您使用第24个选项的情况下)。

    数据手册可能仅在"焊球特性"表中列出了"原始"PRUSS 信号、因为替代的内部多路复用是特定于 IP 的。 希望这能澄清一下。

    以上是 PinMux 工具的角度。 我能看到的一切都很好、应该正常工作。 如果 PRUss 专家发现任何问题、请允许我在这里邀请他们。 将很快通知您。

    谢谢、
    Alex

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


    Michael
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不、还不、让我再次提醒 PRU 团队。 感谢您的耐心等待。

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

    您好!

    实际上、需要在三(3)个寄存器中设置 MII2模式的备用引脚多路复用:

    0x4B22600C (对于 PRU-ICSS1、为 PRUSS_GPCFG1)= 0x40000000
    0x4B2A6008 (对于 PRU-ICSS2、为 PRUSS_GPCFG0)= 0x40000000
    0x4B2A600C (对于 PRU-ICSS2、为 PRUSS_GPCFG1)= 0x40000000

    AM571x TRM-的第30.2.1节也对此进行了说明-请参阅表30-1和30-2中的 MII2模式。  您能否确认您正在配置全部3个寄存器?

    此外、您使用的是什么 AM571x 器件版本? SR2.0TM

    此致、

    Melissa

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

    您好、Melissa、

    我将在 U-Boot 中设置这些内容、是的。 但是、由于 drivers/net/ti/prueth.c 执行以下操作、甚至不需要此操作:

    pruss_cfg_gpimode (pruss、prueth->pru0、PRUSS_GPI_MODE_MII);
    pruss_cfg_gpimode (pruss、prueth->pru1、 PRUSS_GPI_MODE_MII);
    pruss_cfg_miirt_enable (pruss、true);
    pruss_cfg_XFR_enable (pruss、true); 

    我不需要做任何特殊的皮皮皮 PRUSS2。  

    我们现在介绍芯片修订版本2.0。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在这里仍然看不出我们有什么问题-任何帮助都是非常感激的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好,

    我们在黑暗中进行拍摄、没有错误日志或指向问题所在位置的指针。 那么、让我们直接从 pinmux 工具生成的文件中尝试干净的配置。 您能否根据需要在最新的 PMT 版本中配置 PRUSS、生成引脚配置并在驱动程序中使用该"原样"? 请尝试此方法、并告知我们它是否适合您。 如果这不起作用、那么它必须是其他东西(与引脚多路复用无关)。

    谢谢、
    Alex