From: Tom <Tom.Rix@windriver.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2] TI: DaVinci DM365: Enabling network Support on DM365 EVM
Date: Tue, 29 Sep 2009 07:39:45 -0500 [thread overview]
Message-ID: <4AC20011.3070409@windriver.com> (raw)
In-Reply-To: <1254188617-7666-1-git-send-email-s-paulraj@ti.com>
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>
> ---
> Changes since v1 include using a memory map to manipulate GPIO registers.
> This was suggested by Wolfgang.
> When compiling with this patch DM365 will still give compilation issues as i have
> to send an update to the EMAC driver for DM365. Patch to follow.
> board/davinci/dm365evm/dm365evm.c | 43 +++++++++++++++++++++++++++++++++++++
> 1 files changed, 43 insertions(+), 0 deletions(-)
>
> diff --git a/board/davinci/dm365evm/dm365evm.c b/board/davinci/dm365evm/dm365evm.c
> index 99392b3..efd4713 100644
> --- a/board/davinci/dm365evm/dm365evm.c
> +++ b/board/davinci/dm365evm/dm365evm.c
> @@ -17,9 +17,12 @@
>
> #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 <asm/arch/gpio_defs.h>
> +#include <netdev.h>
> #include "../common/misc.h"
>
> DECLARE_GLOBAL_DATA_PTR;
> @@ -32,6 +35,46 @@ 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;
> + struct davinci_gpio *gpio1_base =
> + (struct davinci_gpio *)DAVINCI_GPIO_BANK01;
> +
> + /* Configure PINMUX 3 to enable EMAC pins */
> + writel((readl(PINMUX3) | 0x1affff), PINMUX3);
> +
> + /* Configure GPIO20 as output */
> + writel((readl(&gpio1_base->dir) & 0xffefffff), &gpio1_base->dir);
> +
> + /* Toggle GPIO 20 */
> + for (i = 0; i < 20; i++) {
> + /* GPIO 20 low */
> + writel((readl(&gpio1_base->out_data) & 0xffefffff),
> + &gpio1_base->out_data);
> +
> + udelay(1000);
> +
> + /* GPIO 20 high */
> + writel((readl(&gpio1_base->out_data) | 0x00100000),
> + &gpio1_base->out_data);
> + }
You may want to convert the constants from
0xffeffff -> ~(1 << 20)
0x0010000 -> (1 << 20)
or bit = 20; (1 << bit)
Up to you.
Fine otherwise.
Tom
> +
> + /* 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)
> {
prev parent reply other threads:[~2009-09-29 12:39 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-29 1:43 [U-Boot] [PATCH v2] TI: DaVinci DM365: Enabling network Support on DM365 EVM s-paulraj at ti.com
2009-09-29 12:39 ` Tom [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AC20011.3070409@windriver.com \
--to=tom.rix@windriver.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.