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.

[参考译文] AM2634:CPSW3G RMII1_REF_CLK 内部时钟源问题。

Guru**** 2693225 points

Other Parts Discussed in Thread: AM2634, DP83826I

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1599673/am2634-cpsw3g-rmii1_ref_clk-internal-clock-source-issue

器件型号: AM2634
主题中讨论的其他器件: DP83826I

尊敬的专家:

   我的客户尝试使用 DP83826I、在 AM2634 上具有 CPSW3G RMII 接口。 在测试期间、我们发现 R17 端口上的 50MHz RMII1_REF_CLK 缺失。  我们检查由 syscfg (API) 生成的 ti_board_config.c  

int32_t EnetBoard_setupPorts (Enet Board_Eth)*ethPorts、

               uint32_t numEthPorts)

  CSL_MSS_CtrlRegs * mssCtrlRegs =(CSL_MSS_CtrlRegs *) CSL_MSS_CTRL_U_BASE;

 

  DebugP_ASSERT (numEthPorts == 1);

 

  EnetBoard_enableExternalMux ();

 

  交换机 (ethPorts->macPort)

  {

    ENET_MAC_PORT_1 的用例:

      CSL_FINS (mssCtrlRegs->CPSW_CONTROL、MSS_CTRL_CPSW_CONTROL_PORT1_MODE_SEL、MSS_CPSW_CONTROL_PORT_MODE_RMII);

      休息;

    ENET_MAC_PORT_2 用例:

      CSL_FINS (mssCtrlRegs->CPSW_CONTROL、MSS_CPSW_CONTROL_PORT2_MODE_SEL、MSS_CPSW_CONTROL_PORT_MODE_RMII);

      休息;

    默认值:

      DebugP_ASSERT (FALSE);

  }

 

  /*没有其他事情要做*/

  返回 ENET_Sok;

}

OAD 编程并验证寄存器 MSS_CTRL_CPSW_CONTROL = 0x01010101。 在所有测试期间调用该 API 后、此值不会更改。

1.png

2.png

3.png

根据 TRM、我们应该能够为 RMII1/RMII2 生成 50MHz 基准时钟。

但是、在测量信号时、R17 引脚上的 RMII1_REF_CLK 缺失。

4.png

5.png

 

我们还将 R17 设置为 GPIO 并进行切换、我们可以确保 R17 具有正确的连接。 无布局问题。  

因此、我们想知道为什么无法生成 RMII1_REF_CLK?  

 

此致

Andre

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

    我们也可以在 ti_pinux_config.c 中找到、RMII1 没有引脚多路复用设置。  它与 RMII2 的设置重复。 请检查这是否是 SDK 错误?

    /*
    *自动生成的文件
    */
    #include “ti_drivers_config.h"</s>“
    #include

    Static Pinmux_Per Cfg_t gPinMuxMainDomainCfg[]={
    /* I2C0 引脚配置*/
    /* I2C0_SCL -> I2C0_SCL (A13)*/

    PIN_I2C0_SCL、
    (PIN_MODE (0)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* I2C0 引脚配置*/
    /* I2C0_SDA -> I2C0_SDA (B13)*/

    PIN_I2C0_SDA、
    (PIN_MODE (0)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* I2C2 引脚配置*/
    /* I2C2_SCL -> UART0_RTSn (C7)*/

    PIN_UART0_RTSN、
    (PIN_MODE (1)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* I2C2 引脚配置*/
    /* I2C2_SDA -> UART0_CTSn (B7)*/

    PIN_UART0_CTSn、
    (PIN_MODE (1)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、

    /* MDIO 引脚配置*/
    /* MDIO_MDIO -> MDIO_MDIO (N16)*/

    PIN_MDIO_MDIO、
    (PIN_MODE (0)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* MDIO 引脚配置*/
    /* MDIO_MDC -> MDIO_MDC (M17)*/

    PIN_MDIO_MDC、
    (PIN_MODE (0)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_CRS_DV -> PR0_PRU0_GPIO10 (G18)*/

    PIN_PR0_PRU0_GPIO10、
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_RXD0 -> PR0_PRU0_GPIO0 (K17)*/

    PIN_PR0_PRU0_GPIO0
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_RXD1 -> PR0_PRU0_GPIO1 (K18)*/

    PIN_PR0_PRU0_GPIO1
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_RX_ER -> PR0_PRU0_GPIO5 (G17)*/

    PIN_PR0_PRU0_GPIO5、
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_TXD0 -> PR0_PRU0_GPIO11 (M16)*/

    PIN_PR0_PRU0_GPIO11、
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_TXD1 -> PR0_PRU0_GPIO12 (M15)*/

    PIN_PR0_PRU0_GPIO12、
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_TX_EN -> PR0_PRU0_GPIO15 (L16)*/

    PIN_PR0_PRU0_GPIO15
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_REF_CLK -> PR0_PRU0_GPIO6 (K15)*/

    PIN_PR0_PRU0_GPIO6、
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_CRS_DV -> PR0_PRU0_GPIO10 (G18)*/

    PIN_PR0_PRU0_GPIO10、
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_RXD0 -> PR0_PRU0_GPIO0 (K17)*/

    PIN_PR0_PRU0_GPIO0
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_RXD1 -> PR0_PRU0_GPIO1 (K18)*/

    PIN_PR0_PRU0_GPIO1
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_RX_ER -> PR0_PRU0_GPIO5 (G17)*/

    PIN_PR0_PRU0_GPIO5、
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_TXD0 -> PR0_PRU0_GPIO11 (M16)*/

    PIN_PR0_PRU0_GPIO11、
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_TXD1 -> PR0_PRU0_GPIO12 (M15)*/

    PIN_PR0_PRU0_GPIO12、
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_TX_EN -> PR0_PRU0_GPIO15 (L16)*/

    PIN_PR0_PRU0_GPIO15
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    /* RMII2 引脚配置*/
    /* RMII2_REF_CLK -> PR0_PRU0_GPIO6 (K15)*/

    PIN_PR0_PRU0_GPIO6、
    (PIN_MODE (2)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、

    //* UART0 引脚配置*/
    //* UART0_RXD -> UART0_RXD (A7)*/

    PIN_UART0_RXD、
    (PIN_MODE (0)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、
    //* UART0 引脚配置*/
    /* UART0_TXD -> UART0_TXD (A6)*/

    PIN_UART0_TXD、
    (PIN_MODE (0)| PIN_PULL_DISABLE | PIN_SLEW_RATE_LOW)
    }、

    {PINMUX_END、PINMUX_END}
    };

    此致

    Andre

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

    您好 Andre、

    在我们的 LaunchPad 上、我们只有 RGMII 和 MII phy、因此我们之前尚未测试 RMII。 我们的团队正在研究这个问题。 我们已经在 AM263Px 等其他器件上进行了测试。 所以我们可以继续这里的修复。

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

    Nilabh、

      在初始 RMII1 引脚多路复用后、MAC1 输出 50MHz 时钟。  我们需要修复 SDK 中的错误。

    请立即提供补丁。 谢谢。

    此致

    Andre

       

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

    e2e.ti.com/.../ti_5F00_pinmux_5F00_config.cNilabh

      在初始 RMII1 引脚多路复用后、MAC1 输出 50MHz 时钟。  我们需要修复 SDK 中的错误。

    请立即提供补丁。 谢谢。

    此致

    Andre

       

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

    您好 Andre、

    AM263x SDK 上 RMII 的引脚多路复用生成是实际错误。 此问题已通过以下补丁修复、并验证了 RMII 的引脚多路复用生成。 请使用此补丁并重新生成  ti_pinmux_config.c 此修复功能将在即将发布的 AM263X SDK 版本中提供。

    修复 RMII 引脚多路复用生成问题的补丁:

    diff --git a/source/networking/enet/core/sysconfig/networking/.meta/enet_cpsw/am263x/enet_cpsw_am263x_pinmux.syscfg.js b/source/networking/enet/core/sysconfig/networking/.meta/enet_cpsw/am263x/enet_cpsw_am263x_pinmux.syscfg.js
    index 52f8bc1..d6fbc1d 100644
    --- a/source/networking/enet/core/sysconfig/networking/.meta/enet_cpsw/am263x/enet_cpsw_am263x_pinmux.syscfg.js
    +++ b/source/networking/enet/core/sysconfig/networking/.meta/enet_cpsw/am263x/enet_cpsw_am263x_pinmux.syscfg.js
    @@ -206,7 +206,7 @@ function getInterfaceNameList(inst) {
         }
         else if (inst.phyToMacInterfaceMode === "RMII")
         {
    -        interfaceNameList.push(getInterfaceName(inst, "RMII2"));
    +        interfaceNameList.push(getInterfaceName(inst, "RMII1"));
             interfaceNameList.push(getInterfaceName(inst, "RMII2"));
         }
         else


    我目前正在分析  AM263x 中 RMII 模式的上述“SS_CTRL_CPSW_CONTROL"寄存“寄存器问题。 我将在稍后针对此问题在此处进行更新。

    此致、
    Ranga Rakesh

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

    Ranga、  

       修复引脚多路复用问题后、我们已经获得 RMMI1_REF_CLK 50MHz。

    此致

    Andre