[U-Boot] [PATCH v2] drivers: net: remove dead drivers

Masahiro Yamada yamada.m at jp.panasonic.com
Mon Aug 4 01:11:37 CEST 2014


The following configs are not defined at all:

 - CONFIG_INCA_IP_SWITCH
 - CONFIG_PBL2800_ETHER
 - CONFIG_PHY_ICPLUS

Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
---
I built all the boards and I confirmed this patch is harmless.

Changes in v2:
  - Do not delete the Faraday driver

 drivers/net/Makefile      |   2 -
 drivers/net/phy/Makefile  |   1 -
 drivers/net/phy/icplus.c  |  80 ----------
 drivers/net/phy/phy.c     |   3 -
 drivers/net/plb2800_eth.c | 373 ----------------------------------------------
 include/netdev.h          |   1 -
 6 files changed, 460 deletions(-)
 delete mode 100644 drivers/net/phy/icplus.c
 delete mode 100644 drivers/net/plb2800_eth.c

diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 7cc6b6f..84b8ec4 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -30,7 +30,6 @@ obj-$(CONFIG_FTGMAC100) += ftgmac100.o
 obj-$(CONFIG_FTMAC110) += ftmac110.o
 obj-$(CONFIG_FTMAC100) += ftmac100.o
 obj-$(CONFIG_GRETH) += greth.o
-obj-$(CONFIG_INCA_IP_SWITCH) += inca-ip_sw.o
 obj-$(CONFIG_DRIVER_TI_KEYSTONE_NET) += keystone_net.o
 obj-$(CONFIG_DRIVER_KS8695ETH) += ks8695eth.o
 obj-$(CONFIG_KS8851_MLL) += ks8851_mll.o
@@ -46,7 +45,6 @@ obj-$(CONFIG_DRIVER_AX88796L) += ax88796.o ne2000_base.o
 obj-$(CONFIG_NETCONSOLE) += netconsole.o
 obj-$(CONFIG_NS8382X) += ns8382x.o
 obj-$(CONFIG_PCNET) += pcnet.o
-obj-$(CONFIG_PLB2800_ETHER) += plb2800_eth.o
 obj-$(CONFIG_RTL8139) += rtl8139.o
 obj-$(CONFIG_RTL8169) += rtl8169.o
 obj-$(CONFIG_SH_ETHER) += sh_eth.o
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
index dbf7bf7..9556536 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -15,7 +15,6 @@ obj-$(CONFIG_PHY_ATHEROS) += atheros.o
 obj-$(CONFIG_PHY_BROADCOM) += broadcom.o
 obj-$(CONFIG_PHY_DAVICOM) += davicom.o
 obj-$(CONFIG_PHY_ET1011C) += et1011c.o
-obj-$(CONFIG_PHY_ICPLUS) += icplus.o
 obj-$(CONFIG_PHY_LXT) += lxt.o
 obj-$(CONFIG_PHY_MARVELL) += marvell.o
 obj-$(CONFIG_PHY_MICREL) += micrel.o
diff --git a/drivers/net/phy/icplus.c b/drivers/net/phy/icplus.c
deleted file mode 100644
index 5971955..0000000
--- a/drivers/net/phy/icplus.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * ICPlus PHY drivers
- *
- * SPDX-License-Identifier:	GPL-2.0+
- *
- * Copyright (c) 2007 Freescale Semiconductor, Inc.
- */
-#include <phy.h>
-
-/* IP101A/G - IP1001 */
-#define IP10XX_SPEC_CTRL_STATUS         16      /* Spec. Control Register */
-#define IP1001_SPEC_CTRL_STATUS_2       20      /* IP1001 Spec. Control Reg 2 */
-#define IP1001_PHASE_SEL_MASK           3       /* IP1001 RX/TXPHASE_SEL */
-#define IP1001_APS_ON                   11      /* IP1001 APS Mode  bit */
-#define IP101A_G_APS_ON                 2       /* IP101A/G APS Mode bit */
-#define IP101A_G_IRQ_CONF_STATUS        0x11    /* Conf Info IRQ & Status Reg */
-#define IP101A_G_IRQ_PIN_USED           (1<<15) /* INTR pin used */
-#define IP101A_G_IRQ_DEFAULT            IP101A_G_IRQ_PIN_USED
-
-static int ip1001_config(struct phy_device *phydev)
-{
-	int c;
-
-	/* Enable Auto Power Saving mode */
-	c = phy_read(phydev, MDIO_DEVAD_NONE, IP1001_SPEC_CTRL_STATUS_2);
-	if (c < 0)
-		return c;
-	c |= IP1001_APS_ON;
-	c = phy_write(phydev, MDIO_DEVAD_NONE, IP1001_SPEC_CTRL_STATUS_2, c);
-	if (c < 0)
-		return c;
-
-	/* INTR pin used: speed/link/duplex will cause an interrupt */
-	c = phy_write(phydev, MDIO_DEVAD_NONE, IP101A_G_IRQ_CONF_STATUS,
-		      IP101A_G_IRQ_DEFAULT);
-	if (c < 0)
-		return c;
-
-	if (phydev->interface == PHY_INTERFACE_MODE_RGMII) {
-		/*
-		 * Additional delay (2ns) used to adjust RX clock phase
-		 * at RGMII interface
-		 */
-		c = phy_read(phydev, MDIO_DEVAD_NONE, IP10XX_SPEC_CTRL_STATUS);
-		if (c < 0)
-			return c;
-
-		c |= IP1001_PHASE_SEL_MASK;
-		c = phy_write(phydev, MDIO_DEVAD_NONE, IP10XX_SPEC_CTRL_STATUS,
-			      c);
-		if (c < 0)
-			return c;
-	}
-
-	return 0;
-}
-
-static int ip1001_startup(struct phy_device *phydev)
-{
-	genphy_update_link(phydev);
-	genphy_parse_link(phydev);
-
-	return 0;
-}
-static struct phy_driver IP1001_driver = {
-	.name = "ICPlus IP1001",
-	.uid = 0x02430d90,
-	.mask = 0x0ffffff0,
-	.features = PHY_GBIT_FEATURES,
-	.config = &ip1001_config,
-	.startup = &ip1001_startup,
-	.shutdown = &genphy_shutdown,
-};
-
-int phy_icplus_init(void)
-{
-	phy_register(&IP1001_driver);
-
-	return 0;
-}
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index aac85c4..1d6c14f 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -454,9 +454,6 @@ int phy_init(void)
 #ifdef CONFIG_PHY_ET1011C
 	phy_et1011c_init();
 #endif
-#ifdef CONFIG_PHY_ICPLUS
-	phy_icplus_init();
-#endif
 #ifdef CONFIG_PHY_LXT
 	phy_lxt_init();
 #endif
diff --git a/drivers/net/plb2800_eth.c b/drivers/net/plb2800_eth.c
deleted file mode 100644
index f869514..0000000
--- a/drivers/net/plb2800_eth.c
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
- * PLB2800 internal switch ethernet driver.
- *
- * (C) Copyright 2003
- * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <malloc.h>
-#include <net.h>
-#include <netdev.h>
-#include <asm/addrspace.h>
-
-
-#define NUM_RX_DESC	PKTBUFSRX
-#define TOUT_LOOP	1000000
-
-#define LONG_REF(addr) (*((volatile unsigned long*)addr))
-
-#define CMAC_CRX_CTRL	LONG_REF(0xb800c870)
-#define CMAC_CTX_CTRL	LONG_REF(0xb800c874)
-#define SYS_MAC_ADDR_0	LONG_REF(0xb800c878)
-#define SYS_MAC_ADDR_1	LONG_REF(0xb800c87c)
-#define MIPS_H_MASK	LONG_REF(0xB800C810)
-
-#define MA_LEARN	LONG_REF(0xb8008004)
-#define DA_LOOKUP	LONG_REF(0xb8008008)
-
-#define CMAC_CRX_CTRL_PD	0x00000001
-#define CMAC_CRX_CTRL_CG	0x00000002
-#define CMAC_CRX_CTRL_PL_SHIFT	2
-#define CMAC_CRIT		0x0
-#define CMAC_NON_CRIT		0x1
-#define MBOX_STAT_ID_SHF	28
-#define MBOX_STAT_CP		0x80000000
-#define MBOX_STAT_MB		0x00000001
-#define EN_MA_LEARN		0x02000000
-#define EN_DA_LKUP		0x01000000
-#define MA_DEST_SHF		11
-#define DA_DEST_SHF		11
-#define DA_STATE_SHF		19
-#define TSTAMP_MS		0x00000000
-#define SW_H_MBOX4_MASK		0x08000000
-#define SW_H_MBOX3_MASK		0x04000000
-#define SW_H_MBOX2_MASK		0x02000000
-#define SW_H_MBOX1_MASK		0x01000000
-
-typedef volatile struct {
-  unsigned int stat;
-  unsigned int cmd;
-  unsigned int cnt;
-  unsigned int adr;
-} mailbox_t;
-
-#define MBOX_REG(mb) ((mailbox_t*)(0xb800c830+(mb<<4)))
-
-typedef volatile struct {
-  unsigned int word0;
-  unsigned int word1;
-  unsigned int word2;
-} mbhdr_t;
-
-#define MBOX_MEM(mb) ((void*)(0xb800a000+((3-mb)<<11)))
-
-
-static int plb2800_eth_init(struct eth_device *dev, bd_t * bis);
-static int plb2800_eth_send(struct eth_device *dev, void *packet, int length);
-static int plb2800_eth_recv(struct eth_device *dev);
-static void plb2800_eth_halt(struct eth_device *dev);
-
-static void plb2800_set_mac_addr(struct eth_device *dev, unsigned char * addr);
-static unsigned char * plb2800_get_mac_addr(void);
-
-static int rx_new;
-static int mac_addr_set = 0;
-
-
-int plb2800_eth_initialize(bd_t * bis)
-{
-	struct eth_device *dev;
-	ulong temp;
-
-#ifdef DEBUG
-	printf("Entered plb2800_eth_initialize()\n");
-#endif
-
-	if (!(dev = (struct eth_device *) malloc (sizeof *dev)))
-	{
-		printf("Failed to allocate memory\n");
-		return -1;
-	}
-	memset(dev, 0, sizeof(*dev));
-
-	sprintf(dev->name, "PLB2800 Switch");
-	dev->init = plb2800_eth_init;
-	dev->halt = plb2800_eth_halt;
-	dev->send = plb2800_eth_send;
-	dev->recv = plb2800_eth_recv;
-
-	eth_register(dev);
-
-	/* bug fix */
-	*(ulong *)0xb800e800 = 0x838;
-
-	/* Set MBOX ownership */
-	temp = CMAC_CRIT << MBOX_STAT_ID_SHF;
-	MBOX_REG(0)->stat = temp;
-	MBOX_REG(1)->stat = temp;
-
-	temp = CMAC_NON_CRIT << MBOX_STAT_ID_SHF;
-	MBOX_REG(2)->stat = temp;
-	MBOX_REG(3)->stat = temp;
-
-	plb2800_set_mac_addr(dev, plb2800_get_mac_addr());
-
-	/* Disable all Mbox interrupt */
-	temp = MIPS_H_MASK;
-	temp &= ~ (SW_H_MBOX1_MASK | SW_H_MBOX2_MASK | SW_H_MBOX3_MASK | SW_H_MBOX4_MASK) ;
-	MIPS_H_MASK = temp;
-
-#ifdef DEBUG
-	printf("Leaving plb2800_eth_initialize()\n");
-#endif
-
-	return 0;
-}
-
-static int plb2800_eth_init(struct eth_device *dev, bd_t * bis)
-{
-#ifdef DEBUG
-	printf("Entering plb2800_eth_init()\n");
-#endif
-
-	plb2800_set_mac_addr(dev, dev->enetaddr);
-
-	rx_new = 0;
-
-#ifdef DEBUG
-	printf("Leaving plb2800_eth_init()\n");
-#endif
-
-	return 0;
-}
-
-
-static int plb2800_eth_send(struct eth_device *dev, void *packet, int length)
-{
-	int                    i;
-	int                    res         = -1;
-	u32                    temp;
-	mailbox_t *            mb          = MBOX_REG(0);
-	char      *            mem         = MBOX_MEM(0);
-
-#ifdef DEBUG
-	printf("Entered plb2800_eth_send()\n");
-#endif
-
-	if (length <= 0)
-	{
-		printf ("%s: bad packet size: %d\n", dev->name, length);
-		goto Done;
-	}
-
-	if (length < 64)
-	{
-		length = 64;
-	}
-
-	temp = CMAC_CRX_CTRL_CG | ((length + 4) << CMAC_CRX_CTRL_PL_SHIFT);
-
-#ifdef DEBUG
-	printf("0 mb->stat = 0x%x\n",  mb->stat);
-#endif
-
-	for(i = 0; mb->stat & (MBOX_STAT_CP | MBOX_STAT_MB); i++)
-	{
-		if (i >= TOUT_LOOP)
-		{
-			printf("%s: tx buffer not ready\n", dev->name);
-			printf("1 mb->stat = 0x%x\n",  mb->stat);
-			goto Done;
-		}
-	}
-
-		/* For some strange reason, memcpy doesn't work, here!
-		 */
-	do
-	{
-		int words = (length >> 2) + 1;
-		unsigned int* dst = (unsigned int*)(mem);
-		unsigned int* src = (unsigned int*)(packet);
-		for (i = 0; i < words; i++)
-		{
-			*dst = *src;
-			dst++;
-			src++;
-		};
-	} while(0);
-
-	CMAC_CRX_CTRL = temp;
-	mb->cmd = MBOX_STAT_CP;
-
-#ifdef DEBUG
-	printf("2 mb->stat = 0x%x\n",  mb->stat);
-#endif
-
-	res = length;
-Done:
-
-#ifdef DEBUG
-	printf("Leaving plb2800_eth_send()\n");
-#endif
-
-	return res;
-}
-
-
-static int plb2800_eth_recv(struct eth_device *dev)
-{
-	int                    length  = 0;
-	mailbox_t            * mbox    = MBOX_REG(3);
-	unsigned char        * hdr     = MBOX_MEM(3);
-	unsigned int           stat;
-
-#ifdef DEBUG
-	printf("Entered plb2800_eth_recv()\n");
-#endif
-
-	for (;;)
-	{
-		stat = mbox->stat;
-
-		if (!(stat & MBOX_STAT_CP))
-		{
-			break;
-		}
-
-		length = ((*(hdr + 6) & 0x3f) << 8) + *(hdr + 7);
-		memcpy((void *)NetRxPackets[rx_new], hdr + 12, length);
-
-		stat &= ~MBOX_STAT_CP;
-		mbox->stat = stat;
-#ifdef DEBUG
-		{
-			int i;
-			for (i=0;i<length - 4;i++)
-			{
-				if (i % 16 == 0) printf("\n%04x: ", i);
-				printf("%02X ", NetRxPackets[rx_new][i]);
-			}
-			printf("\n");
-		}
-#endif
-
-		if (length)
-		{
-#ifdef DEBUG
-			printf("Received %d bytes\n", length);
-#endif
-			NetReceive((void*)(NetRxPackets[rx_new]),
-				    length - 4);
-		}
-		else
-		{
-#if 1
-			printf("Zero length!!!\n");
-#endif
-		}
-
-		rx_new = (rx_new + 1) % NUM_RX_DESC;
-	}
-
-#ifdef DEBUG
-	printf("Leaving plb2800_eth_recv()\n");
-#endif
-
-	return length;
-}
-
-
-static void plb2800_eth_halt(struct eth_device *dev)
-{
-#ifdef DEBUG
-	printf("Entered plb2800_eth_halt()\n");
-#endif
-
-#ifdef DEBUG
-	printf("Leaving plb2800_eth_halt()\n");
-#endif
-}
-
-static void plb2800_set_mac_addr(struct eth_device *dev, unsigned char * addr)
-{
-	char packet[60];
-	ulong temp;
-	int ix;
-
-	if (mac_addr_set ||
-	    NULL == addr || memcmp(addr, "\0\0\0\0\0\0", 6) == 0)
-	{
-		return;
-	}
-
-	/* send one packet through CPU port
-	 * in order to learn system MAC address
-	 */
-
-	/* Set DA_LOOKUP register */
-	temp = EN_MA_LEARN | (0 << DA_STATE_SHF) | (63 << DA_DEST_SHF);
-	DA_LOOKUP = temp;
-
-	/* Set MA_LEARN register */
-	temp = 50 << MA_DEST_SHF;	/* static entry */
-	MA_LEARN = temp;
-
-	/* set destination address */
-	for (ix=0;ix<6;ix++)
-		packet[ix] = 0xff;
-
-	/* set source address = system MAC address */
-	for (ix=0;ix<6;ix++)
-		packet[6+ix] = addr[ix];
-
-	/* set type field */
-	packet[12]=0xaa;
-	packet[13]=0x55;
-
-	/* set data field */
-	for(ix=14;ix<60;ix++)
-		packet[ix] = 0x00;
-
-#ifdef DEBUG
-	for (ix=0;ix<6;ix++)
-		printf("mac_addr[%d]=%02X\n", ix, (unsigned char)packet[6+ix]);
-#endif
-
-	/* set one packet */
-	plb2800_eth_send(dev, packet, sizeof(packet));
-
-	/* delay for a while */
-	for(ix=0;ix<65535;ix++)
-		temp = ~temp;
-
-	/* Set CMAC_CTX_CTRL register */
-	temp = TSTAMP_MS;	/* no autocast */
-	CMAC_CTX_CTRL = temp;
-
-	/* Set DA_LOOKUP register */
-	temp = EN_DA_LKUP;
-	DA_LOOKUP = temp;
-
-	mac_addr_set = 1;
-}
-
-static unsigned char * plb2800_get_mac_addr(void)
-{
-	static unsigned char addr[6];
-	char *tmp, *end;
-	int i;
-
-	tmp = getenv ("ethaddr");
-	if (NULL == tmp) return NULL;
-
-	for (i=0; i<6; i++) {
-		addr[i] = tmp ? simple_strtoul(tmp, &end, 16) : 0;
-		if (tmp)
-			tmp = (*end) ? end+1 : end;
-	}
-
-	return addr;
-}
diff --git a/include/netdev.h b/include/netdev.h
index e45dd7a..260c8d0 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -69,7 +69,6 @@ int ne2k_register(void);
 int npe_initialize(bd_t *bis);
 int ns8382x_initialize(bd_t *bis);
 int pcnet_initialize(bd_t *bis);
-int plb2800_eth_initialize(bd_t *bis);
 int ppc_4xx_eth_initialize (bd_t *bis);
 int rtl8139_initialize(bd_t *bis);
 int rtl8169_initialize(bd_t *bis);
-- 
1.9.1



More information about the U-Boot mailing list