From: baruch@tkos.co.il (Baruch Siach)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] fec: add support for Freescale i.MX25 PDK (3DS)
Date: Wed, 16 Dec 2009 08:34:06 +0200 [thread overview]
Message-ID: <20091216063402.GA13160@jasper.tkos.co.il> (raw)
In-Reply-To: <4B282644.8030104@snapgear.com>
Hi Greg,
On Wed, Dec 16, 2009 at 10:13:56AM +1000, Greg Ungerer wrote:
> Baruch Siach wrote:
> >On Tue, Dec 15, 2009 at 09:52:24PM +1000, Greg Ungerer wrote:
> >>On 12/15/2009 06:31 PM, Baruch Siach wrote:
> >>>+#ifndef CONFIG_M5272
> >>I would suggest making this conditional on FEC_MIIGSK_ENR.
> >>Although the CONFIG_M5272 is the only case here currently,
> >>that may change over the years. And using this here may not
> >>be obvious to the causual code reader, since the register
> >>offset definitions don't explicitly key on CONFIG_M5272.
> >
> >OK, I'll change this conditional.
> >
> >Can I take this as an Ack from you?
>
> With that conditional check changed, sure:
>
> Acked-by: Greg Ungerer <gerg@uclinux.org>
Thanks. The updated patch below.
baruch
WARNING: multiple messages have this Message-ID (diff)
From: Baruch Siach <baruch@tkos.co.il>
To: Greg Ungerer <gerg@snapgear.com>
Cc: Sascha Hauer <s.hauer@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: Wed, 16 Dec 2009 08:34:06 +0200 [thread overview]
Message-ID: <20091216063402.GA13160@jasper.tkos.co.il> (raw)
In-Reply-To: <4B282644.8030104@snapgear.com>
Hi Greg,
On Wed, Dec 16, 2009 at 10:13:56AM +1000, Greg Ungerer wrote:
> Baruch Siach wrote:
> >On Tue, Dec 15, 2009 at 09:52:24PM +1000, Greg Ungerer wrote:
> >>On 12/15/2009 06:31 PM, Baruch Siach wrote:
> >>>+#ifndef CONFIG_M5272
> >>I would suggest making this conditional on FEC_MIIGSK_ENR.
> >>Although the CONFIG_M5272 is the only case here currently,
> >>that may change over the years. And using this here may not
> >>be obvious to the causual code reader, since the register
> >>offset definitions don't explicitly key on CONFIG_M5272.
> >
> >OK, I'll change this conditional.
> >
> >Can I take this as an Ack from you?
>
> With that conditional check changed, sure:
>
> Acked-by: Greg Ungerer <gerg@uclinux.org>
Thanks. The updated patch below.
baruch
>From 2d0751f868519978603b16baa197bfb9f9ec9e2e Mon Sep 17 00:00:00 2001
Message-Id: <2d0751f868519978603b16baa197bfb9f9ec9e2e.1260945080.git.baruch@tkos.co.il>
From: Baruch Siach <baruch@tkos.co.il>
Date: Mon, 14 Dec 2009 10:36:50 +0200
Subject: [PATCH] fec: add support for PHY interface platform data
The i.MX25 PDK uses RMII to communicate with its PHY. This patch adds the
ability to configure RMII, based on platform data.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Greg Ungerer <gerg@uclinux.org>
---
drivers/net/fec.c | 22 ++++++++++++++++++++++
drivers/net/fec.h | 2 ++
include/linux/fec.h | 21 +++++++++++++++++++++
3 files changed, 45 insertions(+), 0 deletions(-)
create mode 100644 include/linux/fec.h
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 16a1d58..a7cfe0d 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -40,6 +40,7 @@
#include <linux/irq.h>
#include <linux/clk.h>
#include <linux/platform_device.h>
+#include <linux/fec.h>
#include <asm/cacheflush.h>
@@ -198,6 +199,7 @@ struct fec_enet_private {
uint phy_speed;
phy_info_t const *phy;
struct work_struct phy_task;
+ phy_interface_t phy_interface;
uint sequence_done;
uint mii_phy_task_queued;
@@ -1810,6 +1812,21 @@ fec_restart(struct net_device *dev, int duplex)
/* Set MII speed */
writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
+#ifdef FEC_MIIGSK_ENR
+ if (fep->phy_interface == PHY_INTERFACE_MODE_RMII) {
+ /* 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: 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);
+ }
+#endif
+
/* And last, enable the transmit and receive processing */
writel(2, fep->hwp + FEC_ECNTRL);
writel(0, fep->hwp + FEC_R_DES_ACTIVE);
@@ -1847,6 +1864,7 @@ static int __devinit
fec_probe(struct platform_device *pdev)
{
struct fec_enet_private *fep;
+ struct fec_platform_data *pdata;
struct net_device *ndev;
int i, irq, ret = 0;
struct resource *r;
@@ -1879,6 +1897,10 @@ fec_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, ndev);
+ pdata = pdev->dev.platform_data;
+ if (pdata)
+ fep->phy_interface = pdata->phy;
+
/* This device has up to three irqs on some platforms */
for (i = 0; i < 3; i++) {
irq = platform_get_irq(pdev, i);
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 */
#else
diff --git a/include/linux/fec.h b/include/linux/fec.h
new file mode 100644
index 0000000..5d3523d
--- /dev/null
+++ b/include/linux/fec.h
@@ -0,0 +1,21 @@
+/* include/linux/fec.h
+ *
+ * Copyright (c) 2009 Orex Computed Radiography
+ * Baruch Siach <baruch@tkos.co.il>
+ *
+ * Header file for the FEC platform data
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef __LINUX_FEC_H__
+#define __LINUX_FEC_H__
+
+#include <linux/phy.h>
+
+struct fec_platform_data {
+ phy_interface_t phy;
+};
+
+#endif
--
1.6.5
--
~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
next prev parent reply other threads:[~2009-12-16 6:34 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 [this message]
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
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=20091216063402.GA13160@jasper.tkos.co.il \
--to=baruch@tkos.co.il \
--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.