* [PATCH 9/10] Add Vitesse 8244 PHY for MPC8641 HPCN platform.
@ 2006-06-07 22:45 Jon Loeliger
2006-06-08 19:34 ` Jeff Garzik
0 siblings, 1 reply; 8+ messages in thread
From: Jon Loeliger @ 2006-06-07 22:45 UTC (permalink / raw)
To: linuxppc-dev@ozlabs.org, netdev, jeff
Signed-off-by: Kriston Carson <KristonCarson@freescale.com>
Signed-off-by: Xianghua Xiao <x.xiao@freescale.com>
Signed-off-by: Jon Loeliger <jdl@freescale.com>
---
drivers/net/Kconfig | 6 +-
drivers/net/phy/Kconfig | 5 ++
drivers/net/phy/Makefile | 1
drivers/net/phy/vitesse.c | 136 +++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 145 insertions(+), 3 deletions(-)
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index bdaaad8..c1c2758 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2179,11 +2179,11 @@ config SPIDER_NET
config GIANFAR
tristate "Gianfar Ethernet"
- depends on 85xx || 83xx
+ depends on 85xx || 83xx || PPC_86xx
select PHYLIB
help
- This driver supports the Gigabit TSEC on the MPC85xx
- family of chips, and the FEC on the 8540
+ This driver supports the Gigabit TSEC on the MPC83xx, MPC85xx,
+ and MPC86xx family of chips, and the FEC on the 8540.
config GFAR_NAPI
bool "NAPI Support"
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index fa39b94..76e51b1 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -44,6 +44,11 @@ config CICADA_PHY
depends on PHYLIB
---help---
Currently supports the cis8204
+config VITESSE_PHY
+ tristate "Drivers for the Vitesse PHYs"
+ depends on PHYLIB
+ ---help---
+ Currently supports the vsc8244
endmenu
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
index e4116a5..a8d066e 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -8,3 +8,4 @@ obj-$(CONFIG_DAVICOM_PHY) += davicom.o
obj-$(CONFIG_CICADA_PHY) += cicada.o
obj-$(CONFIG_LXT_PHY) += lxt.o
obj-$(CONFIG_QSEMI_PHY) += qsemi.o
+obj-$(CONFIG_VITESSE_PHY) += vitesse.o
diff --git a/drivers/net/phy/vitesse.c b/drivers/net/phy/vitesse.c
new file mode 100644
index 0000000..45a605f
--- /dev/null
+++ b/drivers/net/phy/vitesse.c
@@ -0,0 +1,136 @@
+/*
+ * Driver for Vitesse PHYs
+ *
+ * Author: Kriston Carson
+ *
+ * Copyright (c) 2005 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ */
+
+#include <linux/config.h>
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/string.h>
+#include <linux/errno.h>
+#include <linux/unistd.h>
+#include <linux/slab.h>
+#include <linux/interrupt.h>
+#include <linux/init.h>
+#include <linux/delay.h>
+#include <linux/netdevice.h>
+#include <linux/etherdevice.h>
+#include <linux/skbuff.h>
+#include <linux/spinlock.h>
+#include <linux/mm.h>
+#include <linux/module.h>
+#include <linux/version.h>
+#include <linux/mii.h>
+#include <linux/ethtool.h>
+#include <linux/phy.h>
+
+#include <asm/io.h>
+#include <asm/irq.h>
+#include <asm/uaccess.h>
+
+/* Vitesse Extended Control Register 1 */
+#define MII_VSC8244_EXT_CON1 0x17
+#define MII_VSC8244_EXTCON1_INIT 0x0000
+
+/* Vitesse Interrupt Mask Register */
+#define MII_VSC8244_IMASK 0x19
+#define MII_VSC8244_IMASK_IEN 0x8000
+#define MII_VSC8244_IMASK_SPEED 0x4000
+#define MII_VSC8244_IMASK_LINK 0x2000
+#define MII_VSC8244_IMASK_DUPLEX 0x1000
+#define MII_VSC8244_IMASK_MASK 0xf000
+
+/* Vitesse Interrupt Status Register */
+#define MII_VSC8244_ISTAT 0x1a
+#define MII_VSC8244_ISTAT_STATUS 0x8000
+#define MII_VSC8244_ISTAT_SPEED 0x4000
+#define MII_VSC8244_ISTAT_LINK 0x2000
+#define MII_VSC8244_ISTAT_DUPLEX 0x1000
+
+/* Vitesse Auxiliary Control/Status Register */
+#define MII_VSC8244_AUX_CONSTAT 0x1c
+#define MII_VSC8244_AUXCONSTAT_INIT 0x0004
+#define MII_VSC8244_AUXCONSTAT_DUPLEX 0x0020
+#define MII_VSC8244_AUXCONSTAT_SPEED 0x0018
+#define MII_VSC8244_AUXCONSTAT_GBIT 0x0010
+#define MII_VSC8244_AUXCONSTAT_100 0x0008
+
+MODULE_DESCRIPTION("Vitesse PHY driver");
+MODULE_AUTHOR("Kriston Carson");
+MODULE_LICENSE("GPL");
+
+static int vsc824x_config_init(struct phy_device *phydev)
+{
+ int err;
+
+ err = phy_write(phydev, MII_VSC8244_AUX_CONSTAT,
+ MII_VSC8244_AUXCONSTAT_INIT);
+
+ if (err < 0)
+ return err;
+
+ err = phy_write(phydev, MII_VSC8244_EXT_CON1,
+ MII_VSC8244_EXTCON1_INIT);
+
+ return err;
+
+}
+
+static int vsc824x_ack_interrupt(struct phy_device *phydev)
+{
+ int err = phy_read(phydev, MII_VSC8244_ISTAT);
+
+ return (err < 0) ? err : 0;
+
+}
+
+static int vsc824x_config_intr(struct phy_device *phydev)
+{
+ int err;
+
+ if (phydev->interrupts == PHY_INTERRUPT_ENABLED)
+ err = phy_write(phydev, MII_VSC8244_IMASK,
+ MII_VSC8244_IMASK_MASK);
+ else
+ err = phy_write(phydev, MII_VSC8244_IMASK, 0);
+
+ return err;
+
+}
+
+/* Vitesse 824x */
+static struct phy_driver vsc8244_driver = {
+ .phy_id = 0x000fc6c2,
+ .name = "Vitesse VSC8244",
+ .phy_id_mask = 0x000fffc0,
+ .features = PHY_GBIT_FEATURES,
+ .flags = PHY_HAS_INTERRUPT,
+ .config_init = &vsc824x_config_init,
+ .config_aneg = &genphy_config_aneg,
+ .read_status = &genphy_read_status,
+ .ack_interrupt = &vsc824x_ack_interrupt,
+ .config_intr = &vsc824x_config_intr,
+ .driver = { .owner = THIS_MODULE,},
+};
+
+static int __init vsc8244_init(void)
+{
+ return phy_driver_register(&vsc8244_driver);
+}
+
+static void __exit vsc8244_exit(void)
+{
+ phy_driver_unregister(&vsc8244_driver);
+}
+
+module_init(vsc8244_init);
+module_exit(vsc8244_exit);
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 9/10] Add Vitesse 8244 PHY for MPC8641 HPCN platform.
2006-06-07 22:45 [PATCH 9/10] Add Vitesse 8244 PHY for MPC8641 HPCN platform Jon Loeliger
@ 2006-06-08 19:34 ` Jeff Garzik
2006-06-08 20:13 ` Jon Loeliger
0 siblings, 1 reply; 8+ messages in thread
From: Jeff Garzik @ 2006-06-08 19:34 UTC (permalink / raw)
To: Jon Loeliger; +Cc: linuxppc-dev@ozlabs.org, netdev
Jon Loeliger wrote:
> Signed-off-by: Kriston Carson <KristonCarson@freescale.com>
> Signed-off-by: Xianghua Xiao <x.xiao@freescale.com>
> Signed-off-by: Jon Loeliger <jdl@freescale.com>
ACK, but patch does not apply to netdev-2.6.git#upstream.
Jeff
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 9/10] Add Vitesse 8244 PHY for MPC8641 HPCN platform.
2006-06-08 19:34 ` Jeff Garzik
@ 2006-06-08 20:13 ` Jon Loeliger
2006-06-08 20:36 ` Jeff Garzik
0 siblings, 1 reply; 8+ messages in thread
From: Jon Loeliger @ 2006-06-08 20:13 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linuxppc-dev@ozlabs.org, netdev
On Thu, 2006-06-08 at 14:34, Jeff Garzik wrote:
> Jon Loeliger wrote:
> > Signed-off-by: Kriston Carson <KristonCarson@freescale.com>
> > Signed-off-by: Xianghua Xiao <x.xiao@freescale.com>
> > Signed-off-by: Jon Loeliger <jdl@freescale.com>
>
> ACK, but patch does not apply to netdev-2.6.git#upstream.
>
> Jeff
Thanks, Jeff.
Are you willing to take the netdev parts as-is, then?
Or would you like me to reformat the netdev parts to
apply against the netdev-2.6.git#upstream branch?
The patch is currently for the Paul Mackerras powerpc.git
tree as it stands now. Should we apply it through that
path now as you have ACK'ed it?
Thanks,
jdl
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 9/10] Add Vitesse 8244 PHY for MPC8641 HPCN platform.
2006-06-08 20:13 ` Jon Loeliger
@ 2006-06-08 20:36 ` Jeff Garzik
2006-06-08 20:40 ` Jon Loeliger
0 siblings, 1 reply; 8+ messages in thread
From: Jeff Garzik @ 2006-06-08 20:36 UTC (permalink / raw)
To: Jon Loeliger; +Cc: linuxppc-dev@ozlabs.org, netdev
Jon Loeliger wrote:
> On Thu, 2006-06-08 at 14:34, Jeff Garzik wrote:
>> Jon Loeliger wrote:
>>> Signed-off-by: Kriston Carson <KristonCarson@freescale.com>
>>> Signed-off-by: Xianghua Xiao <x.xiao@freescale.com>
>>> Signed-off-by: Jon Loeliger <jdl@freescale.com>
>> ACK, but patch does not apply to netdev-2.6.git#upstream.
>>
>> Jeff
>
> Thanks, Jeff.
>
> Are you willing to take the netdev parts as-is, then?
> Or would you like me to reformat the netdev parts to
> apply against the netdev-2.6.git#upstream branch?
> The patch is currently for the Paul Mackerras powerpc.git
> tree as it stands now. Should we apply it through that
> path now as you have ACK'ed it?
Is it dependent on other stuff in Paul's tree?
Normally this should come through netdev-2.6.git#upstream...
Jeff
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 9/10] Add Vitesse 8244 PHY for MPC8641 HPCN platform.
2006-06-08 20:36 ` Jeff Garzik
@ 2006-06-08 20:40 ` Jon Loeliger
2006-06-08 20:46 ` Jeff Garzik
0 siblings, 1 reply; 8+ messages in thread
From: Jon Loeliger @ 2006-06-08 20:40 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linuxppc-dev@ozlabs.org, netdev
On Thu, 2006-06-08 at 15:36, Jeff Garzik wrote:
> Is it dependent on other stuff in Paul's tree?
Yes, very much so. Most of this patch set is an
entirely new PPC board port against his arch/powerpc
basis. The new PHY is incidentally on that board,
but the patches for its introduction could be
introduced through the netdev tree if needed.
It would just need to be coordinated some. I am,
of course, willing to work it either way as needed.
jdl
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 9/10] Add Vitesse 8244 PHY for MPC8641 HPCN platform.
2006-06-08 20:40 ` Jon Loeliger
@ 2006-06-08 20:46 ` Jeff Garzik
2006-06-08 20:52 ` Jon Loeliger
0 siblings, 1 reply; 8+ messages in thread
From: Jeff Garzik @ 2006-06-08 20:46 UTC (permalink / raw)
To: Jon Loeliger; +Cc: linuxppc-dev@ozlabs.org, Paul Mackerras, netdev
Jon Loeliger wrote:
> On Thu, 2006-06-08 at 15:36, Jeff Garzik wrote:
>> Is it dependent on other stuff in Paul's tree?
>
> Yes, very much so. Most of this patch set is an
> entirely new PPC board port against his arch/powerpc
> basis. The new PHY is incidentally on that board,
> but the patches for its introduction could be
> introduced through the netdev tree if needed.
> It would just need to be coordinated some. I am,
> of course, willing to work it either way as needed.
I leave it up to you and Paul to coordinate, then :)
I'm fine with the patch, and if its better to merge via linuxppc.git,
that's OK with me. If you would prefer to send it via my tree, to go
ahead and get it in, that's fine too.
Jeff
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 9/10] Add Vitesse 8244 PHY for MPC8641 HPCN platform.
2006-06-08 20:46 ` Jeff Garzik
@ 2006-06-08 20:52 ` Jon Loeliger
2006-06-08 21:01 ` Jeff Garzik
0 siblings, 1 reply; 8+ messages in thread
From: Jon Loeliger @ 2006-06-08 20:52 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linuxppc-dev@ozlabs.org, Paul Mackerras, netdev
On Thu, 2006-06-08 at 15:46, Jeff Garzik wrote:
> I leave it up to you and Paul to coordinate, then :)
>
> I'm fine with the patch, and if its better to merge via linuxppc.git,
> that's OK with me. If you would prefer to send it via my tree, to go
> ahead and get it in, that's fine too.
OK, thanks. I need to re-submit 5 of 10 parts for
other cleanup issues anyway, so I think I will:
- Resubmit the entire patch set,
- Resubmit netdev parts to Paul, and netdev with
an added ACK: by you line (OK?),
- Throw myself on the mercy of "Help us Obi-wan Mackerras"
and see what he says when he wakes up!
Thanks!
jdl
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 9/10] Add Vitesse 8244 PHY for MPC8641 HPCN platform.
2006-06-08 20:52 ` Jon Loeliger
@ 2006-06-08 21:01 ` Jeff Garzik
0 siblings, 0 replies; 8+ messages in thread
From: Jeff Garzik @ 2006-06-08 21:01 UTC (permalink / raw)
To: Jon Loeliger; +Cc: linuxppc-dev@ozlabs.org, Paul Mackerras, netdev
Jon Loeliger wrote:
> On Thu, 2006-06-08 at 15:46, Jeff Garzik wrote:
>
>> I leave it up to you and Paul to coordinate, then :)
>>
>> I'm fine with the patch, and if its better to merge via linuxppc.git,
>> that's OK with me. If you would prefer to send it via my tree, to go
>> ahead and get it in, that's fine too.
>
> OK, thanks. I need to re-submit 5 of 10 parts for
> other cleanup issues anyway, so I think I will:
>
> - Resubmit the entire patch set,
> - Resubmit netdev parts to Paul, and netdev with
> an added ACK: by you line (OK?),
OK with me. Since we use a specific header to indicate such, that would be:
Acked-by: Jeff Garzik <jeff@garzik.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-06-08 21:01 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-07 22:45 [PATCH 9/10] Add Vitesse 8244 PHY for MPC8641 HPCN platform Jon Loeliger
2006-06-08 19:34 ` Jeff Garzik
2006-06-08 20:13 ` Jon Loeliger
2006-06-08 20:36 ` Jeff Garzik
2006-06-08 20:40 ` Jon Loeliger
2006-06-08 20:46 ` Jeff Garzik
2006-06-08 20:52 ` Jon Loeliger
2006-06-08 21:01 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).