Hi All,
We are using i.Mx7D processor for one of our custom project and it is running with Linux kernel ver 5.10. We are using Micrel KSZ8041 phy and we are facing issues in bringing up the ethernet in uboot.
The mdio list commands lists the phy name but pinging is failing and we are not seeing 50Mhz clock (We are not seeing any clock).
I am copying my device tree changes here
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec &pinctrl_fec1_reset>;
phy-reset-gpios = <&gpio2 31 GPIO_ACTIVE_LOW>;
clocks = <&clks IMX7D_ENET_AXI_ROOT_CLK>,
<&clks IMX7D_ENET1_TIME_ROOT_CLK>,
<&clks IMX7D_PLL_ENET_MAIN_50M_CLK>,
<&clks IMX7D_ENET1_REF_ROOT_CLK>;
clock-names = "ipg", "ahb", "ptp", "enet_clk_ref","enet_out";
assigned-clocks = <&clks IMX7D_ENET1_TIME_ROOT_SRC>,
<&clks IMX7D_ENET1_TIME_ROOT_CLK>;
assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_50M_CLK>;
assigned-clock-rates = <0>,<50000000>,<100000000>;
assigned-clock-rates = <50000000>;
ref-clock = <50000000>;
phy-mode = "rmii";
phy-handle = <ðphy0>;
fsl,magic-packet;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
micrel,led-mode = <1>;
};
};
};
pinctrl_fec: fecgrp {
fsl,pins = <
MX7D_PAD_GPIO1_IO10__ENET1_MDIO 0x3
MX7D_PAD_SD2_WP__ENET1_MDC 0x3
MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x73
MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x73
MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x73
MX7D_PAD_ENET1_RGMII_RXC__ENET1_RX_ER 0x73
MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x73
MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x73
MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x73
MX7D_PAD_ENET1_TX_CLK__CCM_ENET_REF_CLK1 0x73
MX7D_PAD_EPDC_PWR_COM__GPIO2_IO30 0x00
>;
};
I am also attaching the phy signals mapping to i.Mx signals.
Please check the connection and verify the dts changes and help me to resolve the issue.
Thanks & Regards,
Sharmila