Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

Linux/AM5728: The ethernet phy is not detected in Linux during startup

$
0
0

Part Number:AM5728

Tool/software: Linux

This is a custom board with the AM5728 and two ethernet phys, DP83867 and MAX24287.

The phy DP83867 is working although only at 100Mbps. The MAX24287 is not working at all probably due to a clocking issue.

In u-boot I can use the ethernet on the DP83867 phy and I can download the Linux kernel using tftfboot from a Linux server.
But in Linux I can't get the configuration correct to use a single phy, so not using the dual-emac functionality.

During startup I get:
[    2.797376] libphy: Fixed MDIO Bus: probed
[    2.860794] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
[    2.868490] libphy: 48485000.mdio: probed
[    2.874962] davinci_mdio 48485000.mdio: phy[5]: device 48485000.mdio:05, driver TI DP83867
[    2.897240] cpsw 48484000.ethernet: No slave[1] phy_id, phy-handle, or fixed-link property
[    2.905603] cpsw 48484000.ethernet: Detected MACID = fc:69:47:f3:49:66
[    2.912244] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[    2.918628] cpsw 48484000.ethernet: ALE Table size 1024
   |
   |
[    8.351660] net eth0: initializing cpsw version 1.15 (0)
[    8.411220] net eth0: phy "/ocp/ethernet@48484000/mdio@48485000/ethernet-phy@5" not found on slave 0
[    8.475266] libphy: PHY  not found
[    8.478690] net eth0: phy "" not found on slave 1, err -19
[    8.578253] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

To me it looks like the binding between ethernet mac and phy is not done.
Looking in sysfs I can't find anything relationship between the mac and the phy. Also ethtool is not showing any phy information.

Currently my devicetree is:
&davinci_mdio {
/*    reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
    reset-delay-us = <2>; */
    phy0: ethernet-phy@5 {
        reg = <5>;
        max-speed = <100>;
    };
};

&mac {
    status = "okay";
    active_slave = <0>;
    /*dual_emac;*/
};

&cpsw_emac0 {
    phy-handle = <&phy0>;
    phy-mode = "rgmii";
/*    dual_emac_res_vlan = <1>; */
};

How should the devicetree look like for a single phy? Is the above correct?
During startup the phy is detected, but in a later stage there is an issue. Is this because of the non-existance of second phy?


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>