All of lore.kernel.org
 help / color / mirror / Atom feed
From: gerg@snapgear.com (Greg Ungerer)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] fec: add support for Freescale i.MX25 PDK (3DS)
Date: Tue, 15 Dec 2009 11:27:59 +1000	[thread overview]
Message-ID: <4B26E61F.7030709@snapgear.com> (raw)
In-Reply-To: <fb518184b206ec2727deda111cc5364134ace69a.1260785451.git.baruch@tkos.co.il>

Hi Baruch,

Baruch Siach wrote:
> The i.MX25 PDK uses RMII to communicate with its PHY. This patch adds the
> necessary bits to make the i.MX25 talk RMII.
> 
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> ---
>  drivers/net/fec.c |   22 ++++++++++++++++++++++
>  drivers/net/fec.h |    2 ++
>  2 files changed, 24 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/fec.c b/drivers/net/fec.c
> index 16a1d58..65c43d3 100644
> --- a/drivers/net/fec.c
> +++ b/drivers/net/fec.c
> @@ -51,6 +51,7 @@
>  #include "fec.h"
>  
>  #ifdef CONFIG_ARCH_MXC
> +#include <asm/mach-types.h>
>  #include <mach/hardware.h>
>  #define FEC_ALIGNMENT	0xf
>  #else
> @@ -1722,6 +1723,25 @@ static int fec_enet_init(struct net_device *dev, int index)
>  	return 0;
>  }
>  
> +static void fec_localhw_setup(struct net_device *dev)
> +{
> +	struct fec_enet_private *fep = netdev_priv(dev);
> +
> +	if (!machine_is_mx25_3ds())
> +		return;
> +
> +	/* disable the gasket and wait */
> +	writel(0, fep->hwp + FEC_MIIGSK_ENR);
> +	while (readl(fep->hwp + FEC_MIIGSK_ENR) & 4)
> +		udelay(1);
> +
> +	/* configure the gasket for RMII, 50 MHz, no loopback, no echo */
> +	writel(1, fep->hwp + FEC_MIIGSK_CFGR);
> +
> +	/* re-enable the gasket */
> +	writel(2, fep->hwp + FEC_MIIGSK_ENR);
                              ^^^^^^^^^^^^^^

> +}

This will not compile for some CPU types that use this driver.


> +
>  /* This function is called to start or restart the FEC during a link
>   * change.  This only happens when switching between half and full
>   * duplex.
> @@ -1810,6 +1830,8 @@ fec_restart(struct net_device *dev, int duplex)
>  	/* Set MII speed */
>  	writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
>  
> +	fec_localhw_setup(dev);
> +
>  	/* And last, enable the transmit and receive processing */
>  	writel(2, fep->hwp + FEC_ECNTRL);
>  	writel(0, fep->hwp + FEC_R_DES_ACTIVE);
> diff --git a/drivers/net/fec.h b/drivers/net/fec.h
> index cc47f3f..2c48b25 100644
> --- a/drivers/net/fec.h
> +++ b/drivers/net/fec.h
> @@ -43,6 +43,8 @@
>  #define FEC_R_DES_START		0x180 /* Receive descriptor ring */
>  #define FEC_X_DES_START		0x184 /* Transmit descriptor ring */
>  #define FEC_R_BUFF_SIZE		0x188 /* Maximum receive buff size */
> +#define FEC_MIIGSK_CFGR		0x300 /* MIIGSK Configuration reg */
> +#define FEC_MIIGSK_ENR		0x308 /* MIIGSK Enable reg */

These are defined in a conditional section for certain CPU types.
There is no definitions for the other "#else" section here.

Regards
Greg


-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg at snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
8 Gardner Close                             FAX:         +61 7 3217 5323
Milton, QLD, 4064, Australia                WEB: http://www.SnapGear.com

WARNING: multiple messages have this Message-ID (diff)
From: Greg Ungerer <gerg@snapgear.com>
To: Baruch Siach <baruch@tkos.co.il>
Cc: Sascha Hauer <kernel@pengutronix.de>,
	netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 3/4] fec: add support for Freescale i.MX25 PDK (3DS)
Date: Tue, 15 Dec 2009 11:27:59 +1000	[thread overview]
Message-ID: <4B26E61F.7030709@snapgear.com> (raw)
In-Reply-To: <fb518184b206ec2727deda111cc5364134ace69a.1260785451.git.baruch@tkos.co.il>

Hi Baruch,

Baruch Siach wrote:
> The i.MX25 PDK uses RMII to communicate with its PHY. This patch adds the
> necessary bits to make the i.MX25 talk RMII.
> 
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> ---
>  drivers/net/fec.c |   22 ++++++++++++++++++++++
>  drivers/net/fec.h |    2 ++
>  2 files changed, 24 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/fec.c b/drivers/net/fec.c
> index 16a1d58..65c43d3 100644
> --- a/drivers/net/fec.c
> +++ b/drivers/net/fec.c
> @@ -51,6 +51,7 @@
>  #include "fec.h"
>  
>  #ifdef CONFIG_ARCH_MXC
> +#include <asm/mach-types.h>
>  #include <mach/hardware.h>
>  #define FEC_ALIGNMENT	0xf
>  #else
> @@ -1722,6 +1723,25 @@ static int fec_enet_init(struct net_device *dev, int index)
>  	return 0;
>  }
>  
> +static void fec_localhw_setup(struct net_device *dev)
> +{
> +	struct fec_enet_private *fep = netdev_priv(dev);
> +
> +	if (!machine_is_mx25_3ds())
> +		return;
> +
> +	/* disable the gasket and wait */
> +	writel(0, fep->hwp + FEC_MIIGSK_ENR);
> +	while (readl(fep->hwp + FEC_MIIGSK_ENR) & 4)
> +		udelay(1);
> +
> +	/* configure the gasket for RMII, 50 MHz, no loopback, no echo */
> +	writel(1, fep->hwp + FEC_MIIGSK_CFGR);
> +
> +	/* re-enable the gasket */
> +	writel(2, fep->hwp + FEC_MIIGSK_ENR);
                              ^^^^^^^^^^^^^^

> +}

This will not compile for some CPU types that use this driver.


> +
>  /* This function is called to start or restart the FEC during a link
>   * change.  This only happens when switching between half and full
>   * duplex.
> @@ -1810,6 +1830,8 @@ fec_restart(struct net_device *dev, int duplex)
>  	/* Set MII speed */
>  	writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
>  
> +	fec_localhw_setup(dev);
> +
>  	/* And last, enable the transmit and receive processing */
>  	writel(2, fep->hwp + FEC_ECNTRL);
>  	writel(0, fep->hwp + FEC_R_DES_ACTIVE);
> diff --git a/drivers/net/fec.h b/drivers/net/fec.h
> index cc47f3f..2c48b25 100644
> --- a/drivers/net/fec.h
> +++ b/drivers/net/fec.h
> @@ -43,6 +43,8 @@
>  #define FEC_R_DES_START		0x180 /* Receive descriptor ring */
>  #define FEC_X_DES_START		0x184 /* Transmit descriptor ring */
>  #define FEC_R_BUFF_SIZE		0x188 /* Maximum receive buff size */
> +#define FEC_MIIGSK_CFGR		0x300 /* MIIGSK Configuration reg */
> +#define FEC_MIIGSK_ENR		0x308 /* MIIGSK Enable reg */

These are defined in a conditional section for certain CPU types.
There is no definitions for the other "#else" section here.

Regards
Greg


-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
8 Gardner Close                             FAX:         +61 7 3217 5323
Milton, QLD, 4064, Australia                WEB: http://www.SnapGear.com

  parent reply	other threads:[~2009-12-15  1:27 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-14 10:19 [PATCH 0/4] mx25: add support for FEC on i.MX25 PDK Baruch Siach
2009-12-14 10:19 ` Baruch Siach
2009-12-14 10:19 ` [PATCH 1/4] mx25: s/NO_PAD_CTL/NO_PAD_CTRL/ Baruch Siach
2009-12-14 10:19   ` Baruch Siach
2009-12-21 11:02   ` Sascha Hauer
2009-12-21 11:02     ` Sascha Hauer
2009-12-14 10:19 ` [PATCH 2/4] mx25: don't force input on FEC pins Baruch Siach
2009-12-14 10:19   ` Baruch Siach
2009-12-21 11:04   ` Sascha Hauer
2009-12-21 11:04     ` Sascha Hauer
2009-12-22  7:12     ` Baruch Siach
2009-12-22  7:12       ` Baruch Siach
2009-12-14 10:19 ` [PATCH 3/4] fec: add support for Freescale i.MX25 PDK (3DS) Baruch Siach
2009-12-14 10:19   ` Baruch Siach
2009-12-14 10:33   ` Sascha Hauer
2009-12-14 10:33     ` Sascha Hauer
2009-12-15  8:31     ` Baruch Siach
2009-12-15  8:31       ` Baruch Siach
2009-12-15 11:52       ` Greg Ungerer
2009-12-15 11:52         ` Greg Ungerer
2009-12-15 20:11         ` Baruch Siach
2009-12-15 20:11           ` Baruch Siach
2009-12-16  0:13           ` Greg Ungerer
2009-12-16  0:13             ` Greg Ungerer
2009-12-16  6:34             ` Baruch Siach
2009-12-16  6:34               ` Baruch Siach
2009-12-16  6:49               ` Greg Ungerer
2009-12-16  6:49                 ` Greg Ungerer
2009-12-16  7:07                 ` Baruch Siach
2009-12-16  7:07                   ` Baruch Siach
2010-01-05  8:24               ` Baruch Siach
2010-01-05  8:24                 ` Baruch Siach
2010-01-11  3:25                 ` Greg Ungerer
2010-01-11  3:25                   ` Greg Ungerer
2010-01-25 11:21               ` Baruch Siach
2010-01-25 11:21                 ` Baruch Siach
2010-05-19 15:15                 ` Jean-Christophe Dubois
2010-05-19 15:15                   ` Jean-Christophe Dubois
2010-05-20  6:46                   ` Sascha Hauer
2010-05-20  6:46                     ` Sascha Hauer
2010-05-20  6:49                     ` David Miller
2010-05-20  6:49                       ` David Miller
2009-12-15  1:27   ` Greg Ungerer [this message]
2009-12-15  1:27     ` Greg Ungerer
2009-12-15  6:08     ` Baruch Siach
2009-12-15  6:08       ` Baruch Siach
2009-12-14 10:19 ` [PATCH 4/4] mx25: add support for FEC on i.MX25 PDK Baruch Siach
2009-12-14 10:19   ` Baruch Siach
2009-12-15  8:47   ` Baruch Siach
2009-12-15  8:47     ` Baruch Siach
2009-12-21 11:08   ` Sascha Hauer
2009-12-21 11:08     ` Sascha Hauer
2009-12-21 11:44     ` [PATCH 1/2] mx25: add support for FEC on i.MX25 Baruch Siach
2009-12-21 11:44       ` Baruch Siach
2009-12-21 11:44     ` [PATCH 2/2] mx25: pdk: add platform code for FEC support Baruch Siach
2009-12-21 11:44       ` Baruch Siach
2009-12-21  6:04 ` [PATCH 0/4] mx25: add support for FEC on i.MX25 PDK Baruch Siach
2009-12-21  6:04   ` Baruch Siach

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=4B26E61F.7030709@snapgear.com \
    --to=gerg@snapgear.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.