imx6ul: Recent enet refclock changes breaks custom i.mx6ull board

Stefan Wahren stefan.wahren at i2se.com
Mon Mar 6 01:13:57 PST 2023


Hi Oleksij,

Am 06.03.23 um 06:25 schrieb Oleksij Rempel:
> Hi Stefan,
>
> On Sun, Mar 05, 2023 at 11:16:17PM +0100, Stefan Wahren wrote:
>> Hi,
>>
>> we planned to submit our custom i.MX6ULL board [1] to mainline after release
>> of Linux 6.3-rc1, but the recent enet refclock changes breaks our Ethernet
>> phy:
>>
>> [    0.000000] imx:clk-gpr-mux: failed to get parent (-EINVAL)
>>
>> ...
>>
>> [   18.574595] SMSC LAN8710/LAN8720 2188000.ethernet-1:00: phy_poll_reset
>> failed: -110
>> [   18.581064] fec 2188000.ethernet eth0: Unable to connect to phy
>>
>> I narrow down the PHY issue to this first bad commit:
>>
>> 5f82bfced611 ("clk: imx6ul: fix enet1 gate configuration")
>>
>> The clock issues seems to be cause by the following commit. If i revert
>> 5f82bfced611 and 4e197ee880c24 or use Linux 6.2 everything is fine.
> It looks like in your kernel version are some missing patches. Can you please
> rebase your patches on top of this branch:
> https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git/log/?h=for-next

thanks for your fast reply. But i rebased my patches against Linux 
v6.3-rc1 since this was released yesterday and should contain all 
patches from Shawn. I also changed the clockref in my DTSI file:

https://github.com/chargebyte/linux/commits/v6.3-tarragon-v3

Now the PHY issue disappeared and ethernet is working, but the

imx:clk-gpr-mux: failed to get parent (-EINVAL)

is still there.

> and please rename IMX6UL_CLK_ENET_REF to IMX6UL_CLK_ENET1_REF_SEL in
> your dtsi.

Yes, this seems to be the issue in my case.

Does this mean a Linux 6.3 kernel doesn't work with a i.MX6ULL Linux 6.2 
devicetree?
So there is no fallback?

What about these other dtsi in Linux 6.3rc-1?

$ grep IMX6UL_CLK_ENET_REF *
imx6ul-14x14-evk.dtsi:            clocks = <&clks IMX6UL_CLK_ENET_REF>;
..
imx6ul-kontron-bl-common.dtsi:            clocks = <&clks 
IMX6UL_CLK_ENET_REF>;
imx6ul-kontron-sl-common.dtsi:            clocks = <&clks 
IMX6UL_CLK_ENET_REF>;
imx6ull-dhcom-picoitx.dts:            clocks = <&clks IMX6UL_CLK_ENET_REF>;
imx6ull-dhcom-som.dtsi:            clocks = <&clks IMX6UL_CLK_ENET_REF>;
imx6ull-jozacp.dts:            clocks = <&clks IMX6UL_CLK_ENET_REF>;
imx6ull-myir-mys-6ulx.dtsi:            clocks = <&clks IMX6UL_CLK_ENET_REF>;
imx6ul-phytec-phycore-som.dtsi:            clocks = <&clks 
IMX6UL_CLK_ENET_REF>;
mba6ulx.dtsi:            clocks = <&clks IMX6UL_CLK_ENET_REF>;

>
> Regards,
> Oleksij



More information about the linux-arm-kernel mailing list