Porting to a new board

Antony Pavlov antonynpavlov at gmail.com
Tue Sep 24 00:24:35 EDT 2013


On Mon, 23 Sep 2013 16:47:19 -0500
"Allen Kennedy Jr." <allen at kennedystuff.com> wrote:

> > What's the output of some network command, like for example 'dhcp'?
> 
> This hangs the chip.
> 
> >
> > What's the output of 'md -w -s /dev/phy0'?
> 
> Barebox:/ md -w -s /dev/phy0
> open: No such file or directory

N.B. we have the 'miitool' command.

> Indeed there is no phy0 device in the /dev directory.  It would appear
> this is where the trouble is.  Why would this be missing?

The /dev/phy0 device appears just after the first network usage (e.g. 'dhcp' command execution).

> > static struct fec_platform_data fec_info = {
> >         .xcv_type = PHY_INTERFACE_MODE_MII,
> >         .phy_addr = -1,
> > };
> 
> It looks exactly like that.
> 
> > When 'md -w -s /dev/phy0' doesn't show any sensible register output then
> > your pinmux may be wrong or you haven't brought your phy out of reset
> > with some gpio.
> 
> I have verified that that the GPIO for the reset is outputting a high,
> as it should be for the chip to not be in reset.
> 
> My pinmodes are set up thusly:
>    /* FEC */
>     PD0_AIN_FEC_TXD0 | GPIO_PUEN,
>     PD1_AIN_FEC_TXD1 | GPIO_PUEN,
>     PD2_AIN_FEC_TXD2 | GPIO_PUEN,
>     PD3_AIN_FEC_TXD3 | GPIO_PUEN,
>     PD4_AOUT_FEC_RX_ER | GPIO_PUEN,
>     PD5_AOUT_FEC_RXD1,
>     PD6_AOUT_FEC_RXD2 | GPIO_PUEN,
>     PD7_AOUT_FEC_RXD3 | GPIO_PUEN,
>     PD8_AF_FEC_MDIO | GPIO_PUEN,
>     PD9_AIN_FEC_MDC | GPIO_PUEN,
>     PD10_AOUT_FEC_CRS | GPIO_PUEN,
>     PD11_AOUT_FEC_TX_CLK | GPIO_PUEN,
>     PD12_AOUT_FEC_RXD0 | GPIO_PUEN,
>     PD13_AOUT_FEC_RX_DV | GPIO_PUEN,
>     PD14_AOUT_FEC_RX_CLK | GPIO_PUEN,
>     PD15_AOUT_FEC_COL | GPIO_PUEN,
>     PD16_AIN_FEC_TX_ER,
>     PF23_AIN_FEC_TX_EN,
> 
> And a double check shows that this matches the schematic.
> I probed the reset line with a scope, and indeed it is goes to the
> correct state before the attempt to register the FEC device.
> 
> thanks,
> -Allen
> 
> 
> On Sat, Sep 21, 2013 at 2:50 AM, Sascha Hauer <s.hauer at pengutronix.de> wrote:
> > On Fri, Sep 20, 2013 at 04:02:44PM -0500, Allen Kennedy Jr. wrote:
> >> Thanks for the great idea to start with a loaded image in ram.
> >>
> >> I was able to get it to run, but I can't get the Ethernet to work.
> >> I'm not entirely sure where to begin looking.
> >>
> >> I hit devinfo and get:
> >> <snip>
> >>      `---- imx27-fec
> >>           `---- miibus0
> >>           `---- eth0
> >> <...>
> >> drivers:
> >> <...>
> >> SMSC LAN83C185
> >> SMSC LAN8187
> >> SMSC LAN8700
> >> SMSC LAN911x Internal PHY
> >> SMSC LAN8710/LAN8720
> >> fec_imx
> >> Generic PHY
> >> </snip>
> >>
> >> This would seem to indicate to me that the drivers are loading. And
> >> that the register happened.
> >> But I'm not sure where to go from here.
> >
> > What's the output of some network command, like for example 'dhcp'?
> >
> > What's the output of 'md -w -s /dev/phy0'?
> >
> > Problems with networking usually go down to problems with the phy.
> > What's the content of the platform data for the FEC? It should look
> > like:
> >
> > static struct fec_platform_data fec_info = {
> >         .xcv_type = PHY_INTERFACE_MODE_MII,
> >         .phy_addr = -1,
> > };
> >
> >
> > With xcv_type being MII (I think it's the only possibility on i.MX27)
> > and phy_addr to either -1 for autodetecting the address or the correct
> > address. Use -1 to be on the safe side.
> >
> > When 'md -w -s /dev/phy0' doesn't show any sensible register output then
> > your pinmux may be wrong or you haven't brought your phy out of reset
> > with some gpio.
> >
> >>
> >> In another thread... the advice was given to check the MII address,
> >> although I'm not sure how to interpret the data sheet.
> >> It looks as though the address is 31.  But I could be wrong.  When I
> >> try 31, and do a DHCP the processor hangs.
> >> So I tried 0, and the processor hangs.
> >>
> >> Is there a "scan the bus mode" I can use in the fec driver?  I don't
> >> see one, but I may be looking in the wrong spot.
> >
> > It's not in the FEC driver but in the generic MII support. As said, use
> > -1 as phy id.
> >
> > Sascha
> >
> > --
> > Pengutronix e.K.                           |                             |
> > Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> > Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> >
> > _______________________________________________
> > barebox mailing list
> > barebox at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/barebox
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox


-- 
-- 
Best regards,
  Antony Pavlov



More information about the barebox mailing list