> > *"r116" yeap.. time to go home. ;)* > Same here, and yeah wulf is right. My problem is: I'm already home. Maybe I need a brewski . . .
On Tue, May 19, 2015 at 3:01 PM, Robert Nelson <robertcnel...@gmail.com> wrote: > On Tue, May 19, 2015 at 5:00 PM, Robert Nelson <robertcnel...@gmail.com> > wrote: > > On Tue, May 19, 2015 at 4:57 PM, Robert Nelson <robertcnel...@gmail.com> > wrote: > >> On Tue, May 19, 2015 at 3:56 PM, Robert Nelson <robertcnel...@gmail.com> > wrote: > >>> On Tue, May 19, 2015 at 3:48 PM, Fernando Derkoski <bril...@gmail.com> > wrote: > >>>> Hi, first thank you for the response, here is the output where the > network > >>>> did not work: > >>>> > >>>> root@beaglebone:~# dmesg | grep mdio > >>>> [ 1.040419] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6 > >>>> [ 1.040439] davinci_mdio 4a101000.mdio: detected phy mask fffffffb > >>>> [ 1.047217] libphy: 4a101000.mdio: probed > >>>> [ 1.047246] davinci_mdio 4a101000.mdio: phy[2]: device > 4a101000.mdio:02, > >>>> driver SMSC LAN8710/LAN8720 > >>> > >>> Humm, that is odd, it corrected for [phy mask fffffffb] with > [4a101000.mdio:02] > >>> > >>> But it should have been phy[4]... [4a101000.mdio:04] > >>> > >>> The math conversion in the phy search patch is: > >>> > >>> phy_mask = fffffffb > >>> > >>> for (i = 0; i < PHY_MAX_ADDR; i++) { > >>> if ((phy_mask & (1 << i)) == 0) { > >>> addr = (u32) i; > >>> break; > >>> } > >>> } > >> > >> This looks like a fun rabbit hole: > >> > >> From: http://www.ti.com/lit/ug/spruh73l/spruh73l.pdf > >> > >> Table 14-252. MDIOALIVE Register Field Descriptions > >> > >> "The alive bits are only meant to be used to give an indication of the > >> presence or not of a PHY with the corresponding address." > >> > >> Whereas in the kernel: > >> > >> /* get phy mask from the alive register */ > >> phy_mask = __raw_readl(&data->regs->alive); > >> if (phy_mask) { > >> /* restrict mdio bus to live phys only */ > >> dev_info(data->dev, "detected phy mask %x\n", ~phy_mask); > >> phy_mask = ~phy_mask; > >> } else { > >> /* desperately scan all phys */ > >> dev_warn(data->dev, "no live phy, scanning all\n"); > >> phy_mask = 0; > >> } > >> data->bus->phy_mask = phy_mask; > >> > >> We "assume" phy_mask to be 100% correct. Maybe we should just force > >> the dt value of phy_id always into phy_mask? > > > > nm... total 5pm brain fart.. > > > > I really need to find a board that 'never' boots with 0xfffffffe.. > > > > I'm thinking yanking r117 and shorting RXD3/PHYAD2 -> vdd_3v3b > > "r116" yeap.. time to go home. ;) > > Regards, > > -- > Robert Nelson > https://rcn-ee.com/ > > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to beagleboard+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.