On Wed, Jul 20, 2016 at 10:24:11PM -0300, Daniel Bolgheroni wrote:
> On Wed, Jul 13, 2016 at 11:39:54AM +0200, Mark Kettenis wrote:
> > The diff below removes the last board ID dependent code for the i.MX6
> > platform.  It affects all boards that use a Micrel PHY, which would
> > show up as "ukphy0" in your dmesg.  If you have such a board (udoo,
> > novena and sabrelight, there may be others), I'd apprciate if you
> > could test this diff and check whether the network interface still
> > works.
> > 
> > I'll probably commit the diff in a couple of days if I don't get any
> > test reports.
> 
> Maybe not related to this commit, since Wandboard uses Atheros PHYs (AR8031,
> same family as AR8035 as in if_fec.c) instead of Micrel, but I'm running the
> latest snapshot and fec(4) does not show up.

That turns out to be different interrupt data in the fdt to implement
a workaround for hardware errata.

Patrick found the following two commits related to it and last I heard
was looking to find a way to handle it on his sabre lite board that
also has it.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9fc77821b17155c6e0ab50b1e1dd80c2b0e63e98
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6261c4c8f13eb91f733e8ba6d67c409a2e841667

The following doesn't do the workaround but should at least get
things working again.

Index: if_fec.c
===================================================================
RCS file: /cvs/src/sys/arch/armv7/imx/if_fec.c,v
retrieving revision 1.8
diff -u -p -r1.8 if_fec.c
--- if_fec.c    21 Jul 2016 02:32:23 -0000      1.8
+++ if_fec.c    21 Jul 2016 02:34:02 -0000
@@ -303,7 +303,7 @@ fec_attach(struct device *parent, struct
 
        if (OF_getpropintarray(faa->fa_node, "interrupts-extended",
            intr, sizeof(intr)) < sizeof(intr))
-               return;
+               intr[2] = 0x76;
 
        sc->sc_node = faa->fa_node;
        sc->sc_iot = faa->fa_iot;

Reply via email to