Explorar el Código

upgrade the ixp4xx ethernet driver to v0.3.1, split the Gateway 7001 support to two patches

SVN-Revision: 6489
Imre Kaloz hace 19 años
padre
commit
b97c7c0af6

+ 4 - 1
target/linux/ixp4xx-2.6/config/default

@@ -18,7 +18,9 @@ CONFIG_ARCH_AVILA=y
 # CONFIG_ARCH_INTEGRATOR is not set
 # CONFIG_ARCH_IOP32X is not set
 # CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IXDP425 is not set
+CONFIG_MACH_PRONGHORN=y
+CONFIG_MACH_PRONGHORNMETRO=y
+CONFIG_ARCH_IXDP425=y
 CONFIG_ARCH_IXDP4XX=y
 # CONFIG_ARCH_IXP2000 is not set
 # CONFIG_ARCH_IXP23XX is not set
@@ -203,6 +205,7 @@ CONFIG_IXP4XX_NPE=y
 CONFIG_IXP4XX_NPE_FW_LOAD=y
 CONFIG_IXP4XX_NPE_FW_MTD=y
 CONFIG_IXP4XX_QMGR=y
+CONFIG_IXP4XX_CRYPTO=y
 CONFIG_IXP4XX_WATCHDOG=y
 # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
 CONFIG_JFFS2_FS_DEBUG=0

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2794 - 1261
target/linux/ixp4xx-2.6/patches/100-npe_driver.patch


+ 0 - 36
target/linux/ixp4xx-2.6/patches/101-npe_driver_fix_qmgr.patch

@@ -1,36 +0,0 @@
-
----
- drivers/net/ixp4xx/ixp4xx_qmgr.c |    8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
---- linux-ixp4xx.orig/drivers/net/ixp4xx/ixp4xx_qmgr.c	2006-10-15 18:52:35.000000000 +0200
-+++ linux-ixp4xx/drivers/net/ixp4xx/ixp4xx_qmgr.c	2006-10-15 18:54:32.000000000 +0200
-@@ -107,7 +107,7 @@ static int get_free_qspace(struct qm_qmg
- 	return -1;
- }
- 
--static inline int log2(int x)
-+static inline int _log2(int x)
- {
- 	int r=0;
- 	while(x>>=1)
-@@ -127,7 +127,7 @@ static inline int log2(int x)
-  */
- static int conf_q_regs(struct qm_queue *queue)
- {
--	int bsize = log2(queue->len/16);
-+	int bsize = _log2(queue->len/16);
- 	int baddr = queue->addr + IX_QMGR_QCFG_SIZE;
- 
- 	/* +2, because baddr is in words and not in bytes */
-@@ -141,8 +141,8 @@ void queue_set_watermarks(struct qm_queu
- 	u32 val;
- 	/* calculate the register values
- 	 * 0->0, 1->1, 2->2, 4->3, 8->4 16->5...*/
--	ne = log2(ne<<1) & 0x7;
--	nf = log2(nf<<1) & 0x7;
-+	ne = _log2(ne<<1) & 0x7;
-+	nf = _log2(nf<<1) & 0x7;
- 
- 	/* Mask out old watermarks */
- 	val = queue_read_cfg_reg(queue) & ~0xfc000000;

+ 26 - 45
target/linux/ixp4xx-2.6/patches/133-ixp4xx_net_driver_improve_mac_handling.patch

@@ -1,31 +1,10 @@
-Index: linux-2.6.19/include/asm-arm/arch-ixp4xx/platform.h
-===================================================================
---- linux-2.6.19.orig/include/asm-arm/arch-ixp4xx/platform.h
-+++ linux-2.6.19/include/asm-arm/arch-ixp4xx/platform.h
-@@ -100,6 +100,7 @@ struct mac_plat_info {
- 	int phy_id;	/* ID of the connected PHY (PCB/platform dependent) */
- 	int rxq_id;	/* Queue ID of the RX-free q*/
- 	int txq_id;	/* Where to push the outgoing packets */
-+	unsigned char hwaddr[6]; /* Desired hardware address */
- };
+diff -Naupr a/drivers/net/ixp4xx/mac_driver.c b/drivers/net/ixp4xx/mac_driver.c
+--- a/drivers/net/ixp4xx/mac_driver.c	2007-01-12 21:54:40.000000000 -0700
++++ b/drivers/net/ixp4xx/mac_driver.c	2007-01-12 22:27:18.000000000 -0700
+@@ -350,6 +350,16 @@ static int ixmac_open (struct net_device
+ 	mac->npe_stat_num = i<NPE_STAT_NUM ? NPE_STAT_NUM_BASE : NPE_STAT_NUM;
+ 	mac->npe_stat_num += NPE_Q_STAT_NUM;
  
- 
-Index: linux-2.6.19/drivers/net/ixp4xx/mac_driver.c
-===================================================================
---- linux-2.6.19.orig/drivers/net/ixp4xx/mac_driver.c
-+++ linux-2.6.19/drivers/net/ixp4xx/mac_driver.c
-@@ -189,6 +189,24 @@ static int ixmac_open (struct net_device
- 	}
- 	mac->rxq_pkt += RX_QUEUE_PREFILL;
- 
-+	/* printk(KERN_INFO "...Platform MAC=0x%02x%02x%02x%02x%02x%02x\n",
-+		mac->plat->hwaddr[0],
-+		mac->plat->hwaddr[1],
-+		mac->plat->hwaddr[2],
-+		mac->plat->hwaddr[3],
-+		mac->plat->hwaddr[4],
-+		mac->plat->hwaddr[5]
-+	); */
 +	/* Only use platform or random if there's currently no device hw addr */
 +	if (is_zero_ether_addr(dev->dev_addr)) {
 +		if (is_zero_ether_addr(mac->plat->hwaddr)) {
@@ -36,25 +15,27 @@ Index: linux-2.6.19/drivers/net/ixp4xx/mac_driver.c
 +			memcpy(dev->dev_addr, mac->plat->hwaddr, 6);
 +	}
 +
- 	mac_init(mac);
- 	npe_mh_set_rxqid(npe, mac->plat, RX_DONE_QID);
  	mac_set_uniaddr(dev);
-@@ -434,9 +452,15 @@ static int mac_probe(struct platform_dev
- 	 * following commands:
- 	 * "ip link set address 02:03:04:04:04:01 dev eth0"
- 	 * "ifconfig eth0 hw ether 02:03:04:04:04:07"
--	 */
--	random_ether_addr(dev->dev_addr);
--	dev->dev_addr[5] = plat->phy_id;
-+	*/
-+/*     Note: moved to ixmac_open to allow notifiers to run for compiled in modules
-+	if (is_zero_ether_addr(plat->hwaddr)) {
-+		random_ether_addr(dev->dev_addr);
-+		dev->dev_addr[5] = plat->phy_id;
-+	}
-+	else
-+		memcpy(dev->dev_addr, plat->hwaddr, 6);
-+*/
+ 	media_check(dev, 1);
+ 	ixmac_set_rx_mode(dev);
+@@ -691,20 +701,6 @@ static int mac_probe(struct platform_dev
+ 
+ 	INIT_WORK(&mac->mdio_thread, mac_mdio_thread, dev);
  
+-	/* The place of the MAC address is very system dependent.
+-	 * Here we use a random one to be replaced by one of the
+-	 * following commands:
+-	 * "ip link set address 02:03:04:04:04:01 dev eth0"
+-	 * "ifconfig eth0 hw ether 02:03:04:04:04:07"
+-	*/
+-
+-	if (is_zero_ether_addr(plat->hwaddr)) {
+-		random_ether_addr(dev->dev_addr);
+-		dev->dev_addr[5] = plat->phy_id;
+-	}
+-	else
+-		memcpy(dev->dev_addr, plat->hwaddr, 6);
+-
  	printk(KERN_INFO IXMAC_NAME " driver " IXMAC_VERSION
  			": %s on %s with PHY[%d] initialized\n",
+ 			dev->name, npe->plat->name, plat->phy_id);

+ 47 - 84
target/linux/ixp4xx-2.6/patches/139-ixp4xx_net_driver_mtd_load_fw.patch

@@ -1,7 +1,6 @@
-Index: linux-2.6.19/drivers/net/ixp4xx/Kconfig
-===================================================================
---- linux-2.6.19.orig/drivers/net/ixp4xx/Kconfig
-+++ linux-2.6.19/drivers/net/ixp4xx/Kconfig
+diff -Naupr a/drivers/net/ixp4xx/Kconfig b/drivers/net/ixp4xx/Kconfig
+--- a/drivers/net/ixp4xx/Kconfig	2007-01-12 21:54:40.000000000 -0700
++++ b/drivers/net/ixp4xx/Kconfig	2007-01-12 23:28:50.000000000 -0700
 @@ -11,6 +11,7 @@ config IXP4XX_NPE
  	tristate "IXP4xx NPE support"
  	depends on ARCH_IXP4XX
@@ -33,22 +32,19 @@ Index: linux-2.6.19/drivers/net/ixp4xx/Kconfig
  config IXP4XX_MAC
  	tristate "IXP4xx MAC support"
  	depends on IXP4XX_NPE
-Index: linux-2.6.19/drivers/net/ixp4xx/Makefile
-===================================================================
---- linux-2.6.19.orig/drivers/net/ixp4xx/Makefile
-+++ linux-2.6.19/drivers/net/ixp4xx/Makefile
-@@ -1,6 +1,7 @@
+diff -Naupr a/drivers/net/ixp4xx/Makefile b/drivers/net/ixp4xx/Makefile
+--- a/drivers/net/ixp4xx/Makefile	2007-01-12 21:54:40.000000000 -0700
++++ b/drivers/net/ixp4xx/Makefile	2007-01-12 23:28:50.000000000 -0700
+@@ -1,5 +1,6 @@
  obj-$(CONFIG_IXP4XX_QMGR) += ixp4xx_qmgr.o
  obj-$(CONFIG_IXP4XX_NPE) += ixp4xx_npe.o
- obj-$(CONFIG_IXP4XX_MAC) += ixp4xx_mac.o
 +obj-$(CONFIG_IXP4XX_NPE_FW_MTD) += npe_ucode.o
+ obj-$(CONFIG_IXP4XX_MAC) += ixp4xx_mac.o
+ obj-$(CONFIG_IXP4XX_CRYPTO) += ixp4xx_crypto.o
  
- ixp4xx_npe-objs := ucode_dl.o npe_mh.o
- ixp4xx_mac-objs := mac_driver.o qmgr_eth.o phy.o
-Index: linux-2.6.19/drivers/net/ixp4xx/npe_ucode.c
-===================================================================
---- /dev/null
-+++ linux-2.6.19/drivers/net/ixp4xx/npe_ucode.c
+diff -Naupr a/drivers/net/ixp4xx/npe_ucode.c b/drivers/net/ixp4xx/npe_ucode.c
+--- a/drivers/net/ixp4xx/npe_ucode.c	1969-12-31 17:00:00.000000000 -0700
++++ b/drivers/net/ixp4xx/npe_ucode.c	2007-01-12 23:28:50.000000000 -0700
 @@ -0,0 +1,185 @@
 +/*
 + * Provide an NPE platform device for microcode handling
@@ -235,10 +231,9 @@ Index: linux-2.6.19/drivers/net/ixp4xx/npe_ucode.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Alessandro Zummo <[email protected]>");
-Index: linux-2.6.19/drivers/net/ixp4xx/ucode_dl.c
-===================================================================
---- linux-2.6.19.orig/drivers/net/ixp4xx/ucode_dl.c
-+++ linux-2.6.19/drivers/net/ixp4xx/ucode_dl.c
+diff -Naupr a/drivers/net/ixp4xx/ucode_dl.c b/drivers/net/ixp4xx/ucode_dl.c
+--- a/drivers/net/ixp4xx/ucode_dl.c	2007-01-12 21:54:40.000000000 -0700
++++ b/drivers/net/ixp4xx/ucode_dl.c	2007-01-12 23:28:50.000000000 -0700
 @@ -16,6 +16,7 @@
  #include <linux/firmware.h>
  #include <linux/dma-mapping.h>
@@ -247,9 +242,9 @@ Index: linux-2.6.19/drivers/net/ixp4xx/ucode_dl.c
  #include <asm/uaccess.h>
  #include <asm/io.h>
  
-@@ -30,6 +31,12 @@
- #define IMG_SIZE(image) (((image)->size * sizeof(u32)) + \
- 		sizeof(struct dl_image))
+@@ -26,6 +27,12 @@
+ #define DL_MAGIC 0xfeedf00d
+ #define DL_MAGIC_SWAP 0x0df0edfe
  
 +#define IMG_REV_MAJOR(id) (((id) >> 8) & 0x0f)
 +#define IMG_REV_MINOR(id) ((id) & 0x0f)
@@ -257,9 +252,9 @@ Index: linux-2.6.19/drivers/net/ixp4xx/ucode_dl.c
 +#define IMG_NPE(id) (((id) >> 24) & 0x0f)
 +#define IMG_IXP(id) (((id) >> 28) & 0x0f)
 +
- #define BT_INSTR 0
- #define BT_DATA 1
- 
+ #define EOF_BLOCK 0xf
+ #define IMG_SIZE(image) (((image)->size * sizeof(u32)) + \
+ 		sizeof(struct dl_image))
 @@ -38,21 +45,6 @@ enum blk_type {
  	data,
  };
@@ -282,8 +277,8 @@ Index: linux-2.6.19/drivers/net/ixp4xx/ucode_dl.c
  struct dl_codeblock {
  	u32 npe_addr;
  	u32 size;
-@@ -134,23 +126,41 @@ struct device *get_npe_by_id(int id)
- 			&id, match_by_npeid);
+@@ -127,20 +119,33 @@ download_block(struct npe_info *npe, str
+ 	return 0;
  }
  
 -static int store_npe_image(struct dl_image *image, struct device *dev)
@@ -292,21 +287,14 @@ Index: linux-2.6.19/drivers/net/ixp4xx/ucode_dl.c
  	struct dl_block *blk;
  	struct dl_codeblock *cb;
  	struct npe_info *npe;
--	int ret=0;
-+	int ret = 0;
+ 	int ret=0;
 +	u16 crc;
  
  	if (!dev) {
 -		dev = get_npe_by_id( (image->id >> 24) & 0xf);
--		put_device(dev);
 +		dev = get_npe_by_id(IMG_NPE(image->id));
-+		if (dev)
-+			put_device(dev);
-+			// XXX shouldn't this put_device be outside if(!dev) ?
-+		else
-+			printk(KERN_ERR "npe: cannot find npe for image %x\n", IMG_NPE(image->id));
+ 		return_npe_dev(dev);
  	}
-+
  	if (!dev)
  		return -ENODEV;
  
@@ -323,25 +311,9 @@ Index: linux-2.6.19/drivers/net/ixp4xx/ucode_dl.c
 +	crc = crc16(0, (u8 *) image, IMG_SIZE(image));
 +
  	npe = dev_get_drvdata(dev);
- 
--	if ( npe_status(npe) & IX_NPEDL_EXCTL_STATUS_RUN) {
-+	if (npe_status(npe) & IX_NPEDL_EXCTL_STATUS_RUN) {
+ 	if (npe->loaded && (npe->usage > 0)) {
  		printk(KERN_INFO "Cowardly refusing to reload an Image "
- 				"into the running %s\n", npe->plat->name);
- 		return 0; /* indicate success anyway... */
-@@ -173,9 +183,9 @@ static int store_npe_image(struct dl_ima
- 	*(u32*)npe->img_info = cpu_to_be32(image->id);
- 	npe_start(npe);
- 
--	printk(KERN_INFO "Image loaded to %s Func:%x, Rel: %x:%x, Status: %x\n",
-+	printk(KERN_INFO "npe: firmware loaded to %s, func: %02x, rev: %x.%x, status: %x, crc: %x\n",
- 			npe->plat->name, npe->img_info[1], npe->img_info[2],
--			npe->img_info[3], npe_status(npe));
-+			npe->img_info[3], npe_status(npe), crc);
- 	return 0;
- }
- 
-@@ -265,8 +275,7 @@ static ssize_t ucode_write(struct file *
+@@ -267,8 +272,7 @@ static ssize_t ucode_write(struct file *
  
  static void npe_firmware_probe(struct device *dev)
  {
@@ -351,27 +323,17 @@ Index: linux-2.6.19/drivers/net/ixp4xx/ucode_dl.c
  	const struct firmware *fw_entry;
  	struct npe_info *npe = dev_get_drvdata(dev);
  	struct dl_image *image;
-@@ -388,7 +397,7 @@ static int npe_probe(struct platform_dev
- 
- 	npe->plat = plat;
- 	disable_npe_irq(npe);
--	if (! (npe_status(npe) & IX_NPEDL_EXCTL_STATUS_RUN))
-+	if (!(npe_status(npe) & IX_NPEDL_EXCTL_STATUS_RUN))
- 		npe_firmware_probe(&pdev->dev);
- 
- 	return 0;
-@@ -464,3 +473,4 @@ MODULE_LICENSE("GPL");
- MODULE_AUTHOR("Christian Hohnstaedt <[email protected]>");
+@@ -477,3 +481,4 @@ MODULE_AUTHOR("Christian Hohnstaedt <cho
  
  EXPORT_SYMBOL(get_npe_by_id);
+ EXPORT_SYMBOL(return_npe_dev);
 +EXPORT_SYMBOL(store_npe_image);
-Index: linux-2.6.19/include/asm-arm/arch-ixp4xx/platform.h
-===================================================================
---- linux-2.6.19.orig/include/asm-arm/arch-ixp4xx/platform.h
-+++ linux-2.6.19/include/asm-arm/arch-ixp4xx/platform.h
-@@ -86,6 +86,20 @@ struct ixp4xx_i2c_pins {
- 	unsigned long scl_pin;
- };
+diff -Naupr a/include/asm-arm/arch-ixp4xx/platform.h b/include/asm-arm/arch-ixp4xx/platform.h
+--- a/include/asm-arm/arch-ixp4xx/platform.h	2007-01-12 21:54:40.000000000 -0700
++++ b/include/asm-arm/arch-ixp4xx/platform.h	2007-01-12 23:28:50.000000000 -0700
+@@ -89,6 +89,21 @@ struct ixp4xx_i2c_pins {
+ 
+ struct sys_timer;
  
 +struct dl_block {
 +	u32 type;
@@ -387,27 +349,28 @@ Index: linux-2.6.19/include/asm-arm/arch-ixp4xx/platform.h
 +		struct dl_block block[0];
 +	} u;
 +};
++
  struct npe_plat_data {
  	const char *name;
  	int data_size;
-@@ -103,6 +117,9 @@ struct mac_plat_info {
- 	unsigned char hwaddr[6]; /* Desired hardware address */
+@@ -108,6 +123,10 @@ struct mac_plat_info {
+ 
  };
  
 +struct npe_ucode_platform_data {
 +	unsigned char *mtd_partition;
 +};
- 
- struct sys_timer;
- 
-Index: linux-2.6.19/include/linux/ixp_npe.h
-===================================================================
---- linux-2.6.19.orig/include/linux/ixp_npe.h
-+++ linux-2.6.19/include/linux/ixp_npe.h
-@@ -71,6 +71,7 @@ static inline u32 npe_read_ecs_reg(struc
- }
++ 
+ /*
+  * Frequency of clock used for primary clocksource
+  */
+diff -Naupr a/include/linux/ixp_npe.h b/include/linux/ixp_npe.h
+--- a/include/linux/ixp_npe.h	2007-01-12 21:54:40.000000000 -0700
++++ b/include/linux/ixp_npe.h	2007-01-12 23:28:50.000000000 -0700
+@@ -99,6 +99,7 @@ extern void npe_reset(struct npe_info *n
  
  extern struct device *get_npe_by_id(int id);
+ extern void return_npe_dev(struct device *dev);
 +extern int store_npe_image(struct dl_image *image, struct device *dev);
  
  /* NPE Messages */

+ 2 - 1
target/linux/ixp4xx-2.6/patches/141-nslu2_setup_mac.patch

@@ -2,7 +2,7 @@ Index: linux-2.6.19/arch/arm/mach-ixp4xx/nslu2-setup.c
 ===================================================================
 --- linux-2.6.19.orig/arch/arm/mach-ixp4xx/nslu2-setup.c
 +++ linux-2.6.19/arch/arm/mach-ixp4xx/nslu2-setup.c
-@@ -137,6 +137,28 @@ static struct platform_device nslu2_uart
+@@ -137,6 +137,29 @@ static struct platform_device nslu2_uart
  	.resource		= nslu2_uart_resources,
  };
  
@@ -18,6 +18,7 @@ Index: linux-2.6.19/arch/arm/mach-ixp4xx/nslu2-setup.c
 +	.eth_id		= 0,
 +	.rxq_id		= 27,
 +	.txq_id		= 24,
++	.rxdoneq_id	= 4,
 +};
 +
 +static struct platform_device mac0 = {

+ 2 - 1
target/linux/ixp4xx-2.6/patches/142-nas100d_setup_mac.patch

@@ -2,7 +2,7 @@ Index: linux-2.6.19/arch/arm/mach-ixp4xx/nas100d-setup.c
 ===================================================================
 --- linux-2.6.19.orig/arch/arm/mach-ixp4xx/nas100d-setup.c
 +++ linux-2.6.19/arch/arm/mach-ixp4xx/nas100d-setup.c
-@@ -123,12 +123,35 @@ static struct platform_device nas100d_ua
+@@ -123,12 +123,36 @@ static struct platform_device nas100d_ua
  	.resource		= nas100d_uart_resources,
  };
  
@@ -18,6 +18,7 @@ Index: linux-2.6.19/arch/arm/mach-ixp4xx/nas100d-setup.c
 +       .eth_id         = 0,
 +       .rxq_id         = 27,
 +       .txq_id         = 24,
++	.rxdoneq_id	= 4,
 +};
 +
 +static struct platform_device mac0 = {

+ 20 - 79
target/linux/ixp4xx-2.6/patches/200-gateway_7001.patch

@@ -1,6 +1,6 @@
-diff -Nur linux-2.6.19/arch/arm/boot/compressed/head-xscale.S linux-2.6.19-owrt/arch/arm/boot/compressed/head-xscale.S
---- linux-2.6.19/arch/arm/boot/compressed/head-xscale.S	2006-11-29 22:57:37.000000000 +0100
-+++ linux-2.6.19-owrt/arch/arm/boot/compressed/head-xscale.S	2006-12-19 13:17:38.000000000 +0100
+diff -Nur linux-2.6.19.2/arch/arm/boot/compressed/head-xscale.S linux-2.6.19.2-owrt/arch/arm/boot/compressed/head-xscale.S
+--- linux-2.6.19.2/arch/arm/boot/compressed/head-xscale.S	2007-01-10 20:10:37.000000000 +0100
++++ linux-2.6.19.2-owrt/arch/arm/boot/compressed/head-xscale.S	2007-03-03 22:42:42.000000000 +0100
 @@ -46,6 +46,11 @@
                 orr     r7, r7, #(MACH_TYPE_GTWX5715 & 0xff00)
  #endif
@@ -13,9 +13,9 @@ diff -Nur linux-2.6.19/arch/arm/boot/compressed/head-xscale.S linux-2.6.19-owrt/
  #ifdef CONFIG_ARCH_IXP2000
  		mov	r1, #-1
  		mov	r0, #0xd6000000
-diff -Nur linux-2.6.19/arch/arm/mach-ixp4xx/coyote-setup.c linux-2.6.19-owrt/arch/arm/mach-ixp4xx/coyote-setup.c
---- linux-2.6.19/arch/arm/mach-ixp4xx/coyote-setup.c	2006-11-29 22:57:37.000000000 +0100
-+++ linux-2.6.19-owrt/arch/arm/mach-ixp4xx/coyote-setup.c	2006-12-19 13:17:38.000000000 +0100
+diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/coyote-setup.c linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/coyote-setup.c
+--- linux-2.6.19.2/arch/arm/mach-ixp4xx/coyote-setup.c	2007-01-10 20:10:37.000000000 +0100
++++ linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/coyote-setup.c	2007-03-03 23:33:35.000000000 +0100
 @@ -1,9 +1,10 @@
  /*
   * arch/arm/mach-ixp4xx/coyote-setup.c
@@ -28,71 +28,12 @@ diff -Nur linux-2.6.19/arch/arm/mach-ixp4xx/coyote-setup.c linux-2.6.19-owrt/arc
   *
   * Author: Deepak Saxena <[email protected]>
   */
-@@ -73,9 +74,57 @@
- 	.resource	= &coyote_uart_resource,
- };
- 
-+/* MACs */
-+static struct resource res_mac0 = {
-+	.start		= IXP4XX_EthB_BASE_PHYS,
-+	.end		= IXP4XX_EthB_BASE_PHYS + 0x1ff,
-+	.flags          = IORESOURCE_MEM,
-+};
-+
-+static struct resource res_mac1 = {
-+	.start		= IXP4XX_EthC_BASE_PHYS,
-+	.end		= IXP4XX_EthC_BASE_PHYS + 0x1ff,
-+	.flags          = IORESOURCE_MEM,
-+};
-+
-+static struct mac_plat_info plat_mac0 = {
-+	.npe_id		= 1,
-+	.phy_id		= 0,
-+	.eth_id		= 0,
-+	.rxq_id		= 27,
-+	.txq_id		= 24,
-+};
-+
-+static struct mac_plat_info plat_mac1 = {
-+	.npe_id		= 2,
-+	.phy_id		= 1,
-+	.eth_id		= 1,
-+	.rxq_id		= 28,
-+	.txq_id		= 25,
-+};
-+
-+static struct platform_device mac0 = {
-+	.name           = "ixp4xx_mac",
-+	.id             = 0,
-+	.dev.platform_data = &plat_mac0,
-+	.num_resources  = 1,
-+	.resource       = &res_mac0,
-+};
-+
-+static struct platform_device mac1 = {
-+	.name           = "ixp4xx_mac",
-+	.id             = 1,
-+	.dev.platform_data = &plat_mac1,
-+	.num_resources  = 1,
-+	.resource       = &res_mac1,
-+};
-+
-+
- static struct platform_device *coyote_devices[] __initdata = {
- 	&coyote_flash,
--	&coyote_uart
-+	&coyote_uart,
-+	&mac0,
-+	&mac1
- };
- 
- static void __init coyote_init(void)
-@@ -111,6 +160,19 @@
+@@ -111,6 +112,19 @@
  MACHINE_END
  #endif
  
 +#ifdef CONFIG_MACH_GATEWAY7001
-+MACHINE_START(GATEWAY7001, "Gateway 7001")
++MACHINE_START(GATEWAY7001, "Gateway 7001 AP")
 +	/* Maintainer: Imre Kaloz <[email protected]> */
 +	.phys_io	= IXP4XX_PERIPHERAL_BASE_PHYS,
 +	.io_pg_offst	= ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xfffc,
@@ -107,9 +48,9 @@ diff -Nur linux-2.6.19/arch/arm/mach-ixp4xx/coyote-setup.c linux-2.6.19-owrt/arc
  /*
   * IXDPG425 is identical to Coyote except for which serial port
   * is connected.
-diff -Nur linux-2.6.19/arch/arm/mach-ixp4xx/gateway7001-pci.c linux-2.6.19-owrt/arch/arm/mach-ixp4xx/gateway7001-pci.c
---- linux-2.6.19/arch/arm/mach-ixp4xx/gateway7001-pci.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.19-owrt/arch/arm/mach-ixp4xx/gateway7001-pci.c	2006-12-19 13:18:18.000000000 +0100
+diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/gateway7001-pci.c linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/gateway7001-pci.c
+--- linux-2.6.19.2/arch/arm/mach-ixp4xx/gateway7001-pci.c	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/gateway7001-pci.c	2007-03-03 22:42:42.000000000 +0100
 @@ -0,0 +1,68 @@
 +/*
 + * arch/arch/mach-ixp4xx/gateway7001-pci.c
@@ -179,9 +120,9 @@ diff -Nur linux-2.6.19/arch/arm/mach-ixp4xx/gateway7001-pci.c linux-2.6.19-owrt/
 +}
 +
 +subsys_initcall(gateway7001_pci_init);
-diff -Nur linux-2.6.19/arch/arm/mach-ixp4xx/Kconfig linux-2.6.19-owrt/arch/arm/mach-ixp4xx/Kconfig
---- linux-2.6.19/arch/arm/mach-ixp4xx/Kconfig	2006-11-29 22:57:37.000000000 +0100
-+++ linux-2.6.19-owrt/arch/arm/mach-ixp4xx/Kconfig	2006-12-19 13:17:38.000000000 +0100
+diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/Kconfig linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/Kconfig
+--- linux-2.6.19.2/arch/arm/mach-ixp4xx/Kconfig	2007-01-10 20:10:37.000000000 +0100
++++ linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/Kconfig	2007-03-03 22:42:42.000000000 +0100
 @@ -33,6 +33,14 @@
  	  Engineering Coyote Gateway Reference Platform. For more
  	  information on this platform, see <file:Documentation/arm/IXP4xx>.
@@ -197,9 +138,9 @@ diff -Nur linux-2.6.19/arch/arm/mach-ixp4xx/Kconfig linux-2.6.19-owrt/arch/arm/m
  config ARCH_IXDP425
  	bool "IXDP425"
  	help
-diff -Nur linux-2.6.19/arch/arm/mach-ixp4xx/Makefile linux-2.6.19-owrt/arch/arm/mach-ixp4xx/Makefile
---- linux-2.6.19/arch/arm/mach-ixp4xx/Makefile	2006-11-29 22:57:37.000000000 +0100
-+++ linux-2.6.19-owrt/arch/arm/mach-ixp4xx/Makefile	2006-12-19 13:17:38.000000000 +0100
+diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/Makefile linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/Makefile
+--- linux-2.6.19.2/arch/arm/mach-ixp4xx/Makefile	2007-01-10 20:10:37.000000000 +0100
++++ linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/Makefile	2007-03-03 22:42:42.000000000 +0100
 @@ -20,5 +20,6 @@
  obj-$(CONFIG_MACH_GTWX5715)	+= gtwx5715-setup.o
  obj-$(CONFIG_MACH_NSLU2)	+= nslu2-setup.o nslu2-power.o
@@ -207,9 +148,9 @@ diff -Nur linux-2.6.19/arch/arm/mach-ixp4xx/Makefile linux-2.6.19-owrt/arch/arm/
 +obj-$(CONFIG_MACH_GATEWAY7001)	+= gateway7001-pci.o coyote-setup.o
  
  obj-$(CONFIG_PCI)		+= $(obj-pci-$(CONFIG_PCI)) common-pci.o
-diff -Nur linux-2.6.19/include/asm-arm/arch-ixp4xx/uncompress.h linux-2.6.19-owrt/include/asm-arm/arch-ixp4xx/uncompress.h
---- linux-2.6.19/include/asm-arm/arch-ixp4xx/uncompress.h	2006-11-29 22:57:37.000000000 +0100
-+++ linux-2.6.19-owrt/include/asm-arm/arch-ixp4xx/uncompress.h	2006-12-19 13:17:38.000000000 +0100
+diff -Nur linux-2.6.19.2/include/asm-arm/arch-ixp4xx/uncompress.h linux-2.6.19.2-owrt/include/asm-arm/arch-ixp4xx/uncompress.h
+--- linux-2.6.19.2/include/asm-arm/arch-ixp4xx/uncompress.h	2007-01-10 20:10:37.000000000 +0100
++++ linux-2.6.19.2-owrt/include/asm-arm/arch-ixp4xx/uncompress.h	2007-03-03 22:42:42.000000000 +0100
 @@ -38,9 +38,9 @@
  static __inline__ void __arch_decomp_setup(unsigned long arch_id)
  {

+ 62 - 0
target/linux/ixp4xx-2.6/patches/210-gateway_7001_mac_setup.patch

@@ -0,0 +1,62 @@
+diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/coyote-setup.c linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/coyote-setup.c
+--- linux-2.6.19.2/arch/arm/mach-ixp4xx/coyote-setup.c	2007-03-03 23:34:46.000000000 +0100
++++ linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/coyote-setup.c	2007-03-03 23:42:47.000000000 +0100
+@@ -74,9 +74,57 @@
+ 	.resource	= &coyote_uart_resource,
+ };
+ 
++static struct resource res_mac0 = {
++	.start		= IXP4XX_EthB_BASE_PHYS,
++	.end		= IXP4XX_EthB_BASE_PHYS + 0x1ff,
++	.flags		= IORESOURCE_MEM,
++};
++
++static struct resource res_mac1 = {
++	.start		= IXP4XX_EthC_BASE_PHYS,
++	.end		= IXP4XX_EthC_BASE_PHYS + 0x1ff,
++	.flags		= IORESOURCE_MEM,
++};
++
++static struct mac_plat_info plat_mac0 = {
++	.npe_id		= 1,
++	.phy_id		= 1,
++	.eth_id		= 0,
++	.rxq_id		= 27,
++	.txq_id		= 24,
++	.rxdoneq_id	= 4,
++};
++
++static struct mac_plat_info plat_mac1 = {
++	.npe_id		= 2,
++	.phy_id		= 2,
++	.eth_id		= 1,
++	.rxq_id		= 28,
++	.txq_id		= 25,
++	.rxdoneq_id	= 5,
++};
++
++static struct platform_device mac0 = {
++	.name		= "ixp4xx_mac",
++	.id		= 0,
++	.dev.platform_data = &plat_mac0,
++	.num_resources	= 1,
++	.resource	= &res_mac0,
++};
++
++static struct platform_device mac1 = {
++	.name		= "ixp4xx_mac",
++	.id		= 1,
++	.dev.platform_data = &plat_mac1,
++	.num_resources	= 1,
++	.resource	= &res_mac1,
++};
++
+ static struct platform_device *coyote_devices[] __initdata = {
+ 	&coyote_flash,
+-	&coyote_uart
++	&coyote_uart,
++	&mac0,
++	&mac1,
+ };
+ 
+ static void __init coyote_init(void)

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio