lkml.org 
[lkml]   [2019]   [Nov]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] arm64: defconfig: Change CONFIG_AT803X_PHY from m to y
From
Date
On 27/11/2019 13:46, Oliver Graute wrote:

> On 27/11/19, Marc Gonzalez wrote:
>
>> On 26/11/2019 15:54, Oliver Graute wrote:
>>
>>> this patch broke my imx8qm nfs setup. With the generic phy driver my
>>> board is booting fine. But with the AT803X_PHY=y enabled I'm running
>>> into the following phy issue. So on my side it looks inverse as on
>>> yours. What is the best proposal to fix this?
>>>
>>> [ 5.550442] fec 5b040000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
>>> [ 5.573206] Sending DHCP requests ...... timed out!
>>> [ 95.339702] IP-Config: Retrying forever (NFS root)...
>>> [ 95.348873] Atheros 8035 ethernet 5b040000.ethernet-1:06: attached PHY driver [Atheros 8035 ethernet] (mii_bus:phy_addr=5b040000.ethernet-1:06, irq=POLL)
>>> [ 99.438443] fec 5b040000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
>>> [ 99.461206] Sending DHCP requests ...... timed out!
>>
>> Which DTS are you using?
>
> I'am using this DTS which I'am currently working on:
>
> https://lists.infradead.org/pipermail/linux-arm-kernel/2019-October/689501.html
>>
>> I bet one dollar that 6d4cd041f0af triggered a latent bug in the DTS.
>
> So what should I fix in my device tree?

In the board DTS I used to work on, I had this:

&eth0 {
phy-connection-type = "rgmii-id";
phy-handle = <&eth0_phy>;
#address-cells = <1>;
#size-cells = <0>;

/* Atheros AR8035 */
eth0_phy: ethernet-phy@4 {
compatible = "ethernet-phy-id004d.d072",
"ethernet-phy-ieee802.3-c22";
interrupts = <37 IRQ_TYPE_EDGE_RISING>;
reg = <4>;
};
};

In your DTS, you #include "imx8qm.dtsi"
I found no such file:
$ git ls-files | grep imx8qm
drivers/pinctrl/freescale/pinctrl-imx8qm.c
include/dt-bindings/pinctrl/pads-imx8qm.h

In your patch:
https://patchwork.kernel.org/patch/11211567/

+&fec1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_fec1>;
+ phy-mode = "rgmii-txid";
+ phy-handle = <&ethphy0>;
+ fsl,magic-packet;
+ fsl,rgmii_rxc_dly;
+ status = "okay";
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethphy0: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <4>;
+ at803x,eee-disabled;
+ at803x,vddio-1p8v;
+ };
+ };
+};

Try all possible 'phy-mode' (rgmii, rgmii-id, rgmii-rxid, rgmii-txid)
Investigate 'fsl,rgmii_rxc_dly' (it's not a standard Linux DT prop)
Documentation/devicetree/bindings/net/ethernet-controller.yaml

Regards.

\
 
 \ /
  Last update: 2019-11-28 10:12    [W:0.037 / U:23.384 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site