-+/* prototypes */
-+extern void enable_brcm_irq(unsigned int irq);
-+extern void disable_brcm_irq(unsigned int irq);
-+extern int request_external_irq(unsigned int irq,
-+ FN_HANDLER handler, unsigned long irqflags,
-+ const char * devname, void *dev_id);
-+extern unsigned int BcmHalMapInterrupt(FN_HANDLER isr, unsigned int param,
-+ unsigned int interruptId);
-+extern void dump_intr_regs(void);
-+
-+/* compatibility definitions */
-+#define BcmHalInterruptEnable(irq) enable_brcm_irq( irq )
-+#define BcmHalInterruptDisable(irq) disable_brcm_irq( irq )
-+
-+#ifdef __cplusplus
-+ }
-+#endif
-+
-+#endif
-diff -urN linux.old/arch/mips/bcm963xx/include/bcm_map_part.h linux.dev/arch/mips/bcm963xx/include/bcm_map_part.h
---- linux.old/arch/mips/bcm963xx/include/bcm_map_part.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/bcm_map_part.h 2006-08-25 00:39:38.000000000 +0200
-@@ -0,0 +1,34 @@
-+/*
-+<:copyright-gpl
-+ Copyright 2004 Broadcom Corp. All Rights Reserved.
-+
-+ This program is free software; you can distribute it and/or modify it
-+ under the terms of the GNU General Public License (Version 2) as
-+ published by the Free Software Foundation.
-+
-+ This program is distributed in the hope it will be useful, but WITHOUT
-+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ for more details.
-+
-+ You should have received a copy of the GNU General Public License along
-+ with this program; if not, write to the Free Software Foundation, Inc.,
-+ 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
-+:>
-+*/
-+
-+#ifndef __BCM_MAP_PART_H
-+#define __BCM_MAP_PART_H
-+
-+#if defined(CONFIG_BCM96338)
-+#include <6338_map_part.h>
-+#endif
-+#if defined(CONFIG_BCM96345)
-+#include <6345_map_part.h>
-+#endif
-+#if defined(CONFIG_BCM96348)
-+#include <6348_map_part.h>
-+#endif
-+
-+#endif
-+
-diff -urN linux.old/arch/mips/bcm963xx/include/bcmpci.h linux.dev/arch/mips/bcm963xx/include/bcmpci.h
---- linux.old/arch/mips/bcm963xx/include/bcmpci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/bcmpci.h 2006-08-25 00:39:38.000000000 +0200
-@@ -0,0 +1,87 @@
-+/*
-+<:copyright-gpl
-+ Copyright 2004 Broadcom Corp. All Rights Reserved.
-+
-+ This program is free software; you can distribute it and/or modify it
-+ under the terms of the GNU General Public License (Version 2) as
-+ published by the Free Software Foundation.
-+
-+ This program is distributed in the hope it will be useful, but WITHOUT
-+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ for more details.
-+
-+ You should have received a copy of the GNU General Public License along
-+ with this program; if not, write to the Free Software Foundation, Inc.,
-+ 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
-+:>
-+*/
-+
-+//
-+// bcmpci.h - bcm96348 PCI, Cardbus, and PCMCIA definition
-+//
-+#ifndef BCMPCI_H
-+#define BCMPCI_H
-+
-+/* Memory window in internal system bus address space */
-+#define BCM_PCI_MEM_BASE 0x08000000
-+/* IO window in internal system bus address space */
-+#define BCM_PCI_IO_BASE 0x0C000000
-+
-+#define BCM_PCI_ADDR_MASK 0x1fffffff
-+
-+/* Memory window size (range) */
-+#define BCM_PCI_MEM_SIZE_16MB 0x01000000
-+/* IO window size (range) */
-+#define BCM_PCI_IO_SIZE_64KB 0x00010000
-+
-+/* PCI Configuration and I/O space acesss */
-+#define BCM_PCI_CFG(d, f, o) ( (d << 11) | (f << 8) | (o/4 << 2) )
-+
-+/* fake USB PCI slot */
-+#define USB_HOST_SLOT 9
-+#define USB_BAR0_MEM_SIZE 0x0800
-+
-+#define BCM_HOST_MEM_SPACE1 0x10000000
-+#define BCM_HOST_MEM_SPACE2 0x00000000
-+
-+/*
-+ * EBI bus clock is 33MHz and share with PCI bus
-+ * each clock cycle is 30ns.
-+ */
-+/* attribute memory access wait cnt for 4306 */
-+#define PCMCIA_ATTR_CE_HOLD 3 // data hold time 70ns
-+#define PCMCIA_ATTR_CE_SETUP 3 // data setup time 50ns
-+#define PCMCIA_ATTR_INACTIVE 6 // time between read/write cycles 180ns. For the total cycle time 600ns (cnt1+cnt2+cnt3+cnt4)
-+#define PCMCIA_ATTR_ACTIVE 10 // OE/WE pulse width 300ns
-+
-+/* common memory access wait cnt for 4306 */
-+#define PCMCIA_MEM_CE_HOLD 1 // data hold time 30ns
-+#define PCMCIA_MEM_CE_SETUP 1 // data setup time 30ns
-+#define PCMCIA_MEM_INACTIVE 2 // time between read/write cycles 40ns. For the total cycle time 250ns (cnt1+cnt2+cnt3+cnt4)
-+#define PCMCIA_MEM_ACTIVE 5 // OE/WE pulse width 150ns
-+
-+#define PCCARD_VCC_MASK 0x00070000 // Mask Reset also
-+#define PCCARD_VCC_33V 0x00010000
-+#define PCCARD_VCC_50V 0x00020000
-+
-+typedef enum {
-+ MPI_CARDTYPE_NONE, // No Card in slot
-+ MPI_CARDTYPE_PCMCIA, // 16-bit PCMCIA card in slot
-+ MPI_CARDTYPE_CARDBUS, // 32-bit CardBus card in slot
-+} CardType;
-+
-+#define CARDBUS_SLOT 0 // Slot 0 is default for CardBus
-+
-+#define pcmciaAttrOffset 0x00200000
-+#define pcmciaMemOffset 0x00000000
-+// Needs to be right above PCI I/O space. Give 0x8000 (32K) to PCMCIA.
-+#define pcmciaIoOffset (BCM_PCI_IO_BASE + 0x80000)
-+// Base Address is that mapped into the MPI ChipSelect registers.
-+// UBUS bridge MemoryWindow 0 outputs a 0x00 for the base.
-+#define pcmciaBase 0xbf000000
-+#define pcmciaAttr (pcmciaAttrOffset | pcmciaBase)
-+#define pcmciaMem (pcmciaMemOffset | pcmciaBase)
-+#define pcmciaIo (pcmciaIoOffset | pcmciaBase)
-+
-+#endif
-diff -urN linux.old/arch/mips/bcm963xx/include/bcmTag.h linux.dev/arch/mips/bcm963xx/include/bcmTag.h
---- linux.old/arch/mips/bcm963xx/include/bcmTag.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/bcmTag.h 2006-08-25 00:39:38.000000000 +0200
-@@ -0,0 +1,153 @@
-+/*
-+<:copyright-gpl
-+ Copyright 2002 Broadcom Corp. All Rights Reserved.
-+
-+ This program is free software; you can distribute it and/or modify it
-+ under the terms of the GNU General Public License (Version 2) as
-+ published by the Free Software Foundation.
-+
-+ This program is distributed in the hope it will be useful, but WITHOUT
-+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ for more details.
-+
-+ You should have received a copy of the GNU General Public License along
-+ with this program; if not, write to the Free Software Foundation, Inc.,
-+ 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
-+:>
-+*/
-+//**************************************************************************************
-+// File Name : bcmTag.h
-+//
-+// Description: add tag with validation system to the firmware image file to be uploaded
-+// via http
-+//
-+// Created : 02/28/2002 seanl
-+//**************************************************************************************
-+
-+#ifndef _BCMTAG_H_
-+#define _BCMTAG_H_
-+
-+
-+#define BCM_SIG_1 "Broadcom Corporation"
-+#define BCM_SIG_2 "ver. 2.0" // was "firmware version 2.0" now it is split 6 char out for chip id.
-+
-+#define BCM_TAG_VER "6"
-+#define BCM_TAG_VER_LAST "26"
-+
-+// file tag (head) structure all is in clear text except validationTokens (crc, md5, sha1, etc). Total: 128 unsigned chars
-+#define TAG_LEN 256
-+#define TAG_VER_LEN 4
-+#define SIG_LEN 20
-+#define SIG_LEN_2 14 // Original second SIG = 20 is now devided into 14 for SIG_LEN_2 and 6 for CHIP_ID
-+#define CHIP_ID_LEN 6
-+#define IMAGE_LEN 10
-+#define ADDRESS_LEN 12
-+#define FLAG_LEN 2
-+#define TOKEN_LEN 20
-+#define BOARD_ID_LEN 16
-+#define RESERVED_LEN (TAG_LEN - TAG_VER_LEN - SIG_LEN - SIG_LEN_2 - CHIP_ID_LEN - BOARD_ID_LEN - \
-+ (4*IMAGE_LEN) - (3*ADDRESS_LEN) - (3*FLAG_LEN) - (2*TOKEN_LEN))