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.

[参考译文] AM6442:可同时启用多少个 RGMII 以太网

Guru**** 2460400 points
Other Parts Discussed in Thread: AM6442, SYSCONFIG, TMDS64EVM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1476900/am6442-how-many-rgmii-ethernet-can-be-enabled-together

器件型号:AM6442
主题中讨论的其他器件: SysConfigTMDS64EVM

工具与软件:

您好、TI:

我们正在设计 AM6442定制电路板、并希望启用5个 RGMII 以太网接口。  

我们使用 A53 Linux SDK"10.00.07.04"、我们想了解启用5个 RGMII 以太网接口是否存在任何限制。

谢谢!

Prathibha

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

    您好、Prathibha、

    [报价 userid="409809" url="~/support/processors-group/processors/f/processors-forum/1476900/am6442-how-many-rgmii-ethernet-can-be-enabled-together "]我们正在设计 AM6442定制电路板、并希望启用5个 RGMII 以太网接口。  [报价]

    您使用哪种 AM6442封装(即 ALV?)

    对于5个以太网接口中有多少个必须是 CPSW 或 PRU_ICSSG、您有什么要求吗?

    如果对 CPSW 或 PRU_ICSSG 没有特定要求、则连接的系统配置示例是5个 RGMII 接口的组合、使用1个 CPSW 和4个 PRU_ICSSG 接口(AM64x ALV 封装)。 请注意、这是一个非常简单的示例、意味着仅启用 MDIO 和 RGMII 引脚、未启用 CPSW CPTS 和 PRU_ICSSG IEP 相关引脚、这可能与您的最终应用相关、也可能不相关。 经验法则是使用 TI 系统配置工具来检查启用5个 RGMII 以太网接口时是否存在任何引脚多路复用冲突。

    e2e.ti.com/.../am64x_2D00_alv_2D00_5_2D00_port_2D00_ethernet_2D00_example.syscfg

    我还展示了对于此特定示例、关联的 dts 引脚多路复用配置。

    /* This file was auto-generated by TI PinMux on 2/20/2025 at 10:52:38 AM. */
    /* This file should only be used as a reference. Some pins/peripherals, */
    /* depending on your use case, may need additional configuration. */
    
    &main_pmx0 {
    	mycpsw1_pins_default: mycpsw1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x01cc, PIN_INPUT, 4) /* (W5) PRG0_PRU1_GPO7.RGMII1_RD0 */
    			AM64X_IOPAD(0x01d4, PIN_INPUT, 4) /* (Y5) PRG0_PRU1_GPO9.RGMII1_RD1 */
    			AM64X_IOPAD(0x01d8, PIN_INPUT, 4) /* (V6) PRG0_PRU1_GPO10.RGMII1_RD2 */
    			AM64X_IOPAD(0x01f4, PIN_INPUT, 4) /* (V5) PRG0_PRU1_GPO17.RGMII1_RD3 */
    			AM64X_IOPAD(0x0188, PIN_INPUT, 4) /* (AA5) PRG0_PRU0_GPO10.RGMII1_RXC */
    			AM64X_IOPAD(0x0184, PIN_INPUT, 4) /* (W6) PRG0_PRU0_GPO9.RGMII1_RX_CTL */
    			AM64X_IOPAD(0x0124, PIN_OUTPUT, 4) /* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */
    			AM64X_IOPAD(0x012c, PIN_OUTPUT, 4) /* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */
    			AM64X_IOPAD(0x0130, PIN_OUTPUT, 4) /* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */
    			AM64X_IOPAD(0x014c, PIN_OUTPUT, 4) /* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */
    			AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4) /* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */
    			AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4) /* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */
    		>;
    	};
    	mymdio1_pins_default: mymdio1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4) /* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */
    			AM64X_IOPAD(0x01f8, PIN_INPUT, 4) /* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */
    		>;
    	};
    	mypruicssg0mdio1_pins_default: mypruicssg0mdio1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0204, PIN_OUTPUT, 0) /* (P3) PRG0_MDIO0_MDC */
    			AM64X_IOPAD(0x0200, PIN_INPUT, 0) /* (P2) PRG0_MDIO0_MDIO */
    		>;
    	};
    	mypruicssg0rgmii1_pins_default: mypruicssg0rgmii1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x01b0, PIN_INPUT, 2) /* (Y2) PRG0_PRU1_GPO0.PRG0_RGMII2_RD0 */
    			AM64X_IOPAD(0x01b4, PIN_INPUT, 2) /* (W2) PRG0_PRU1_GPO1.PRG0_RGMII2_RD1 */
    			AM64X_IOPAD(0x01b8, PIN_INPUT, 2) /* (V3) PRG0_PRU1_GPO2.PRG0_RGMII2_RD2 */
    			AM64X_IOPAD(0x01bc, PIN_INPUT, 2) /* (T4) PRG0_PRU1_GPO3.PRG0_RGMII2_RD3 */
    			AM64X_IOPAD(0x01c8, PIN_INPUT, 2) /* (R5) PRG0_PRU1_GPO6.PRG0_RGMII2_RXC */
    			AM64X_IOPAD(0x01c0, PIN_INPUT, 2) /* (W3) PRG0_PRU1_GPO4.PRG0_RGMII2_RX_CTL */
    			AM64X_IOPAD(0x01dc, PIN_INPUT, 2) /* (W4) PRG0_PRU1_GPO11.PRG0_RGMII2_TD0 */
    			AM64X_IOPAD(0x01e0, PIN_INPUT, 2) /* (Y4) PRG0_PRU1_GPO12.PRG0_RGMII2_TD1 */
    			AM64X_IOPAD(0x01e4, PIN_INPUT, 2) /* (T6) PRG0_PRU1_GPO13.PRG0_RGMII2_TD2 */
    			AM64X_IOPAD(0x01e8, PIN_INPUT, 2) /* (U6) PRG0_PRU1_GPO14.PRG0_RGMII2_TD3 */
    			AM64X_IOPAD(0x01f0, PIN_INPUT, 2) /* (AA4) PRG0_PRU1_GPO16.PRG0_RGMII2_TXC */
    			AM64X_IOPAD(0x01ec, PIN_INPUT, 2) /* (U5) PRG0_PRU1_GPO15.PRG0_RGMII2_TX_CTL */
    		>;
    	};
    	mypruicssg0rgmii2_pins_default: mypruicssg0rgmii2-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0160, PIN_INPUT, 2) /* (Y1) PRG0_PRU0_GPO0.PRG0_RGMII1_RD0 */
    			AM64X_IOPAD(0x0164, PIN_INPUT, 2) /* (R4) PRG0_PRU0_GPO1.PRG0_RGMII1_RD1 */
    			AM64X_IOPAD(0x0168, PIN_INPUT, 2) /* (U2) PRG0_PRU0_GPO2.PRG0_RGMII1_RD2 */
    			AM64X_IOPAD(0x016c, PIN_INPUT, 2) /* (V2) PRG0_PRU0_GPO3.PRG0_RGMII1_RD3 */
    			AM64X_IOPAD(0x0178, PIN_INPUT, 2) /* (T3) PRG0_PRU0_GPO6.PRG0_RGMII1_RXC */
    			AM64X_IOPAD(0x0170, PIN_INPUT, 2) /* (AA2) PRG0_PRU0_GPO4.PRG0_RGMII1_RX_CTL */
    			AM64X_IOPAD(0x018c, PIN_INPUT, 2) /* (Y3) PRG0_PRU0_GPO11.PRG0_RGMII1_TD0 */
    			AM64X_IOPAD(0x0190, PIN_INPUT, 2) /* (AA3) PRG0_PRU0_GPO12.PRG0_RGMII1_TD1 */
    			AM64X_IOPAD(0x0194, PIN_INPUT, 2) /* (R6) PRG0_PRU0_GPO13.PRG0_RGMII1_TD2 */
    			AM64X_IOPAD(0x0198, PIN_INPUT, 2) /* (V4) PRG0_PRU0_GPO14.PRG0_RGMII1_TD3 */
    			AM64X_IOPAD(0x01a0, PIN_INPUT, 2) /* (U4) PRG0_PRU0_GPO16.PRG0_RGMII1_TXC */
    			AM64X_IOPAD(0x019c, PIN_INPUT, 2) /* (T5) PRG0_PRU0_GPO15.PRG0_RGMII1_TX_CTL */
    		>;
    	};
    	mypruicssg1mdio1_pins_default: mypruicssg1mdio1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x015c, PIN_OUTPUT, 0) /* (Y6) PRG1_MDIO0_MDC */
    			AM64X_IOPAD(0x0158, PIN_INPUT, 0) /* (AA6) PRG1_MDIO0_MDIO */
    		>;
    	};
    	mypruicssg1rgmii1_pins_default: mypruicssg1rgmii1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x00b8, PIN_INPUT, 2) /* (Y7) PRG1_PRU0_GPO0.PRG1_RGMII1_RD0 */
    			AM64X_IOPAD(0x00bc, PIN_INPUT, 2) /* (U8) PRG1_PRU0_GPO1.PRG1_RGMII1_RD1 */
    			AM64X_IOPAD(0x00c0, PIN_INPUT, 2) /* (W8) PRG1_PRU0_GPO2.PRG1_RGMII1_RD2 */
    			AM64X_IOPAD(0x00c4, PIN_INPUT, 2) /* (V8) PRG1_PRU0_GPO3.PRG1_RGMII1_RD3 */
    			AM64X_IOPAD(0x00d0, PIN_INPUT, 2) /* (AA7) PRG1_PRU0_GPO6.PRG1_RGMII1_RXC */
    			AM64X_IOPAD(0x00c8, PIN_INPUT, 2) /* (Y8) PRG1_PRU0_GPO4.PRG1_RGMII1_RX_CTL */
    			AM64X_IOPAD(0x00e4, PIN_INPUT, 2) /* (AA8) PRG1_PRU0_GPO11.PRG1_RGMII1_TD0 */
    			AM64X_IOPAD(0x00e8, PIN_INPUT, 2) /* (U9) PRG1_PRU0_GPO12.PRG1_RGMII1_TD1 */
    			AM64X_IOPAD(0x00ec, PIN_INPUT, 2) /* (W9) PRG1_PRU0_GPO13.PRG1_RGMII1_TD2 */
    			AM64X_IOPAD(0x00f0, PIN_INPUT, 2) /* (AA9) PRG1_PRU0_GPO14.PRG1_RGMII1_TD3 */
    			AM64X_IOPAD(0x00f8, PIN_INPUT, 2) /* (V9) PRG1_PRU0_GPO16.PRG1_RGMII1_TXC */
    			AM64X_IOPAD(0x00f4, PIN_INPUT, 2) /* (Y9) PRG1_PRU0_GPO15.PRG1_RGMII1_TX_CTL */
    		>;
    	};
    	mypruicssg1rgmii2_pins_default: mypruicssg1rgmii2-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0108, PIN_INPUT, 2) /* (W11) PRG1_PRU1_GPO0.PRG1_RGMII2_RD0 */
    			AM64X_IOPAD(0x010c, PIN_INPUT, 2) /* (V11) PRG1_PRU1_GPO1.PRG1_RGMII2_RD1 */
    			AM64X_IOPAD(0x0110, PIN_INPUT, 2) /* (AA12) PRG1_PRU1_GPO2.PRG1_RGMII2_RD2 */
    			AM64X_IOPAD(0x0114, PIN_INPUT, 2) /* (Y12) PRG1_PRU1_GPO3.PRG1_RGMII2_RD3 */
    			AM64X_IOPAD(0x0120, PIN_INPUT, 2) /* (U11) PRG1_PRU1_GPO6.PRG1_RGMII2_RXC */
    			AM64X_IOPAD(0x0118, PIN_INPUT, 2) /* (W12) PRG1_PRU1_GPO4.PRG1_RGMII2_RX_CTL */
    			AM64X_IOPAD(0x0134, PIN_INPUT, 2) /* (AA10) PRG1_PRU1_GPO11.PRG1_RGMII2_TD0 */
    			AM64X_IOPAD(0x0138, PIN_INPUT, 2) /* (V10) PRG1_PRU1_GPO12.PRG1_RGMII2_TD1 */
    			AM64X_IOPAD(0x013c, PIN_INPUT, 2) /* (U10) PRG1_PRU1_GPO13.PRG1_RGMII2_TD2 */
    			AM64X_IOPAD(0x0140, PIN_INPUT, 2) /* (AA11) PRG1_PRU1_GPO14.PRG1_RGMII2_TD3 */
    			AM64X_IOPAD(0x0148, PIN_INPUT, 2) /* (Y10) PRG1_PRU1_GPO16.PRG1_RGMII2_TXC */
    			AM64X_IOPAD(0x0144, PIN_INPUT, 2) /* (Y11) PRG1_PRU1_GPO15.PRG1_RGMII2_TX_CTL */
    		>;
    	};
    };
    
    

    另请参阅 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1465616/faq-what-ethernet-pinmux-combinations-are-valid-on-am64x-processors 、了解 AM64x 上以太网引脚多路复用组合的一些其他限制。

    如果您有任何后续问题、请告知我们。

    -道林

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

    您好、TI:

    感谢您的答复、抱歉耽误您的时间。

    我们有2个  CPSW 和3个 PRU_ICSSG 要求、我们的计划是用作2个 CPSW、2个 ICSSG0和1个 ICSSG1。

    另一个查询、

    在示例中显示的引脚多路复用中、ICSS 的所有 TX 引脚都配置为输入引脚、而在数据表中、它是输出引脚类型。 您能不能就此提供一些信息?

    谢谢!

    Prathibha

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

    您好、Prathibha:

    我们有2个  CPSW 和3个 PRU_ICSSG 要求、我们的计划是使用2个 CPSW、2个 ICSSG0和1个 ICSSG1。

    感谢您的分享。 您应该使用我之前提到的 TI 系统配置(SysConfig)工具来仔细检查此配置是否不会导致 pinmux 冲突。

    在示例所示的引脚多路复用中、ICSS 的所有 TX 引脚均配置为输入引脚、而数据表中的所有 TX 引脚均配置为输出引脚类型。 您能否提供一些有关这方面的信息。

    感谢您提醒我们注意这一点、我看到即使在 TMDS64EVM 的默认 DTS 上、ICSSG1 TX 引脚也配置为输入类型。 据我所知、ICSSG1 TX 引脚的功能没有遇到任何特定问题。 但是、我还需要在内部检查为什么选择这种引脚模式。

    如果我在星期四之前尚未回复更新、请再次 ping 此线程。

    -道林

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

    您好、TI:

     ICSSG 引脚多路复用的任何更新都担心我们提出的问题  

    谢谢!

    Prathibha

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

    您好、Prathibha、  

    感谢这个提醒。 我尚未在内部听到关于为什么将 TX 引脚配置为 PIN_INPUT 类型的信息。 我已再次提出要求、并将在收到更多信息后立即回复更新。 如果将 TX 引脚配置更改为预期的 PIN_OUTPUT 类型、您是否看到以太网传输有任何问题?

    -道林