Porting to a new board
Allen Kennedy Jr.
allen at kennedystuff.com
Mon Sep 23 17:47:19 EDT 2013
> 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
Indeed there is no phy0 device in the /dev directory. It would appear
this is where the trouble is. Why would this be missing?
> 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
More information about the barebox
mailing list