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:J7200 SDK 10是否支持第45条 PHY?

Guru**** 2463330 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1476078/dra821u-does-j7200-sdk-10-support-clause-45-phy

器件型号:DRA821U

工具与软件:

你(们)好、

我们在使两个1000BASE-T1接口在定制电路板上正常工作时遇到了问题。 下面是这两种接口的方框图。 我还在下面附上了我们的器件树配置。 我的问题:

1. 您是否支持使用 SDK 10的第45条器件、我们看到以下文章指出 SDK 9不支持第45条?  https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1285073/dra821u-how-to-enable-cpsw5g-linux-native-ethernet-for-sgmii-rmii-on-dra821

2.如果没有、我们需要做些什么改变才能使第45条第22条生效?

我们的两个接口的器件树:

&wkup_pmx2 {
	eth1_reset_pins_default: eth1-reset-default-pins {
		pinctrl-single,pins = <
			J721E_IOPAD(0x80, PIN_INPUT, 7) /* (C20) WKUP_GPIO0_10 */
		>;
	};
};

&main_pmx0 {
	mdio0_pins_default: mdio0-default-pins {
		pinctrl-single,pins = <
			J721E_IOPAD(0x00a8, PIN_OUTPUT, 5) /* (W19) UART8_TXD.MDIO0_MDC */
			J721E_IOPAD(0x00a4, PIN_INPUT, 5) /* (W14) UART8_RXD.MDIO0_MDIO */
		>;
	};

	eth0_reset_pins_default: eth0-reset-default-pins {
		pinctrl-single,pins = <
			J721E_IOPAD(0xd0, PIN_INPUT, 7) /* (T5) SPI0_D1.GPIO0_55 */
		>;
	};
};


&serdes_ln_ctrl {
	idle-states = <J7200_SERDES0_LANE0_PCIE1_LANE0>, <J7200_SERDES0_LANE1_PCIE1_LANE1>,
		      <J7200_SERDES0_LANE2_QSGMII_LANE1>, <J7200_SERDES0_LANE3_QSGMII_LANE2>;
};


&serdes_refclk {
	clock-frequency = <100000000>;
};

&serdes0 {
	serdes0_pcie_link: phy@0 {
		reg = <0>;
		cdns,num-lanes = <2>;
		#phy-cells = <0>;
		cdns,phy-type = <PHY_TYPE_PCIE>;
		resets = <&serdes_wiz0 1>, <&serdes_wiz0 2>;
	};

	serdes0_qsgmii_link: phy@2 {
		reg = <2>;
		cdns,num-lanes = <2>;
		#phy-cells = <0>;
		cdns,phy-type = <PHY_TYPE_SGMII>;
		resets = <&serdes_wiz0 3>, <&serdes_wiz0 4>;
	};
};


&{/} {
	aliases {
		ethernet1 = "/bus@100000/ethernet@c000000/ethernet-ports/port@1";
		ethernet2 = "/bus@100000/ethernet@c000000/ethernet-ports/port@2";
		ethernet3 = "/bus@100000/ethernet@c000000/ethernet-ports/port@3";
		ethernet4 = "/bus@100000/ethernet@c000000/ethernet-ports/port@4";
	};
};

&cpsw0 {
	status = "okay";
};

&cpsw0_port1 {
	status = "okay";
	phy-handle = <&cpsw5g_phy0>;
	phy-mode = "sgmii";
	mac-address = [00 00 00 00 00 00];
	phys = <&cpsw0_phy_gmii_sel 1>, <&serdes0_qsgmii_link>;
	phy-names = "portmode", "serdes-phy";
};

&cpsw0_port2 {
	status = "okay";
	phy-handle = <&cpsw5g_phy0>;
	phy-mode = "sgmii";
	mac-address = [00 00 00 00 00 00];
	phys = <&cpsw0_phy_gmii_sel 2>, <&serdes0_qsgmii_link>;
	phy-names = "portmode", "serdes-phy";
};

&cpsw5g_mdio {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mdio0_pins_default>;
	reset-gpios = <
		&wkup_gpio0 10 GPIO_ACTIVE_LOW
		&main_gpio0 55 GPIO_ACTIVE_LOW
	>;
    reset-post-delay-us = <120000>;
	#address-cells = <1>;
	#size-cells = <0>;
	
	cpsw5g_phy0: ethernet-phy@0 {
		compatible = "ethernet-phy-ieee802.3-c45";
		reg = <0>;
	};

	cpsw5g_phy1: ethernet-phy@1 {
		compatible = "ethernet-phy-ieee802.3-c45";
		reg = <1>;
	};

};

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

    您的问题最初已 分配给 Doredla

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

    您好!

    Unknown 说:
    1.  您是否支持使用 SDK 10的第45条器件、我们看到以下文章指出 SDK 不支持第45条

    MDIO 配置为手动模式、因此、MDIO 事务是通过 MDIO 位拆模块进行的。
    该协议还支持 C45读取/写入。

    器件树中添加的兼容字符串足以启用 C45访问。
    compatible ="以太网-phy-IEEE802.3-c45";

    此外、确保 PHY 驱动程序也支持 C45操作。

    此致、
    Sudheer

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

    尊敬的 Sudheer:

    感谢您的答复。

    如何在器件树中指定 PHY 驱动程序?

    我想当我们在中指定兼容性时、我们会自动使用通用 PHY 驱动程序  

    兼容="ethernet-phy-IEEE802.3-c45";

    我的理解是否正确? 或者、我们是否需要指定更多内容以及这些内容是什么? 我们知道、要使用芯片的全套功能集、我们需要为 BCM89885使用特定的 PHY 驱动程序、但现在我们只想启动接口并开始发送/接收以太网流量。

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

    您好!

    如何在设备树中指定 PHY 驱动程序?

    PHY 驱动程序将根据物理 PHY 的 PHY ID 进行探测、而不是根据器件树配置进行探测。

    我想当我们在中指定兼容性时、我们会自动使用通用 PHY 驱动程序  

    compatible ="以太网-phy-IEEE802.3-c45";
    [报价]

    否、如果没有找到器件 PHYID 的 PHY 驱动程序、则将使用默认的通用 PHY 驱动程序。

    上述是兼容属性、用于指定 PHY 是可访问的 C45。

    [报价 userid="627843" url="~/support/processors-group/processors/f/processors-forum/1476078/dra821u-does-j7200-sdk-10-support-clause-45-phy/5667284 #5667284"]我们知道为了使用芯片的全套功能集、我们需要特定的 BCM89885 PHY 驱动程序、但现在我们只想启动接口并开始发送/接收以太网流量。[/QUOT]

    如果开关需要任何配置来运行驱动器。
    请与 PHY 供应商联系。

    此致、
    Sudheer

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

    您好!

    您能否如下所示更改 PHY 名称并进行一次检查。

    - phy-names ="portmode"、"Serdes-phy";
    + phy-names ="portmode"、"SerDes";

    此致、
    Sudheer

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

    我们更改了 phy 名称、但它没有区别。
    我们有 u-boot、并已从 u-boot 器件树中删除串行器/解串器配置。

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

    您好!

    我们更改了 phy-name、但没有区别。
    我们有 u-boot、并已从 u-boot 器件树中删除串行器/解串器配置。[/QUOT]

    您能否共享启动日志和以下串行器/解串器寄存器?

    我建议使用新螺纹、因为它偏离了螺纹标题。

    此致、
    Sudheer