imx6q-nitrogen6x DTS error "FEC: can't find phy-handle" from u-boot

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

imx6q-nitrogen6x DTS error "FEC: can't find phy-handle" from u-boot

Jump to solution
968 Views
yocto_newbee
Contributor I

Hi Dear,

Thank you for any help. I am getting "FEC: can't find phy-handle" error

When I take a look at dts file, I already have definition of phy-handle but my u-boot was unable to pick it up the definition. My imx6q-nitrogen6x.dts has fec from two dtsi file one from imx6qdl.dtsi and one from imx6qdl-sabrelite.dtsi and imx6qdl-sabrelite.dtsi has phy-handle. but my u-boot was unable to find the phy-handle. could you please let me know how to fix following error?

=> fdt print ethernet0 // I don't see phy-handle from uboot.
ethernet@02188000 {
             compatible = "fsl,imx6q-fec";
             reg = <0x02188000 0x00004000>;
             interrupts-extended = <0x00000001 0x00000000 0x00000076 0x00000004 0x000 00001 0x00000000 0x00000077 0x00000004>;
             clocks = <0x00000002 0x00000075 0x00000002 0x00000075 0x00000002 0x00000 0be>;
             clock-names = "ipg", "ahb", "ptp";
             stop-mode = <0x00000004 0x00000034 0x0000001b>;
             fsl,wakeup_irq = <0x00000000>;
             status = "okay";
             pinctrl-names = "default";
             pinctrl-0 = <0x0000002d>;
             phy-mode = "rgmii";
};

My dts & dtsi define like below.

>>> imx6q-nitrogen6x.dts

#include "imx6q.dtsi"

  ---> #include "imx6qdl.dtsi"

        --->   aliases {
                              ethernet0 = &fec;

                              fec: ethernet@02188000 {
                                                   compatible = "fsl,imx6q-fec";
                                                   reg = <0x02188000 0x4000>;
                                                   interrupts-extended =
                                                                    <&gpc 0 118 IRQ_TYPE_LEVEL_HIGH>,
                                                                    <&gpc 0 119 IRQ_TYPE_LEVEL_HIGH>;
                                                    clocks = <&clks IMX6QDL_CLK_ENET>,
                                                                  <&clks IMX6QDL_CLK_ENET>,
                                                                 <&clks IMX6QDL_CLK_ENET_REF>;
                                                    clock-names = "ipg", "ahb", "ptp";
                                                    stop-mode = <&gpr 0x34 27>;
                                                    fsl,wakeup_irq = <0>;
                                                    status = "disabled";
                                   };

 

#include "imx6qdl-nitrogen6x.dtsi"

         &fec {

        };

>>>> #include "imx6qdl-sabrelite.dtsi"

        &fec {
                 phy-handle = <&ethphy1>;
                 phy-mode = "rgmii";
                 phy-reset-gpios = GP_ENET_PHY_RESET;
                 pinctrl-names = "default";
                 pinctrl-0 = <&pinctrl_enet>;
                 rxc-skew-ps = <3000>;
                 rxd0-skew-ps = <0>;
                 rxd1-skew-ps = <0>;
                 rxd2-skew-ps = <0>;
                 rxd3-skew-ps = <0>;
                 rxdv-skew-ps = <0>;
                 status = "okay";
                 txc-skew-ps = <3000>;
                 txd0-skew-ps = <0>;
                 txd1-skew-ps = <0>;
                 txd2-skew-ps = <0>;
                 txd3-skew-ps = <0>;
                 txen-skew-ps = <0>;

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

                                  ethphy1: ethernet-phy@1 {
                                                   interrupts-extended = GPIRQ_ENET_PHY;
                                                   reg = <0x3>;
                                  };
                 };
};

 

thank you.

Labels (2)
0 Kudos
Reply
1 Solution
926 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

The node contains phy-handle may be covered by other dtsi. You can try different include sequences or move the node to imx6q-nitrogen6x.dts

View solution in original post

0 Kudos
Reply
2 Replies
872 Views
yocto_newbee
Contributor I

thank you for support. I was able to figure it out the solution.

0 Kudos
Reply
927 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

The node contains phy-handle may be covered by other dtsi. You can try different include sequences or move the node to imx6q-nitrogen6x.dts

0 Kudos
Reply