All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on DM365
@ 2009-09-14 19:16 s-paulraj at ti.com
  2009-09-14 21:43 ` Matt Waddel
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: s-paulraj at ti.com @ 2009-09-14 19:16 UTC (permalink / raw)
  To: u-boot

From: Sandeep Paulraj <s-paulraj@ti.com>

This patch enables EMAC on the DM365 EVM.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
---
 board/davinci/dm365evm/dm365evm.c |   38 +++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/board/davinci/dm365evm/dm365evm.c b/board/davinci/dm365evm/dm365evm.c
index 99392b3..2092324 100644
--- a/board/davinci/dm365evm/dm365evm.c
+++ b/board/davinci/dm365evm/dm365evm.c
@@ -17,9 +17,11 @@
 
 #include <common.h>
 #include <nand.h>
+#include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/emif_defs.h>
 #include <asm/arch/nand_defs.h>
+#include <netdev.h>
 #include "../common/misc.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -32,6 +34,42 @@ int board_init(void)
 	return 0;
 }
 
+#ifdef CONFIG_DRIVER_TI_EMAC
+int board_eth_init(bd_t *bis)
+{
+	uint8_t eeprom_enetaddr[6];
+	int i;
+
+	/* Configure PINMUX 3 to enable EMAC pins */
+	writel((readl(PINMUX3) | 0x1affff), PINMUX3);
+
+	/* Configure GPIO20 as output */
+	writel((readl(GIO_DIR01) & 0xffefffff), GIO_DIR01);
+
+	/* Toggle GPIO 20 */
+	for (i = 0; i < 20; i++) {
+		/* GPIO 20 low */
+		writel((readl(GIO_OUT_DATA01) & 0xffefffff), GIO_OUT_DATA01);
+
+		udelay(1000);
+
+		/* GPIO 20 high */
+		writel((readl(GIO_OUT_DATA01) | 0x00100000), GIO_OUT_DATA01);
+	}
+
+	/* Configure I2C pins so that EEPROM can be read */
+	writel((readl(PINMUX3) | 0x01400000), PINMUX3);
+
+	/* Read Ethernet MAC address from EEPROM */
+	if (dvevm_read_mac_address(eeprom_enetaddr))
+		dv_configure_mac_address(eeprom_enetaddr);
+
+	davinci_emac_initialize();
+
+	return 0;
+}
+#endif
+
 #ifdef CONFIG_NAND_DAVINCI
 static void nand_dm365evm_select_chip(struct mtd_info *mtd, int chip)
 {
-- 
1.6.0.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on DM365
  2009-09-14 19:16 [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on DM365 s-paulraj at ti.com
@ 2009-09-14 21:43 ` Matt Waddel
  2009-09-14 22:20   ` Paulraj, Sandeep
  2009-09-18 21:06 ` Paulraj, Sandeep
  2009-09-22 20:23 ` Wolfgang Denk
  2 siblings, 1 reply; 6+ messages in thread
From: Matt Waddel @ 2009-09-14 21:43 UTC (permalink / raw)
  To: u-boot

Hi Sandeep,

Is there another part to this patch still coming or did I miss a patch 
along the way?  This patch as-is doesn't compile:
...
dm365evm.c: In function ?board_eth_init?:                                       
dm365evm.c:47: error: ?GIO_DIR01? undeclared (first use in this function)       
dm365evm.c:47: error: (Each undeclared identifier is reported only once         
dm365evm.c:47: error: for each function it appears in.)                         
dm365evm.c:52: error: ?GIO_OUT_DATA01? undeclared (first use in this function)

Best regards,
Matt

On Monday 14 September 2009 01:16:38 pm s-paulraj at ti.com wrote:
> From: Sandeep Paulraj <s-paulraj@ti.com>
> 
> This patch enables EMAC on the DM365 EVM.
> 
> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
> ---
>  board/davinci/dm365evm/dm365evm.c |   38 +++++++++++++++++++++++++++++++++++++
>  1 files changed, 38 insertions(+), 0 deletions(-)
> 
> diff --git a/board/davinci/dm365evm/dm365evm.c b/board/davinci/dm365evm/dm365evm.c
> index 99392b3..2092324 100644
> --- a/board/davinci/dm365evm/dm365evm.c
> +++ b/board/davinci/dm365evm/dm365evm.c
> @@ -17,9 +17,11 @@
>  
>  #include <common.h>
>  #include <nand.h>
> +#include <asm/io.h>
>  #include <asm/arch/hardware.h>
>  #include <asm/arch/emif_defs.h>
>  #include <asm/arch/nand_defs.h>
> +#include <netdev.h>
>  #include "../common/misc.h"
>  
>  DECLARE_GLOBAL_DATA_PTR;
> @@ -32,6 +34,42 @@ int board_init(void)
>  	return 0;
>  }
>  
> +#ifdef CONFIG_DRIVER_TI_EMAC
> +int board_eth_init(bd_t *bis)
> +{
> +	uint8_t eeprom_enetaddr[6];
> +	int i;
> +
> +	/* Configure PINMUX 3 to enable EMAC pins */
> +	writel((readl(PINMUX3) | 0x1affff), PINMUX3);
> +
> +	/* Configure GPIO20 as output */
> +	writel((readl(GIO_DIR01) & 0xffefffff), GIO_DIR01);
> +
> +	/* Toggle GPIO 20 */
> +	for (i = 0; i < 20; i++) {
> +		/* GPIO 20 low */
> +		writel((readl(GIO_OUT_DATA01) & 0xffefffff), GIO_OUT_DATA01);
> +
> +		udelay(1000);
> +
> +		/* GPIO 20 high */
> +		writel((readl(GIO_OUT_DATA01) | 0x00100000), GIO_OUT_DATA01);
> +	}
> +
> +	/* Configure I2C pins so that EEPROM can be read */
> +	writel((readl(PINMUX3) | 0x01400000), PINMUX3);
> +
> +	/* Read Ethernet MAC address from EEPROM */
> +	if (dvevm_read_mac_address(eeprom_enetaddr))
> +		dv_configure_mac_address(eeprom_enetaddr);
> +
> +	davinci_emac_initialize();
> +
> +	return 0;
> +}
> +#endif
> +
>  #ifdef CONFIG_NAND_DAVINCI
>  static void nand_dm365evm_select_chip(struct mtd_info *mtd, int chip)
>  {
> -- 
> 1.6.0.4
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on DM365
  2009-09-14 21:43 ` Matt Waddel
@ 2009-09-14 22:20   ` Paulraj, Sandeep
  0 siblings, 0 replies; 6+ messages in thread
From: Paulraj, Sandeep @ 2009-09-14 22:20 UTC (permalink / raw)
  To: u-boot



> -----Original Message-----
> From: Matt Waddel [mailto:mwaddel at control4.com]
> Sent: Monday, September 14, 2009 5:43 PM
> To: u-boot at lists.denx.de
> Cc: Paulraj, Sandeep
> Subject: Re: [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on
> DM365
> 
> Hi Sandeep,
> 
> Is there another part to this patch still coming or did I miss a patch
> along the way?  This patch as-is doesn't compile:
> ...
> dm365evm.c: In function 'board_eth_init':
> dm365evm.c:47: error: 'GIO_DIR01' undeclared (first use in this function)
> dm365evm.c:47: error: (Each undeclared identifier is reported only once
> dm365evm.c:47: error: for each function it appears in.)
> dm365evm.c:52: error: 'GIO_OUT_DATA01' undeclared (first use in this
> function)

You will need the patch with this header sent Saturday

TI: DaVinci: Adding GIO addresses to header file

After that you will need a patch I have not submitted because the same EMAC driver will be used by DM365, DM6467 and DA8xx series of chips.

So we(developers involved with DM6467 and DA8xx and me) have to come up with a clean and clever way to achieve this.

In the meanwhile if you are interested look at this tree. Its part of TI's ARAGO project and I added the EMAC support there


http://arago-project.org/git/people/?p=sandeep/u-boot-davinci.git;a=summary

The patch in question happens to be last commit in the above repo.
I have not submitted this patch and probably will not in this form because of the reason mentioned above.

If you clone the tree from the above mentioned link you will get a working version of U-Boot for DM365. I am using it as we speak.

Let me know if you have any concerns/issues.

Sandeep

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on DM365
  2009-09-14 19:16 [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on DM365 s-paulraj at ti.com
  2009-09-14 21:43 ` Matt Waddel
@ 2009-09-18 21:06 ` Paulraj, Sandeep
  2009-09-22 20:24   ` Wolfgang Denk
  2009-09-22 20:23 ` Wolfgang Denk
  2 siblings, 1 reply; 6+ messages in thread
From: Paulraj, Sandeep @ 2009-09-18 21:06 UTC (permalink / raw)
  To: u-boot



> From: Sandeep Paulraj <s-paulraj@ti.com>
> 
> This patch enables EMAC on the DM365 EVM.
> 
> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
> ---
>  board/davinci/dm365evm/dm365evm.c |   38
> +++++++++++++++++++++++++++++++++++++
>  1 files changed, 38 insertions(+), 0 deletions(-)
> 

Pushed to u-boot-ti

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on DM365
  2009-09-14 19:16 [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on DM365 s-paulraj at ti.com
  2009-09-14 21:43 ` Matt Waddel
  2009-09-18 21:06 ` Paulraj, Sandeep
@ 2009-09-22 20:23 ` Wolfgang Denk
  2 siblings, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2009-09-22 20:23 UTC (permalink / raw)
  To: u-boot

Dear s-paulraj at ti.com,

In message <1252955798-31840-1-git-send-email-s-paulraj@ti.com> you wrote:
> From: Sandeep Paulraj <s-paulraj@ti.com>
> 
> This patch enables EMAC on the DM365 EVM.
> 
> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
> ---
>  board/davinci/dm365evm/dm365evm.c |   38 +++++++++++++++++++++++++++++++++++++
>  1 files changed, 38 insertions(+), 0 deletions(-)
...
> +	/* Configure PINMUX 3 to enable EMAC pins */
> +	writel((readl(PINMUX3) | 0x1affff), PINMUX3);
> +
> +	/* Configure GPIO20 as output */
> +	writel((readl(GIO_DIR01) & 0xffefffff), GIO_DIR01);

Please use C structs to dsescribe the register layout. Do not use
typeless addresses.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
To know how another being, another creature feels -  that  is  impos-
sible.                  - Terry Pratchett, _The Dark Side of the Sun_

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on DM365
  2009-09-18 21:06 ` Paulraj, Sandeep
@ 2009-09-22 20:24   ` Wolfgang Denk
  0 siblings, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2009-09-22 20:24 UTC (permalink / raw)
  To: u-boot

Dear "Paulraj, Sandeep",

In message <0554BEF07D437848AF01B9C9B5F0BC5D929E5A4C@dlee01.ent.ti.com> you wrote:
> 
> 
> > From: Sandeep Paulraj <s-paulraj@ti.com>
> > 
> > This patch enables EMAC on the DM365 EVM.
> > 
> > Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
> > ---
> >  board/davinci/dm365evm/dm365evm.c |   38
> > +++++++++++++++++++++++++++++++++++++
> >  1 files changed, 38 insertions(+), 0 deletions(-)
> > 
> 
> Pushed to u-boot-ti

Please undo. We want to enable the compiler for strict type checkings
for all accesses to hardware registers, which is impossible with the
use of plain address constants in this code.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Whom the gods would destroy, they first teach BASIC.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-09-22 20:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-14 19:16 [U-Boot] [PATCH] TI: DaVinci DM365: Enabling net support on DM365 s-paulraj at ti.com
2009-09-14 21:43 ` Matt Waddel
2009-09-14 22:20   ` Paulraj, Sandeep
2009-09-18 21:06 ` Paulraj, Sandeep
2009-09-22 20:24   ` Wolfgang Denk
2009-09-22 20:23 ` Wolfgang Denk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.