On 29/11/17, Oliver Graute wrote:
> On 28/11/17, Andrew Lunn wrote:
> > On Tue, Nov 28, 2017 at 04:28:15PM +0100, Oliver Graute wrote:
> > > Hello list,
> > > 
> > > I try to get two Micrel KSZ8041 Phys working with the fec driver from
> > > Kernel 4.14. But it looks that something with the mii_bus probing is not
> > > working here. I expect the Phys on address 01 and 03. Currently on eth1
> > > I see TX traffic but no RX. On eth0 there is neither nor. (ifconfig)
> > > 
> > > [   51.997034] Micrel KSZ8041 800f0000.ethernet-1:00: attached PHY driver 
> > > [Micrel KSZ8041] (mii_bus:phy_addr=800f0000.ethernet-1:00, irq=POLL)
> > > [   52.036719] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
> > > [   52.621138] Micrel KSZ8041 800f0000.ethernet-1:01: attached PHY driver 
> > > [Micrel KSZ8041] (mii_bus:phy_addr=800f0000.ethernet-1:01, irq=POLL)
> > > [   52.649677] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
> > > [   54.697479] fec 800f4000.ethernet eth1: Link is Up - 100Mbps/Full - 
> > > flow control off
> > > [   54.721424] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
> > > [   59.860693] Micrel KSZ8041 800f0000.ethernet-1:00: attached PHY driver 
> > > [Micrel KSZ8041] (mii_bus:phy_addr=800f0000.ethernet-1:00, irq=POLL)
> > > [   59.874298] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
> > > [   59.980688] Micrel KSZ8041 800f0000.ethernet-1:01: attached PHY driver 
> > > [Micrel KSZ8041] (mii_bus:phy_addr=800f0000.ethernet-1:01, irq=POLL)
> > > [   59.994289] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
> > > [   62.025331] fec 800f4000.ethernet eth1: Link is Up - 100Mbps/Full - 
> > > flow control off
> > > [   62.044588] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
> > > 
> > > 
> > > On my old setup with an Kernel 4.2 the phys are working. But there I
> > > patched the phy_mask into the old fec code. Because I didn't know how to
> > > do it better by device tree.
> > > 
> > > Can someone tell my how to do it right?
> > 
> > Hi Oliver
> > 
> > Can you show use your device tree? You should be using phy-handle to
> > point to the PHYs on the MDIO bus.
> 
> here is my device tree setting (derived from imx28-evk.dts):
> 
> &mac0 {
>       phy-mode = "rmii";
>       pinctrl-names = "default";
>       pinctrl-0 = <&mac0_pins_a>;
>       phy-reset-gpios = <&gpio4 13 0>;
>       phy-reset-duration = <100>;
>       status = "okay";
> };
> 
> &mac1 {
>       phy-mode = "rmii";
>       pinctrl-names = "default";
>       pinctrl-0 = <&mac1_pins_a>;
>       status = "okay";
> };
> 


I got it working with the follwing device tree setup and after reading this

http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/314706.html

&mac0 {
        phy-mode = "rmii";
        phy-handle = <&ethphy0>;
        pinctrl-names = "default";
        pinctrl-0 = <&mac0_pins_a>;
        phy-reset-gpios = <&gpio4 13 0>;
        phy-reset-duration = <100>;
        status = "okay";

        mdio {
                #address-cells = <1>;
                #size-cells = <0>;

                ethphy0: ethernet-phy@1 {
                        reg = <1>;
                };

                ethphy1: ethernet-phy@3 {
                        reg = <3>;
                };
        };
};

&mac1 {
        phy-mode = "rmii";
        phy-handle = <&ethphy1>;
        pinctrl-names = "default";
        pinctrl-0 = <&mac1_pins_a>;
        status = "okay";

};

Thx for stub me in right direction.

Best regards,

Oliver

Reply via email to