IMX93 custom board ethernet dts changes

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX93 custom board ethernet dts changes

Jump to solution
1,029 Views
vijay1251
Contributor II

we are using imx93 where the 2 ethernet port lines are connected to  2 DP83867ERGZT 
give the proper dts changes for custom board , where reset pin we are using for gpio2_io09 and gpio2_io10 

#imx93

#DP83867ERGZT

0 Kudos
Reply
1 Solution
853 Views
vijay1251
Contributor II

hi joseph,

The below dts node changes is working fine in custom.
 

&eqos {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eqos>;
phy-mode = "rgmii-id";
phy-handle = <&ethphy_eqos>;
status = "okay";

mdio {
compatible = "snps,dwmac-mdio";
#address-cells = <1>;
#size-cells = <0>;

ethphy_eqos: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eqos_phy>;
interrupt-parent = <&gpi:wqo3>;
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&expander1 0 GPIO_ACTIVE_LOW>;
reset-assert-us = <500000>;
reset-deassert-us = <50000>;
enet-phy-lane-no-swap;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,dp83867-rxctrl-strap-quirk;
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
};
};
};

 

&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec>;
phy-mode = "rgmii-id";
phy-handle = <&ethphy_fec>;
fsl,magic-packet;
status = "okay";

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

ethphy_fec: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec_phy>;
interrupt-parent = <&gpio3>;
interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&expander1 1 GPIO_ACTIVE_LOW>;
reset-assert-us = <500000>;
reset-deassert-us = <50000>;
enet-phy-lane-no-swap;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,dp83867-rxctrl-strap-quirk;
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
};
};
};

#imx93 #dp38367 

View solution in original post

3 Replies
910 Views
JosephAtNXP
NXP TechSupport
NXP TechSupport

Hi,

Thank you for your interest in NXP Semiconductor products,

First step is to confirm that your pin group matches EVK/FRDM so you can copy their pin group and pad configuration, if you are using RGMII most of the group will be reused.

Another important key is to know your MDIO topology, EVK/FRDM uses two MDIO buses to manage one PHY, if you used one bus to manage both, you will need to change DTS,

For module and PHY DTS, I can suggest this:

&eqos {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&pinctrl_eqos>;
	pinctrl-1 = <&pinctrl_eqos_sleep>;
	phy-mode = "rgmii-id";
// Depends on your PHY address
	phy-handle = <&ethphy1>;
	status = "okay";

	mdio {
		compatible = "snps,dwmac-mdio";
		#address-cells = <1>;
		#size-cells = <0>;
		clock-frequency = <5000000>;

// Depends on your PHY address
		ethphy1: ethernet-phy@1 {
			reg = <1>;
                        eee-broken-1000t;
			reset-gpios = <&gpio 2 9 GPIO_ACTIVE_LOW>;
			reset-assert-us = <10000>;
			reset-deassert-us = <80000>;
		};
	};
};

&fec {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&pinctrl_fec>;
	pinctrl-1 = <&pinctrl_fec_sleep>;
	phy-mode = "rgmii-id";
	phy-handle = <&ethphy2>;
	fsl,magic-packet;
	status = "okay";

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

		ethphy2: ethernet-phy@2 {
                        compatible = "ethernet-phy-ieee802.3-c22";
			reg = <2>;
			eee-broken-1000t;
			reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
			reset-assert-us = <10000>;
			reset-deassert-us = <80000>;
		};
	};
};

Regards

0 Kudos
Reply
854 Views
vijay1251
Contributor II

hi joseph,

The below dts node changes is working fine in custom.
 

&eqos {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eqos>;
phy-mode = "rgmii-id";
phy-handle = <&ethphy_eqos>;
status = "okay";

mdio {
compatible = "snps,dwmac-mdio";
#address-cells = <1>;
#size-cells = <0>;

ethphy_eqos: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eqos_phy>;
interrupt-parent = <&gpi:wqo3>;
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&expander1 0 GPIO_ACTIVE_LOW>;
reset-assert-us = <500000>;
reset-deassert-us = <50000>;
enet-phy-lane-no-swap;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,dp83867-rxctrl-strap-quirk;
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
};
};
};

 

&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec>;
phy-mode = "rgmii-id";
phy-handle = <&ethphy_fec>;
fsl,magic-packet;
status = "okay";

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

ethphy_fec: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec_phy>;
interrupt-parent = <&gpio3>;
interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&expander1 1 GPIO_ACTIVE_LOW>;
reset-assert-us = <500000>;
reset-deassert-us = <50000>;
enet-phy-lane-no-swap;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,dp83867-rxctrl-strap-quirk;
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
};
};
};

#imx93 #dp38367 

985 Views
vijay1251
Contributor II
Hi jikehal
Thanks for your response.
I expect some reference node details.I didn't expect this kind of reply. May be you can say things in polite way.
0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2320962%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX93%20custom%20board%20ethernet%20dts%20changes%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2320962%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ewe%20are%20using%20imx93%20where%20the%202%20ethernet%20port%20lines%20are%20connected%20to%26nbsp%3B%202%20DP83867ERGZT%26nbsp%3B%3CBR%20%2F%3Egive%20the%20proper%20dts%20changes%20for%20custom%20board%20%2C%20where%20reset%20pin%20we%20are%20using%20for%20gpio2_io09%20and%20gpio2_io10%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E%23imx93%3C%2FP%3E%3CP%3E%23DP83867ERGZT%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2321490%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX93%20custom%20board%20ethernet%20dts%20changes%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2321490%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3EThank%20you%20for%20your%20interest%20in%20NXP%20Semiconductor%20products%2C%3C%2FP%3E%0A%3CP%3EFirst%20step%20is%20to%20confirm%20that%20your%20pin%20group%20matches%20EVK%2FFRDM%20so%20you%20can%20copy%20their%20pin%20group%20and%20pad%20configuration%2C%20if%20you%20are%20using%20RGMII%20most%20of%20the%20group%20will%20be%20reused.%3C%2FP%3E%0A%3CP%3EAnother%20important%20key%20is%20to%20know%20your%20MDIO%20topology%2C%20EVK%2FFRDM%20uses%20two%20MDIO%20buses%20to%20manage%20one%20PHY%2C%20if%20you%20used%20one%20bus%20to%20manage%20both%2C%20you%20will%20need%20to%20change%20DTS%2C%3C%2FP%3E%0A%3CP%3EFor%20module%20and%20PHY%20DTS%2C%20I%20can%20suggest%20this%3A%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3E%26amp%3Beqos%20%7B%0A%09pinctrl-names%20%3D%20%22default%22%2C%20%22sleep%22%3B%0A%09pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_eqos%26gt%3B%3B%0A%09pinctrl-1%20%3D%20%26lt%3B%26amp%3Bpinctrl_eqos_sleep%26gt%3B%3B%0A%09phy-mode%20%3D%20%22rgmii-id%22%3B%0A%2F%2F%20Depends%20on%20your%20PHY%20address%0A%09phy-handle%20%3D%20%26lt%3B%26amp%3Bethphy1%26gt%3B%3B%0A%09status%20%3D%20%22okay%22%3B%0A%0A%09mdio%20%7B%0A%09%09compatible%20%3D%20%22snps%2Cdwmac-mdio%22%3B%0A%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%09%09clock-frequency%20%3D%20%26lt%3B5000000%26gt%3B%3B%0A%0A%2F%2F%20Depends%20on%20your%20PHY%20address%0A%09%09ethphy1%3A%20ethernet-phy%401%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20eee-broken-1000t%3B%0A%09%09%09reset-gpios%20%3D%20%26lt%3B%26amp%3Bgpio%202%209%20GPIO_ACTIVE_LOW%26gt%3B%3B%0A%09%09%09reset-assert-us%20%3D%20%26lt%3B10000%26gt%3B%3B%0A%09%09%09reset-deassert-us%20%3D%20%26lt%3B80000%26gt%3B%3B%0A%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Bfec%20%7B%0A%09pinctrl-names%20%3D%20%22default%22%2C%20%22sleep%22%3B%0A%09pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_fec%26gt%3B%3B%0A%09pinctrl-1%20%3D%20%26lt%3B%26amp%3Bpinctrl_fec_sleep%26gt%3B%3B%0A%09phy-mode%20%3D%20%22rgmii-id%22%3B%0A%09phy-handle%20%3D%20%26lt%3B%26amp%3Bethphy2%26gt%3B%3B%0A%09fsl%2Cmagic-packet%3B%0A%09status%20%3D%20%22okay%22%3B%0A%0A%09mdio%20%7B%0A%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%09%09clock-frequency%20%3D%20%26lt%3B5000000%26gt%3B%3B%0A%0A%09%09ethphy2%3A%20ethernet-phy%402%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20compatible%20%3D%20%22ethernet-phy-ieee802.3-c22%22%3B%0A%09%09%09reg%20%3D%20%26lt%3B2%26gt%3B%3B%0A%09%09%09eee-broken-1000t%3B%0A%09%09%09reset-gpios%20%3D%20%26lt%3B%26amp%3Bgpio2%2010%20GPIO_ACTIVE_LOW%26gt%3B%3B%0A%09%09%09reset-assert-us%20%3D%20%26lt%3B10000%26gt%3B%3B%0A%09%09%09reset-deassert-us%20%3D%20%26lt%3B80000%26gt%3B%3B%0A%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3ERegards%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2321017%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX93%20custom%20board%20ethernet%20dts%20changes%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2321017%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHi%20jikehal%3CBR%20%2F%3EThanks%20for%20your%20response.%3CBR%20%2F%3EI%20expect%20some%20reference%20node%20details.I%20didn't%20expect%20this%20kind%20of%20reply.%20May%20be%20you%20can%20say%20things%20in%20polite%20way.%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2320990%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX93%20custom%20board%20ethernet%20dts%20changes%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2320990%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EIsn't%20this%20the%20job%20you're%20supposed%20to%20do%3F%20I'm%20ashamed%20of%20you%20as%20an%20engineer.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2325417%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX93%20custom%20board%20ethernet%20dts%20changes%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2325417%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ehi%20joseph%2C%3C%2FP%3E%3CP%3EThe%20below%20dts%20node%20changes%20is%20working%20fine%20in%20custom.%3CBR%20%2F%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26amp%3Beqos%20%7B%3CBR%20%2F%3Epinctrl-names%20%3D%20%22default%22%3B%3CBR%20%2F%3Epinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_eqos%26gt%3B%3B%3CBR%20%2F%3Ephy-mode%20%3D%20%22rgmii-id%22%3B%3CBR%20%2F%3Ephy-handle%20%3D%20%26lt%3B%26amp%3Bethphy_eqos%26gt%3B%3B%3CBR%20%2F%3Estatus%20%3D%20%22okay%22%3B%3C%2FP%3E%3CP%3Emdio%20%7B%3CBR%20%2F%3Ecompatible%20%3D%20%22snps%2Cdwmac-mdio%22%3B%3CBR%20%2F%3E%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%3CBR%20%2F%3E%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%3C%2FP%3E%3CP%3Eethphy_eqos%3A%20ethernet-phy%400%20%7B%3CBR%20%2F%3Ecompatible%20%3D%20%22ethernet-phy-ieee802.3-c22%22%3B%3CBR%20%2F%3Ereg%20%3D%20%26lt%3B0%26gt%3B%3B%3CBR%20%2F%3Epinctrl-names%20%3D%20%22default%22%3B%3CBR%20%2F%3Epinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_eqos_phy%26gt%3B%3B%3CBR%20%2F%3Einterrupt-parent%20%3D%20%26lt%3B%26amp%3Bgpi%3Awqo3%26gt%3B%3B%3CBR%20%2F%3Einterrupts%20%3D%20%26lt%3B26%20IRQ_TYPE_EDGE_FALLING%26gt%3B%3B%3CBR%20%2F%3Ereset-gpios%20%3D%20%26lt%3B%26amp%3Bexpander1%200%20GPIO_ACTIVE_LOW%26gt%3B%3B%3CBR%20%2F%3Ereset-assert-us%20%3D%20%26lt%3B500000%26gt%3B%3B%3CBR%20%2F%3Ereset-deassert-us%20%3D%20%26lt%3B50000%26gt%3B%3B%3CBR%20%2F%3Eenet-phy-lane-no-swap%3B%3CBR%20%2F%3Eti%2Crx-internal-delay%20%3D%20%3CDP83867_RGMIIDCTL_2_25_NS%3E%3B%3CBR%20%2F%3Eti%2Ctx-internal-delay%20%3D%20%3CDP83867_RGMIIDCTL_2_25_NS%3E%3B%3CBR%20%2F%3Eti%2Cfifo-depth%20%3D%20%3CDP83867_PHYCR_FIFO_DEPTH_4_B_NIB%3E%3B%3CBR%20%2F%3Eti%2Cdp83867-rxctrl-strap-quirk%3B%3CBR%20%2F%3Eti%2Cclk-output-sel%20%3D%20%3CDP83867_CLK_O_SEL_OFF%3E%3B%3CBR%20%2F%3E%7D%3B%3CBR%20%2F%3E%7D%3B%3CBR%20%2F%3E%7D%3B%3C%2FDP83867_CLK_O_SEL_OFF%3E%3C%2FDP83867_PHYCR_FIFO_DEPTH_4_B_NIB%3E%3C%2FDP83867_RGMIIDCTL_2_25_NS%3E%3C%2FDP83867_RGMIIDCTL_2_25_NS%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%26amp%3Bfec%20%7B%3CBR%20%2F%3Epinctrl-names%20%3D%20%22default%22%3B%3CBR%20%2F%3Epinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_fec%26gt%3B%3B%3CBR%20%2F%3Ephy-mode%20%3D%20%22rgmii-id%22%3B%3CBR%20%2F%3Ephy-handle%20%3D%20%26lt%3B%26amp%3Bethphy_fec%26gt%3B%3B%3CBR%20%2F%3Efsl%2Cmagic-packet%3B%3CBR%20%2F%3Estatus%20%3D%20%22okay%22%3B%3C%2FP%3E%3CP%3Emdio%20%7B%3CBR%20%2F%3E%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%3CBR%20%2F%3E%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%3CBR%20%2F%3Eclock-frequency%20%3D%20%26lt%3B5000000%26gt%3B%3B%3C%2FP%3E%3CP%3Eethphy_fec%3A%20ethernet-phy%400%20%7B%3CBR%20%2F%3Ecompatible%20%3D%20%22ethernet-phy-ieee802.3-c22%22%3B%3CBR%20%2F%3Ereg%20%3D%20%26lt%3B0%26gt%3B%3B%3CBR%20%2F%3Epinctrl-names%20%3D%20%22default%22%3B%3CBR%20%2F%3Epinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_fec_phy%26gt%3B%3B%3CBR%20%2F%3Einterrupt-parent%20%3D%20%26lt%3B%26amp%3Bgpio3%26gt%3B%3B%3CBR%20%2F%3Einterrupts%20%3D%20%26lt%3B27%20IRQ_TYPE_EDGE_FALLING%26gt%3B%3B%3CBR%20%2F%3Ereset-gpios%20%3D%20%26lt%3B%26amp%3Bexpander1%201%20GPIO_ACTIVE_LOW%26gt%3B%3B%3CBR%20%2F%3Ereset-assert-us%20%3D%20%26lt%3B500000%26gt%3B%3B%3CBR%20%2F%3Ereset-deassert-us%20%3D%20%26lt%3B50000%26gt%3B%3B%3CBR%20%2F%3Eenet-phy-lane-no-swap%3B%3CBR%20%2F%3Eti%2Crx-internal-delay%20%3D%20%3CDP83867_RGMIIDCTL_2_25_NS%3E%3B%3CBR%20%2F%3Eti%2Ctx-internal-delay%20%3D%20%3CDP83867_RGMIIDCTL_2_25_NS%3E%3B%3CBR%20%2F%3Eti%2Cfifo-depth%20%3D%20%3CDP83867_PHYCR_FIFO_DEPTH_4_B_NIB%3E%3B%3CBR%20%2F%3Eti%2Cdp83867-rxctrl-strap-quirk%3B%3CBR%20%2F%3Eti%2Cclk-output-sel%20%3D%20%3CDP83867_CLK_O_SEL_OFF%3E%3B%3CBR%20%2F%3E%7D%3B%3CBR%20%2F%3E%7D%3B%3CBR%20%2F%3E%7D%3B%3C%2FDP83867_CLK_O_SEL_OFF%3E%3C%2FDP83867_PHYCR_FIFO_DEPTH_4_B_NIB%3E%3C%2FDP83867_RGMIIDCTL_2_25_NS%3E%3C%2FDP83867_RGMIIDCTL_2_25_NS%3E%3C%2FP%3E%3CP%3E%23imx93%20%23dp38367%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E