---------- Forwarded message ---------- From: Kamel BOUHARA Date: 2011/7/12 Subject: Re: FEC Not working with imx27 based board To: Sascha Hauer Yes I've set the correct adress and it's why I don't have fffff like on the phytec. But in fact I had to change the fec_get_hwadrr() to make it work with my board : static int fec_get_hwaddr(struct eth_device *dev, unsigned char *mac) { int i; int uninitialized = 0; > for (i=0;i<6;i++) { mac[6-1-i] = readl(&IIM_BANK_REG(0,(IIM0_MAC+i))); } > /* uninitialized if all 00 */ if ((mac[0] == 0) && (mac[1] == 0) && (mac[2] == 0) && (mac[3] == 0) && (mac[4] == 0) && (mac[5] == 0)) uninitialized = 1; > /* uninitialized if all FF (could be safe) */ if ((mac[0] == 0xff) && (mac[1] == 0xff) && (mac[2] == 0xff) && (mac[3] == 0xff) && (mac[4] == 0xff) && (mac[5] == 0xff)) uninitialized = 1; > return uninitialized; } Before this change it wasn't the case, I had no mac adress in barebox start... I also added a specific reset : void fec_reset() { int i=0; /* FEC RESET */ imx_gpio_mode(CFG_ETHPHY_RST | GPIO_OUT | GPIO_PUEN | GPIO_GPIO); printf("Before PHY reset\n"); GPIO_CLEAR(CFG_ETHPHY_RST); udelay(200); GPIO_SET(CFG_ETHPHY_RST); printf("After PHY reset\n"); } And then I call it in the fec_probe() to ensure the fec is reset properly before settings. I already tested the fec on u-boot and it works fine, so i tought it can help me with barebox but it seems there are some differences between codes. For now Im trying to see if it can be a cpu frequence problem because I have an errata on the pll that shifts all my frequencies and so I have to adjust them in the lowlevelinit... So I would like to know if the clock initialization is taking effect if I boot from RAM ? Do I have t boot from flash ? Thanks again. Here is what 2011/7/12 Sascha Hauer > On Tue, Jul 12, 2011 at 03:54:43PM +0200, Sascha Hauer wrote: > > On Mon, Jul 11, 2011 at 05:14:54PM +0200, Kamel BOUHARA wrote: > > > Hi, > > > > > > Im trying to port barebox to my Armadeus apf27 board (based on the > Freescale > > > imx27 with a 512MiB NAND and 1GB of SDRAM). > > > I've first tried the phytec imx27 configuration and I got it worked > until > > > the Linux uncompressing task (the machine ID is bad so I didn't expect > it > > > will boot fine :)). > > > So I just copied the phycard-imx27 board directory and I followed the > > > boards.dox in order to add support for my board. > > > But when I've tried to boot again it was not working anymore ... > > > > > > There are somethings stranges with the FEC, here is the result of a > memory > > > display with both phytec and my own board : > > > > > > > barebox@Phytec phyCard-i.MX27:/ md -s /dev/phy0 > > > > > > > > 00000000: ffffffff ffffffff ffffffff ffffffff ................ > > > > > > > > 00000010: ffffffff ffffffff ffffffff ffffffff ................ > > > > > > > > 00000020: ffffffff ffffffff ffffffff ffffffff ................ > > > > > > > > 00000030: ffffffff ffffffff ffffffff ffffffff ................ > > > > This means your phy is not configured correctly. Do you usse the correct > > address (can be passed in platform_data). > > GPIO pins which hold the phy in reset are another thing which might go > wrong. > > 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 | > -- __________________________________ *Kamel BOUHARA* 7 rue Jules César 02100 SAINT-QUENTIN 06.17.83.29.04 -- __________________________________ *Kamel BOUHARA* 7 rue Jules César 02100 SAINT-QUENTIN 06.17.83.29.04