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.

[参考译文] DRA821U:如何将 CPSWng 与 u-boot 结合使用

Guru**** 2468610 points
Other Parts Discussed in Thread: J7200XSOMXEVM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1468122/dra821u-how-to-use-cpswng-with-u-boot

器件型号:DRA821U
Thread 中讨论的其他器件:J7200XSOMXEVM

工具与软件:

大家好、团队成员:

我们 已根据 J7200XSOMXEVM 参考设计设计设计了定制电路板。

我们正在使用 PROCESSOR-SDK-LINUX-RT J7200(10.00.07.03)为定制电路板开发软件。

定制电路板使用三个以太网端口:CPSW2g (MCU-RMII1)和 CPSWng (RGMII2、RGMII3)。

我们希望在 u-boot 中使用 RGMII2通过 TFTP 通过 NFS 引导、但无法识别 RGMII2。

器件树中与 CPSWng 相关的设置写在下面。

	ethernet1_pins_default: ethernet1-default-pins {
		pinctrl-single,pins = <
			J721E_IOPAD(0x4c, PIN_INPUT, 4) /* (V19) MCAN5_RX.RGMII3_RD0 */
			J721E_IOPAD(0x50, PIN_INPUT, 4) /* (T13) MCAN6_TX.RGMII3_RD1 */
			J721E_IOPAD(0x54, PIN_INPUT, 4) /* (U14) MCAN6_RX.RGMII3_RD2 */
			J721E_IOPAD(0x58, PIN_INPUT, 4) /* (U16) MCAN7_TX.RGMII3_RD3 */
			J721E_IOPAD(0x48, PIN_INPUT, 4) /* (V21) MCAN5_TX.RGMII3_RXC */
			J721E_IOPAD(0x5c, PIN_INPUT, 4) /* (U15) MCAN7_RX.RGMII3_RX_CTL */
			J721E_IOPAD(0x60, PIN_OUTPUT, 4) /* (T15) MCAN8_TX.RGMII3_TD0 */
			J721E_IOPAD(0x64, PIN_OUTPUT, 4) /* (U19) MCAN8_RX.RGMII3_TD1 */
			J721E_IOPAD(0x68, PIN_OUTPUT, 4) /* (T14) MCAN9_TX.RGMII3_TD2 */
			J721E_IOPAD(0x6c, PIN_OUTPUT, 4) /* (U18) MCAN9_RX.RGMII3_TD3 */
			J721E_IOPAD(0x74, PIN_OUTPUT, 4) /* (U20) MCAN10_RX.RGMII3_TXC */
			J721E_IOPAD(0x70, PIN_OUTPUT, 4) /* (U17) MCAN10_TX.RGMII3_TX_CTL */
		>;
	};

	ethernet0_pins_default: ethernet0-default-pins {
		pinctrl-single,pins = <
			J721E_IOPAD(0x7c, PIN_INPUT, 4) /* (Y13) MCAN11_RX.RGMII2_RD0 */
			J721E_IOPAD(0x80, PIN_INPUT, 4) /* (AA15) MCAN12_TX.RGMII2_RD1 */
			J721E_IOPAD(0x84, PIN_INPUT, 4) /* (AA14) MCAN12_RX.RGMII2_RD2 */
			J721E_IOPAD(0x88, PIN_INPUT, 4) /* (AA18) MCAN13_TX.RGMII2_RD3 */
			J721E_IOPAD(0x78, PIN_INPUT, 4) /* (Y14) MCAN11_TX.RGMII2_RXC */
			J721E_IOPAD(0x8c, PIN_INPUT, 4) /* (AA16) MCAN13_RX.RGMII2_RX_CTL */
			J721E_IOPAD(0x90, PIN_OUTPUT, 4) /* (W17) MCAN15_TX.RGMII2_TD0 */
			J721E_IOPAD(0x94, PIN_OUTPUT, 4) /* (W20) MCAN15_RX.RGMII2_TD1 */
			J721E_IOPAD(0x98, PIN_OUTPUT, 4) /* (V14) UART2_RXD.RGMII2_TD2 */
			J721E_IOPAD(0x9c, PIN_OUTPUT, 4) /* (V13) UART2_TXD.RGMII2_TD3 */
			J721E_IOPAD(0x28, PIN_OUTPUT, 4) /* (W21) MCAN1_TX.RGMII2_TXC */
			J721E_IOPAD(0xa0, PIN_OUTPUT, 4) /* (U12) GPIO0_41.RGMII2_TX_CTL */
		>;
	};

	dp83867_mdio_pins_default: dp83867-mdio-default-pins {
		pinctrl-single,pins = <
			J721E_IOPAD(0xa8, PIN_OUTPUT, 5) /* (W19) UART8_TXD.MDIO0_MDC */
			J721E_IOPAD(0xa4, PIN_INPUT, 5) /* (W14) UART8_RXD.MDIO0_MDIO */
		>;
	};

	&cpsw0 {
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <&ethernet0_pins_default>, <&ethernet1_pins_default>;
	};

	&cpsw0_port2 {
		status = "okay";
		phy-mode = "rgmii-rxid";
		phy-handle = <&cpsw5g_phy0>;
	};

	&cpsw0_port3 {
		status = "okay";
		phy-mode = "rgmii-rxid";
	};

	&cpsw5g_mdio {
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <&dp83867_mdio_pins_default>;

		cpsw5g_phy0: ethernet0-phy@0 {
			reg = <0>;
			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
			ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
			ti,min-output-impedance;
		};
	};

u-boot 中包含的 cpsw 驱动程序(ti-u-boot-2024.04+git/drivers/net/ti/am65-cpsw-nuss.c)不包含"ti、j721e-cpswxg-nuss"的任何描述、但是否可以将 CPSWng 与 u-boot 一起使用?

如果可能、您能告诉我如何设置它吗?

此致、

Mizutani

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

    您好!

    可以、可以为 u-boot 设置 CPSWnG。

    以下文件中的器件树更改可用作参考。

    e2e.ti.com/.../Serded2_5F00_cps9g_5F00_SGMII_5F00_u_2D00_boot_5F00_J784s4_5F00_08_5F00_06_5F00_00_5F00_12.zip

    请忽略这些文件中的串行器/解串器更改。

    我没有 j7200 SDK 10.0补丁集。 如果您遇到相关问题、请告诉我。

    此致、
    Tanmay  

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

    您好!

    根据提供的信息、我们修改了该计划、并能够确认该计划认可 CPSWng。

    am65_cpsw_nuss ethernet@c000000: K3 CPSW: nuss_ver: 0x6BA02102 cpsw_ver: 0x6BA82102 ale_ver: 0x00294104 Ports:4
    Net:
    Warning: ethernet@c000000port@2 (eth1) using random MAC address - 52:35:73:d2:3b:af
    eth1: ethernet@c000000port@2
    348 bytes read in 2 ms (169.9 KiB/s)
    Loaded environment from MicroSD
    Hit any key to stop autoboot:  0
    => net list
    eth1 : ethernet@c000000port@2 52:35:73:d2:3b:af active

    但是、当我分配 IP 地址并使用 ping 进行检查时、它无法正常工作。

    => setenv ipaddr 192.168.22.111
    => ping 192.168.22.1
    k3-navss-ringacc ringacc@3c000000: Ring Accelerator probed rings:1024, gp-rings[120,200] sci-dev-id:211
    k3-navss-ringacc ringacc@3c000000: dma-ring-reset-quirk: disabled
    am65_cpsw_nuss_port ethernet@c000000port@2: K3 CPSW: rflow_id_base: 4
    ethernet@c000000port@2 Waiting for PHY auto negotiation to complete......... TIMEOUT !
    am65_cpsw_nuss_port ethernet@c000000port@2: phy_startup failed
    am65_cpsw_nuss_port ethernet@c000000port@2: am65_cpsw_start end error
    ping failed; host 192.168.22.1 is not alive

    使用 MII 和 MDIO 获取的 DP83867寄存器的内容如下所示。

    0 - 0x1140
    1 - 0x7949
    2 - 0x2000
    3 - 0xa231
    4 - 0x1e1
    5 - 0x0
    6 - 0x64
    7 - 0x2001
    8 - 0x0
    9 - 0x300
    10 - 0x0
    11 - 0x0
    12 - 0x0
    13 - 0x401f
    14 - 0xc1f
    15 - 0x3000
    16 - 0x5048
    17 - 0x302
    18 - 0x0
    19 - 0x40
    20 - 0x29c7
    21 - 0x0
    22 - 0x0
    23 - 0x40
    24 - 0x6150
    25 - 0x4040

    我可以采取什么措施来跟踪原因?

    此致、

    Mizutani

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

    您好!

    让我将寄存器与我的设置进行比较、然后返回给您。

    此致、
    Tanmay

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

    您好!

    我们在 DP83867的自举配置中发现了错误。

    更正 strap 配置后、我们能够确认 Ping 已通过。

    感谢您的帮助。

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

    好消息…

    我正在关闭 TT。 如果您想再次重新打开此 TT、请回复。

    此致、
    Tanmay