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