[U-Boot] [PATCH] mx51evk: Provide a proper reset for the Ethernet PHY

2010-08-19 Thread Fabio Estevam
Provide a proper reset for the Ethernet PHY (LAN8700) on the MX51EVK.

Signed-off-by: Fabio Estevam 
---
 board/freescale/mx51evk/mx51evk.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/board/freescale/mx51evk/mx51evk.c 
b/board/freescale/mx51evk/mx51evk.c
index 75d642b..70cce55 100644
--- a/board/freescale/mx51evk/mx51evk.c
+++ b/board/freescale/mx51evk/mx51evk.c
@@ -261,6 +261,10 @@ static void power_init(void)
 
/* Reset the ethernet controller over GPIO */
writel(0x1, IOMUXC_BASE_ADDR + 0x0AC);
+   udelay(200);
+   reg = readl(GPIO2_BASE_ADDR + 0x0);
+   reg |= 0x4000;  /* Set reset line to high*/
+   writel(reg, GPIO2_BASE_ADDR + 0x0);
 
/* Enable VGEN3, VCAM, VAUDIO, VVIDEO, VSD regulators */
val = VGEN3EN | VGEN3CONFIG | VCAMEN | VCAMCONFIG |
-- 
1.6.0.4


  
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] mx51evk: Provide a proper reset for the Ethernet PHY

2010-08-20 Thread Stefano Babic
Fabio Estevam wrote:
> Provide a proper reset for the Ethernet PHY (LAN8700) on the MX51EVK.
> 

Hi Fabio,

> Signed-off-by: Fabio Estevam 
> ---
>  board/freescale/mx51evk/mx51evk.c |4 
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/board/freescale/mx51evk/mx51evk.c 
> b/board/freescale/mx51evk/mx51evk.c
> index 75d642b..70cce55 100644
> --- a/board/freescale/mx51evk/mx51evk.c
> +++ b/board/freescale/mx51evk/mx51evk.c
> @@ -261,6 +261,10 @@ static void power_init(void)
>  
>   /* Reset the ethernet controller over GPIO */
>   writel(0x1, IOMUXC_BASE_ADDR + 0x0AC);
> + udelay(200);
> + reg = readl(GPIO2_BASE_ADDR + 0x0);
> + reg |= 0x4000;  /* Set reset line to high*/
> + writel(reg, GPIO2_BASE_ADDR + 0x0);

I know I am responsible for this usage, because I forget to add some
accessors for the gpio pins - as I see your patch, I have sent a patch
to support it. However, a direct access to registers using offsets is
not allowed in u-boot. If we use some kind of accessors, your code will
be easier to read it. Everything could be changed as (0X4000 --> gpio
46, if I am not wrong):

udelay(200);
mxc_gpio_set(46);

What do you think ?

Best regards,
Stefano

-- 
=
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: off...@denx.de
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] mx51evk: Provide a proper reset for the Ethernet PHY

2010-08-20 Thread Fabio Estevam
Hi Stefano,

--- On Fri, 8/20/10, Stefano Babic  wrote:
...

> 
> I know I am responsible for this usage, because I forget to
> add some
> accessors for the gpio pins - as I see your patch, I have
> sent a patch
> to support it. However, a direct access to registers using
> offsets is
> not allowed in u-boot. If we use some kind of accessors,
> your code will
> be easier to read it. Everything could be changed as
> (0X4000 --> gpio
> 46, if I am not wrong):
> 
>     udelay(200);
>     mxc_gpio_set(46);
> 
> What do you think ?

Yes, I agree. Do you plan to send a patch for mx51evk using this approach?

If you do, then I can re-submit my patch after your update.

Regards,

Fabio Estevam



  

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] mx51evk: Provide a proper reset for the Ethernet PHY

2010-08-20 Thread Stefano Babic
Fabio Estevam wrote:
> Hi Stefano,
> 

Hi Fabio,

>> udelay(200);
>> mxc_gpio_set(46);

This must be,
>>
>> What do you think ?
> 
> Yes, I agree. Do you plan to send a patch for mx51evk using this approach?
> 
> If you do, then I can re-submit my patch after your update.

I sent today a patch adding a common way to access gpios for i.MX31 and
i.MX51:

http://article.gmane.org/gmane.comp.boot-loaders.u-boot/83163


I have another issue. It seems to me that the lines you want to add are
already in the code, only some lines later:

263 /* Enable VGEN3, VCAM, VAUDIO, VVIDEO, VSD regulators */
264 val = VGEN3EN | VGEN3CONFIG | VCAMEN | VCAMCONFIG |
265 VVIDEOEN | VAUDIOEN  | VSDEN;
266 pmic_reg_write(REG_MODE_1, val);
267
268 udelay(500);
269
270 reg = readl(GPIO2_BASE_ADDR + 0x0);
271 reg |= 0x4000;
272 writel(reg, GPIO2_BASE_ADDR + 0x0);

This is exactly what you want to add, only after setting the regulators.
Why do we need to set the gpio twice ?

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: off...@denx.de
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] mx51evk: Provide a proper reset for the Ethernet PHY

2010-08-20 Thread Fabio Estevam
--- On Fri, 8/20/10, Stefano Babic  wrote:
...

> 
> This is exactly what you want to add, only after setting
> the regulators.
> Why do we need to set the gpio twice ?

You are right. Please disregard my patch.

Regards,

Fabio Estevam


  
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot