Date: Sat, 11 Feb 2012 21:06:10 -0800 From: Juli Mallett <jmallett@FreeBSD.org> To: Warner Losh <imp@bsdimp.com> Cc: Adrian Chadd <adrian@freebsd.org>, Stefan Bethke <stb@lassitu.de>, FreeBSD-arch <freebsd-arch@freebsd.org>, Aleksandr Rybalko <ray@ddteam.net>, Aleksandr Rybalko <ray@freebsd.org>, Marius Strobl <marius@alchemy.franken.de> Subject: Re: Extending sys/dev/mii Message-ID: <CACVs6=8Z89tYBgJG6xkbKxSG99KHMbpECHhV7F9cLJKkLzuVQA@mail.gmail.com> In-Reply-To: <58EA57DC-75DF-4813-BB03-FD27F2A49BA2@bsdimp.com> References: <95372FB3-406F-46C2-8684-4FDB672D9FCF@lassitu.de> <20120106214741.GB88161@alchemy.franken.de> <F60B2B70-049F-4497-BBA8-3C421088C1EA@lassitu.de> <20120108130039.GG88161@alchemy.franken.de> <23477898-8D85-498C-8E30-192810BD68A8@lassitu.de> <20120111193738.GB44286@alchemy.franken.de> <66DDA0A2-F878-43FF-8824-54868F493B18@lassitu.de> <20120125221753.GA17821@alchemy.franken.de> <AF2CF7A4-27B8-4181-96F5-7998B126CD1C@lassitu.de> <CAJ-VmomcgC6V-sY7jN%2Bh6T7uPfVesPBV%2BKPu2TVD4YDKrdk4LQ@mail.gmail.com> <20120211111731.GE39861@alchemy.franken.de> <20120211144544.c91701d9.ray@ddteam.net> <CAJ-Vmo=CLMcO%2BR21TVKC3zVGS4rHO2Ca31D9ts2kNwpnhAtOvQ@mail.gmail.com> <B1700D0A-240D-4274-AA3F-FCA798AD2F14@bsdimp.com> <CAJ-Vmon=cPivcJjb_dvuMzsok2Qp-MeNLK0uNo5g8O2ekEaOMA@mail.gmail.com> <58EA57DC-75DF-4813-BB03-FD27F2A49BA2@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Feb 11, 2012 at 20:59, Warner Losh <imp@bsdimp.com> wrote: >> The trouble in this whole mess (where FDT may help) is that phy's for >> arge0 may actually sit on arge1. So you can't probe/attach the miibus >> on arge0 until you've probe/attached arge1, so the arge1 MII registers >> can be tickled. > > The PHYs don't sit on arge1. =C2=A0They sit on another device that the dr= iver bogusly assumes is tightly coupled to arge1, when in fact it isn't. YES! Thank you! And even if it were tightly coupled in hardware, there's no reason our device tree needs to mirror that, FDT or not. Just break out an "arge controller" device, attach arge0 and arge1 to it, and let it manage the MDIO bus. No shortcomings, as far as I can tell. You can even be extra clever and say that the switch is attached to that device, not either of the arge devices, and that one of the arge devices happens to be connected to the switch's CPU/host port. But that's probably a bit much to ask for.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACVs6=8Z89tYBgJG6xkbKxSG99KHMbpECHhV7F9cLJKkLzuVQA>