RGMII PHY with IM8QM processor (Linux)

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

RGMII PHY with IM8QM processor (Linux)

406 次查看
mahesh_hns
Contributor II

HI,

 I have a board with imx8qm processor connected to a Maxlinear PHY. The connection is as follows
IMX8QM <-- RGMII--> MaxLinear PHY <--SGMII-->

What I observe is that the PHY never goes to 1G speed (despite being explicitly set). This setup is functional in 10Mbps. When I measured the clocks TXC and RXC , both were 2.5Mhz , confirming the 10Mbs speed/connection.

Now, I have the below device tree entirees on the IMX8QM linux.

#include <dt-bindings/usb/pd.h>
#include "imx8qp.dtsi"
&fec1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_fec1>;
	phy-mode = "rgmii-txid";
	phy-handle = <&ethphy1>;
	fsl,magic-packet;
	fsl,mii-exclusive;
	nvmem-cells = <&fec_mac0>;
	nvmem-cell-names = "mac-address";
	rx-internal-delay-ps = <2000>;
	status = "okay";

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;

		ethphy1: ethernet-phy@1 {  // PHY connected to the MDIO bus
            reg = <1>; // PHY address on the MDIO bus
            compatible = "ethernet-phy-ieee802.3-c22"; // Generic PHY compatible string
            mxl,disable-autoneg = <1>; // Disable Auto negotiation
            mxl,force-speed = <1000>; //  Force speed to 1Gbps
            reset-gpios = <&lsio_gpio3 3 GPIO_ACTIVE_LOW>; // HRST pin connected to GPIO3_IO04
            status = "okay";
        };

	};
};

 My configuration requires Auto neg to be disabled and PHY speed set to 1G always.
What might I be doing wrong?

Is there a way I can force the TXC/RXC to 125Mhz?
Or is it that the MAC sets these based on the PHY configuration after reading from the PHY Standard Status registers? 
Any thoughts?

0 项奖励
回复
2 回复数

385 次查看
JosephAtNXP
NXP TechSupport
NXP TechSupport

Hi,

Thank you for your interest in NXP Semiconductor products,

Please refer to the fec example.

Remove the following properties.

fsl,mii-exclusive;
nvmem-cells = <&fec_mac0>;
nvmem-cell-names = "mac-address";
...
mxl,disable-autoneg = <1>; // Disable Auto negotiation
mxl,force-speed = <1000>; //  Force speed to 1Gbps

Used a fixed link property for not negotiating.

fixed-link {
	speed = <1000>;
	full-duplex;
};

Regards

0 项奖励
回复

367 次查看
mahesh_hns
Contributor II

I thought 'fixed-link' property is only for PHY less connection. I have a Maxlinear PHY connected (which has to load its own software driver to initialize). I am curious how fixed-link wiill help here?

0 项奖励
回复