Clean up patches : remove warnings, move cli() and save_flags to spinlock mechanisms
SVN-Revision: 4275
This commit is contained in:
parent
eb84ee23ec
commit
994db96a48
2 changed files with 326 additions and 362 deletions
|
@ -1365,8 +1365,8 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/bcm63xx_led.c linux-2.6.17
|
||||||
+
|
+
|
||||||
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/board.c linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/board.c
|
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/board.c linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/board.c
|
||||||
--- linux-2.6.17/arch/mips/brcm-boards/bcm963xx/board.c 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/arch/mips/brcm-boards/bcm963xx/board.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/board.c 2006-07-14 15:39:56.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/board.c 2006-07-25 10:59:34.000000000 +0200
|
||||||
@@ -0,0 +1,1615 @@
|
@@ -0,0 +1,1619 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
||||||
|
@ -1413,6 +1413,7 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/board.c linux-2.6.17-brcm6
|
||||||
+#include <linux/sched.h>
|
+#include <linux/sched.h>
|
||||||
+#include <linux/list.h>
|
+#include <linux/list.h>
|
||||||
+#include <linux/if.h>
|
+#include <linux/if.h>
|
||||||
|
+#include <linux/spinlock.h>
|
||||||
+
|
+
|
||||||
+#include <bcm_map_part.h>
|
+#include <bcm_map_part.h>
|
||||||
+#include <board.h>
|
+#include <board.h>
|
||||||
|
@ -1423,6 +1424,8 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/board.c linux-2.6.17-brcm6
|
||||||
+#include "board.h"
|
+#include "board.h"
|
||||||
+#include "bcm_map_part.h"
|
+#include "bcm_map_part.h"
|
||||||
+
|
+
|
||||||
|
+static DEFINE_SPINLOCK(board_lock);
|
||||||
|
+
|
||||||
+/* Typedefs. */
|
+/* Typedefs. */
|
||||||
+#if defined (NON_CONSECUTIVE_MAC)
|
+#if defined (NON_CONSECUTIVE_MAC)
|
||||||
+// used to be the last octet. Now changed to the first 5 bits of the the forth octet
|
+// used to be the last octet. Now changed to the first 5 bits of the the forth octet
|
||||||
|
@ -1827,8 +1830,9 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/board.c linux-2.6.17-brcm6
|
||||||
+ int i;
|
+ int i;
|
||||||
+
|
+
|
||||||
+ /* Disable interrupts. */
|
+ /* Disable interrupts. */
|
||||||
+ cli();
|
+ //cli();
|
||||||
+
|
+ spin_lock_irq(&board_lock);
|
||||||
|
+
|
||||||
+ /* Reset all blocks. */
|
+ /* Reset all blocks. */
|
||||||
+ PERF->BlockSoftReset &= ~BSR_ALL_BLOCKS;
|
+ PERF->BlockSoftReset &= ~BSR_ALL_BLOCKS;
|
||||||
+ for( i = 0; i < 1000000; i++ )
|
+ for( i = 0; i < 1000000; i++ )
|
||||||
|
@ -5379,8 +5383,8 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/boardparms.c linux-2.6.17-
|
||||||
+
|
+
|
||||||
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/boardparms.h linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/boardparms.h
|
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/boardparms.h linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/boardparms.h
|
||||||
--- linux-2.6.17/arch/mips/brcm-boards/bcm963xx/boardparms.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/arch/mips/brcm-boards/bcm963xx/boardparms.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/boardparms.h 2006-07-13 19:11:33.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/boardparms.h 2006-07-25 10:18:49.000000000 +0200
|
||||||
@@ -0,0 +1,766 @@
|
@@ -0,0 +1,758 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+
|
+
|
||||||
|
@ -5413,10 +5417,6 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/boardparms.h linux-2.6.17-
|
||||||
+#if !defined(_BOARDPARMS_H)
|
+#if !defined(_BOARDPARMS_H)
|
||||||
+#define _BOARDPARMS_H
|
+#define _BOARDPARMS_H
|
||||||
+
|
+
|
||||||
+#if __cplusplus
|
|
||||||
+extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+/* Return codes. */
|
+/* Return codes. */
|
||||||
+#define BP_SUCCESS 0
|
+#define BP_SUCCESS 0
|
||||||
+#define BP_BOARD_ID_NOT_FOUND 1
|
+#define BP_BOARD_ID_NOT_FOUND 1
|
||||||
|
@ -6141,10 +6141,6 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/boardparms.h linux-2.6.17-
|
||||||
+
|
+
|
||||||
+#endif /* __ASSEMBLER__ */
|
+#endif /* __ASSEMBLER__ */
|
||||||
+
|
+
|
||||||
+#if __cplusplus
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#endif /* _BOARDPARMS_H */
|
+#endif /* _BOARDPARMS_H */
|
||||||
+
|
+
|
||||||
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/cfiflash.c linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/cfiflash.c
|
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/cfiflash.c linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/cfiflash.c
|
||||||
|
@ -6845,8 +6841,8 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/cfiflash.c linux-2.6.17-br
|
||||||
+}
|
+}
|
||||||
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/cfiflash.h linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/cfiflash.h
|
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/cfiflash.h linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/cfiflash.h
|
||||||
--- linux-2.6.17/arch/mips/brcm-boards/bcm963xx/cfiflash.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/arch/mips/brcm-boards/bcm963xx/cfiflash.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/cfiflash.h 2006-07-13 19:11:33.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/cfiflash.h 2006-07-25 10:19:20.000000000 +0200
|
||||||
@@ -0,0 +1,150 @@
|
@@ -0,0 +1,142 @@
|
||||||
+/************************************************************************/
|
+/************************************************************************/
|
||||||
+/* */
|
+/* */
|
||||||
+/* AMD CFI Enabled Flash Memory Drivers */
|
+/* AMD CFI Enabled Flash Memory Drivers */
|
||||||
|
@ -6881,10 +6877,6 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/cfiflash.h linux-2.6.17-br
|
||||||
+#ifndef _CFIFLASH_H
|
+#ifndef _CFIFLASH_H
|
||||||
+#define _CFIFLASH_H
|
+#define _CFIFLASH_H
|
||||||
+
|
+
|
||||||
+#if defined __cplusplus
|
|
||||||
+extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+/* include board/CPU specific definitions */
|
+/* include board/CPU specific definitions */
|
||||||
+#include "bcmtypes.h"
|
+#include "bcmtypes.h"
|
||||||
+#include "board.h"
|
+#include "board.h"
|
||||||
|
@ -6992,15 +6984,11 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/cfiflash.h linux-2.6.17-br
|
||||||
+extern unsigned char *flash_get_memptr(WORD sector);
|
+extern unsigned char *flash_get_memptr(WORD sector);
|
||||||
+extern int flash_get_blk(int addr);
|
+extern int flash_get_blk(int addr);
|
||||||
+
|
+
|
||||||
+#if defined __cplusplus
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#endif
|
+#endif
|
||||||
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/irq.c linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/irq.c
|
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/irq.c linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/irq.c
|
||||||
--- linux-2.6.17/arch/mips/brcm-boards/bcm963xx/irq.c 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/arch/mips/brcm-boards/bcm963xx/irq.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/irq.c 2006-07-14 15:31:35.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/irq.c 2006-07-25 10:58:52.000000000 +0200
|
||||||
@@ -0,0 +1,294 @@
|
@@ -0,0 +1,299 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
||||||
|
@ -7033,6 +7021,7 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/irq.c linux-2.6.17-brcm63x
|
||||||
+#include <linux/kernel.h>
|
+#include <linux/kernel.h>
|
||||||
+#include <linux/slab.h>
|
+#include <linux/slab.h>
|
||||||
+#include <linux/module.h>
|
+#include <linux/module.h>
|
||||||
|
+#include <linux/spinlock.h>
|
||||||
+
|
+
|
||||||
+#include <asm/irq.h>
|
+#include <asm/irq.h>
|
||||||
+#include <asm/mipsregs.h>
|
+#include <asm/mipsregs.h>
|
||||||
|
@ -7041,6 +7030,8 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/irq.c linux-2.6.17-brcm63x
|
||||||
+#include <bcm_map_part.h>
|
+#include <bcm_map_part.h>
|
||||||
+#include <bcm_intr.h>
|
+#include <bcm_intr.h>
|
||||||
+
|
+
|
||||||
|
+static DEFINE_SPINLOCK(irq_lock);
|
||||||
|
+
|
||||||
+static void irq_dispatch_int(struct pt_regs *regs)
|
+static void irq_dispatch_int(struct pt_regs *regs)
|
||||||
+{
|
+{
|
||||||
+ unsigned int pendingIrqs;
|
+ unsigned int pendingIrqs;
|
||||||
|
@ -7094,7 +7085,8 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/irq.c linux-2.6.17-brcm63x
|
||||||
+ irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_2, regs);
|
+ irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_2, regs);
|
||||||
+ else if (cause & CAUSEF_IP6)
|
+ else if (cause & CAUSEF_IP6)
|
||||||
+ irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_3, regs);
|
+ irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_3, regs);
|
||||||
+ cli();
|
+ //cli();
|
||||||
|
+ spin_lock_irq(&irq_lock);
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
@ -7114,7 +7106,8 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/irq.c linux-2.6.17-brcm63x
|
||||||
+ irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_2, regs);
|
+ irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_2, regs);
|
||||||
+ else if (cause & CAUSEF_IP6)
|
+ else if (cause & CAUSEF_IP6)
|
||||||
+ irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_3, regs);
|
+ irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_3, regs);
|
||||||
+ cli();
|
+ //cli();
|
||||||
|
+ spin_lock_irq(&irq_lock);
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
@ -7740,7 +7733,7 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/prom.c linux-2.6.17-brcm63
|
||||||
+
|
+
|
||||||
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/ser_init.c linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/ser_init.c
|
diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/ser_init.c linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/ser_init.c
|
||||||
--- linux-2.6.17/arch/mips/brcm-boards/bcm963xx/ser_init.c 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/arch/mips/brcm-boards/bcm963xx/ser_init.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/ser_init.c 2006-07-13 19:11:33.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/arch/mips/brcm-boards/bcm963xx/ser_init.c 2006-07-25 10:51:12.000000000 +0200
|
||||||
@@ -0,0 +1,180 @@
|
@@ -0,0 +1,180 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
|
@ -7909,7 +7902,7 @@ diff -urN linux-2.6.17/arch/mips/brcm-boards/bcm963xx/ser_init.c linux-2.6.17-br
|
||||||
+ return (uStatus & RXFIFONE);
|
+ return (uStatus & RXFIFONE);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+#if CONFIG_REMOTE_DEBUG
|
+#if defined (CONFIG_REMOTE_DEBUG)
|
||||||
+/* Prevent other code from writing to the serial port */
|
+/* Prevent other code from writing to the serial port */
|
||||||
+void _putc(char c) { }
|
+void _putc(char c) { }
|
||||||
+void _puts(const char *ptr) { }
|
+void _puts(const char *ptr) { }
|
||||||
|
|
|
@ -1,48 +1,7 @@
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/Makefile linux-2.6.16.7-patched/bcmdrivers/opensource/Makefile
|
diff -urN linux-2.6.17/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux-2.6.17-brcm63xx/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/Makefile 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/Makefile 2006-07-05 15:21:58.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c 2006-07-25 12:57:09.000000000 +0200
|
||||||
@@ -0,0 +1,20 @@
|
@@ -0,0 +1,1056 @@
|
||||||
+# File: modules/drivers/Makefile
|
|
||||||
+#
|
|
||||||
+# Makefile for the GPLed Linux kernel modules.
|
|
||||||
+#
|
|
||||||
+
|
|
||||||
+LN_NAME=bcm9$(BRCM_CHIP)
|
|
||||||
+LN_DRIVER_DIRS =
|
|
||||||
+
|
|
||||||
+-include $(KERNEL_DIR)/.config
|
|
||||||
+
|
|
||||||
+ifneq ($(CONFIG_BCM_SERIAL),)
|
|
||||||
+ LN_DRIVER_DIRS +=ln -sn impl$(CONFIG_BCM_SERIAL_IMPL) char/serial/$(LN_NAME);
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
+obj-$(CONFIG_BCM_SERIAL) += char/serial/impl$(CONFIG_BCM_SERIAL_IMPL)/
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+symlinks:
|
|
||||||
+ find . -lname "*" -name "$(LN_NAME)" -print -exec rm -f "{}" ";"
|
|
||||||
+ $(CONFIG_SHELL) -c "$(LN_DRIVER_DIRS)"
|
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/impl1/Makefile linux-2.6.16.7-patched/bcmdrivers/opensource/char/serial/impl1/Makefile
|
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/impl1/Makefile 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/char/serial/impl1/Makefile 2006-07-05 15:21:58.000000000 +0200
|
|
||||||
@@ -0,0 +1,13 @@
|
|
||||||
+# File: bcmdrivers/opensource/char/serial
|
|
||||||
+#
|
|
||||||
+# Makefile for the BCM63xx serial/console driver
|
|
||||||
+
|
|
||||||
+obj-$(CONFIG_BCM_SERIAL) += bcm63xx_cons.o
|
|
||||||
+
|
|
||||||
+EXTRA_CFLAGS += -I$(INC_BRCMDRIVER_PUB_PATH)/$(BRCM_BOARD)
|
|
||||||
+
|
|
||||||
+-include $(TOPDIR)/Rules.make
|
|
||||||
+
|
|
||||||
+clean:
|
|
||||||
+ rm -f core *.o *.a *.s
|
|
||||||
+
|
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux-2.6.16.7-patched/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c
|
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c 2006-07-05 15:21:58.000000000 +0200
|
|
||||||
@@ -0,0 +1,1038 @@
|
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
||||||
|
@ -75,6 +34,7 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+#include <linux/init.h>
|
+#include <linux/init.h>
|
||||||
+#include <linux/slab.h>
|
+#include <linux/slab.h>
|
||||||
+#include <linux/interrupt.h>
|
+#include <linux/interrupt.h>
|
||||||
|
+#include <linux/spinlock.h>
|
||||||
+
|
+
|
||||||
+/* for definition of struct console */
|
+/* for definition of struct console */
|
||||||
+#include <linux/console.h>
|
+#include <linux/console.h>
|
||||||
|
@ -88,6 +48,8 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+#include <bcm_map_part.h>
|
+#include <bcm_map_part.h>
|
||||||
+#include <bcm_intr.h>
|
+#include <bcm_intr.h>
|
||||||
+
|
+
|
||||||
|
+static DEFINE_SPINLOCK(bcm963xx_serial_lock);
|
||||||
|
+
|
||||||
+extern void _putc(char);
|
+extern void _putc(char);
|
||||||
+extern void _puts(const char *);
|
+extern void _puts(const char *);
|
||||||
+
|
+
|
||||||
|
@ -349,15 +311,18 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+ if (!info->is_initialized)
|
+ if (!info->is_initialized)
|
||||||
+ return;
|
+ return;
|
||||||
+
|
+
|
||||||
+ save_flags (flags);
|
+
|
||||||
+ cli ();
|
+ /*save_flags (flags);
|
||||||
|
+ cli ();*/
|
||||||
|
+ spin_lock_irqsave(&bcm963xx_serial_lock, flags);
|
||||||
+
|
+
|
||||||
+ info->port->control &= ~(BRGEN|TXEN|RXEN);
|
+ info->port->control &= ~(BRGEN|TXEN|RXEN);
|
||||||
+ if (info->tty)
|
+ if (info->tty)
|
||||||
+ set_bit (TTY_IO_ERROR, &info->tty->flags);
|
+ set_bit (TTY_IO_ERROR, &info->tty->flags);
|
||||||
+ info->is_initialized = 0;
|
+ info->is_initialized = 0;
|
||||||
+
|
+
|
||||||
+ restore_flags (flags);
|
+ //restore_flags (flags);
|
||||||
|
+ spin_unlock_irqrestore(&bcm963xx_serial_lock, flags);
|
||||||
+}
|
+}
|
||||||
+/*
|
+/*
|
||||||
+ * -------------------------------------------------------------------
|
+ * -------------------------------------------------------------------
|
||||||
|
@ -369,8 +334,10 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+static void change_speed( volatile Uart *pUart, tcflag_t cFlag )
|
+static void change_speed( volatile Uart *pUart, tcflag_t cFlag )
|
||||||
+{
|
+{
|
||||||
+ unsigned long ulFlags, ulBaud, ulClockFreqHz, ulTmp;
|
+ unsigned long ulFlags, ulBaud, ulClockFreqHz, ulTmp;
|
||||||
+ save_flags(ulFlags);
|
+ /*save_flags(ulFlags);
|
||||||
+ cli();
|
+ cli();*/
|
||||||
|
+ spin_lock_irqsave(&bcm963xx_serial_lock, ulFlags);
|
||||||
|
+
|
||||||
+ switch( cFlag & (CBAUD | CBAUDEX) )
|
+ switch( cFlag & (CBAUD | CBAUDEX) )
|
||||||
+ {
|
+ {
|
||||||
+ case B115200:
|
+ case B115200:
|
||||||
|
@ -478,7 +445,8 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+
|
+
|
||||||
+ /* Reset and flush uart */
|
+ /* Reset and flush uart */
|
||||||
+ pUart->fifoctl = RSTTXFIFOS | RSTRXFIFOS;
|
+ pUart->fifoctl = RSTTXFIFOS | RSTRXFIFOS;
|
||||||
+ restore_flags( ulFlags );
|
+ //restore_flags( ulFlags );
|
||||||
|
+ spin_unlock_irqrestore(&bcm963xx_serial_lock, ulFlags);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
|
@ -664,14 +632,16 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+
|
+
|
||||||
+ current->state = TASK_INTERRUPTIBLE;
|
+ current->state = TASK_INTERRUPTIBLE;
|
||||||
+
|
+
|
||||||
+ save_flags (flags);
|
+ /*save_flags (flags);
|
||||||
+ cli();
|
+ cli();*/
|
||||||
|
+ spin_lock_irqsave(&bcm963xx_serial_lock, flags);
|
||||||
+
|
+
|
||||||
+ info->port->control |= XMITBREAK;
|
+ info->port->control |= XMITBREAK;
|
||||||
+ schedule_timeout(duration);
|
+ schedule_timeout(duration);
|
||||||
+ info->port->control &= ~XMITBREAK;
|
+ info->port->control &= ~XMITBREAK;
|
||||||
+
|
+
|
||||||
+ restore_flags (flags);
|
+ spin_unlock_irqrestore(&bcm963xx_serial_lock, flags);
|
||||||
|
+ //restore_flags (flags);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static int bcm_ioctl (struct tty_struct * tty, struct file * file,
|
+static int bcm_ioctl (struct tty_struct * tty, struct file * file,
|
||||||
|
@ -783,12 +753,14 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+ if (!info)
|
+ if (!info)
|
||||||
+ return;
|
+ return;
|
||||||
+
|
+
|
||||||
+ save_flags (flags);
|
+ /*save_flags (flags);
|
||||||
+ cli();
|
+ cli();*/
|
||||||
|
+ spin_lock_irqsave(&bcm963xx_serial_lock, flags);
|
||||||
+
|
+
|
||||||
+ if (tty_hung_up_p (filp))
|
+ if (tty_hung_up_p (filp))
|
||||||
+ {
|
+ {
|
||||||
+ restore_flags (flags);
|
+ spin_unlock_irqrestore(&bcm963xx_serial_lock, flags);
|
||||||
|
+ //restore_flags (flags);
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
@ -815,7 +787,8 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+
|
+
|
||||||
+ if (info->count)
|
+ if (info->count)
|
||||||
+ {
|
+ {
|
||||||
+ restore_flags (flags);
|
+ //restore_flags (flags);
|
||||||
|
+ spin_unlock_irqrestore(&bcm963xx_serial_lock, flags);
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
@ -861,7 +834,8 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+ }
|
+ }
|
||||||
+ wake_up_interruptible (&info->close_wait);
|
+ wake_up_interruptible (&info->close_wait);
|
||||||
+
|
+
|
||||||
+ restore_flags (flags);
|
+ //restore_flags (flags);
|
||||||
|
+ spin_unlock_irqrestore(&bcm963xx_serial_lock, flags);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+/*
|
+/*
|
||||||
|
@ -997,7 +971,9 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+ if (tty_register_driver (&serial_driver))
|
+ if (tty_register_driver (&serial_driver))
|
||||||
+ panic("Couldn't register serial driver\n");
|
+ panic("Couldn't register serial driver\n");
|
||||||
+
|
+
|
||||||
+ save_flags(flags); cli();
|
+ //save_flags(flags); cli();
|
||||||
|
+ spin_lock_irqsave(&bcm963xx_serial_lock, flags);
|
||||||
|
+
|
||||||
+ for (i = 0; i < BCM_NUM_UARTS; i++)
|
+ for (i = 0; i < BCM_NUM_UARTS; i++)
|
||||||
+ {
|
+ {
|
||||||
+ info = &multi[i];
|
+ info = &multi[i];
|
||||||
|
@ -1028,7 +1004,8 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+ * is updated... in request_irq - to immediatedly obliterate
|
+ * is updated... in request_irq - to immediatedly obliterate
|
||||||
+ * it is unwise.
|
+ * it is unwise.
|
||||||
+ */
|
+ */
|
||||||
+ restore_flags(flags);
|
+ //restore_flags(flags);
|
||||||
|
+ spin_unlock_irqrestore(&bcm963xx_serial_lock, flags);
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
@ -1081,10 +1058,27 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/char/serial/imp
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+console_initcall(bcm63xx_console_init);
|
+console_initcall(bcm63xx_console_init);
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6338_intr.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6338_intr.h
|
diff -urN linux-2.6.17/bcmdrivers/opensource/char/serial/impl1/Makefile linux-2.6.17-brcm63xx/bcmdrivers/opensource/char/serial/impl1/Makefile
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6338_intr.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/bcmdrivers/opensource/char/serial/impl1/Makefile 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6338_intr.h 2006-07-05 15:21:58.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/char/serial/impl1/Makefile 2006-07-25 10:43:50.000000000 +0200
|
||||||
@@ -0,0 +1,72 @@
|
@@ -0,0 +1,13 @@
|
||||||
|
+# File: bcmdrivers/opensource/char/serial
|
||||||
|
+#
|
||||||
|
+# Makefile for the BCM63xx serial/console driver
|
||||||
|
+
|
||||||
|
+obj-$(CONFIG_BCM_SERIAL) += bcm63xx_cons.o
|
||||||
|
+
|
||||||
|
+EXTRA_CFLAGS += -I$(INC_BRCMDRIVER_PUB_PATH)/$(BRCM_BOARD)
|
||||||
|
+
|
||||||
|
+-include $(TOPDIR)/Rules.make
|
||||||
|
+
|
||||||
|
+clean:
|
||||||
|
+ rm -f core *.o *.a *.s
|
||||||
|
+
|
||||||
|
diff -urN linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6338_intr.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6338_intr.h
|
||||||
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6338_intr.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6338_intr.h 2006-07-25 10:44:46.000000000 +0200
|
||||||
|
@@ -0,0 +1,64 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+ Copyright 2003 Broadcom Corp. All Rights Reserved.
|
+ Copyright 2003 Broadcom Corp. All Rights Reserved.
|
||||||
|
@ -1107,10 +1101,6 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#ifndef __6338_INTR_H
|
+#ifndef __6338_INTR_H
|
||||||
+#define __6338_INTR_H
|
+#define __6338_INTR_H
|
||||||
+
|
+
|
||||||
+#ifdef __cplusplus
|
|
||||||
+ extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+/*=====================================================================*/
|
+/*=====================================================================*/
|
||||||
+/* BCM6338 External Interrupt Level Assignments */
|
+/* BCM6338 External Interrupt Level Assignments */
|
||||||
+/*=====================================================================*/
|
+/*=====================================================================*/
|
||||||
|
@ -1151,16 +1141,12 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#define INTERRUPT_ID_EMAC1_TX_DMA (INTERNAL_ISR_TABLE_OFFSET + 16)
|
+#define INTERRUPT_ID_EMAC1_TX_DMA (INTERNAL_ISR_TABLE_OFFSET + 16)
|
||||||
+#define INTERRUPT_ID_SDIO (INTERNAL_ISR_TABLE_OFFSET + 17)
|
+#define INTERRUPT_ID_SDIO (INTERNAL_ISR_TABLE_OFFSET + 17)
|
||||||
+
|
+
|
||||||
+#ifdef __cplusplus
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#endif /* __BCM6338_H */
|
+#endif /* __BCM6338_H */
|
||||||
+
|
+
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6338_map_part.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6338_map_part.h
|
diff -urN linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6338_map_part.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6338_map_part.h
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6338_map_part.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6338_map_part.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6338_map_part.h 2006-07-05 15:21:58.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6338_map_part.h 2006-07-25 10:44:59.000000000 +0200
|
||||||
@@ -0,0 +1,341 @@
|
@@ -0,0 +1,334 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+ Copyright 2004 Broadcom Corp. All Rights Reserved.
|
+ Copyright 2004 Broadcom Corp. All Rights Reserved.
|
||||||
|
@ -1183,10 +1169,6 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#ifndef __BCM6338_MAP_H
|
+#ifndef __BCM6338_MAP_H
|
||||||
+#define __BCM6338_MAP_H
|
+#define __BCM6338_MAP_H
|
||||||
+
|
+
|
||||||
+#if __cplusplus
|
|
||||||
+extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include "bcmtypes.h"
|
+#include "bcmtypes.h"
|
||||||
+
|
+
|
||||||
+#define PERF_BASE 0xfffe0000
|
+#define PERF_BASE 0xfffe0000
|
||||||
|
@ -1496,16 +1478,13 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+
|
+
|
||||||
+#define MPI ((volatile MpiRegisters * const) MPI_BASE)
|
+#define MPI ((volatile MpiRegisters * const) MPI_BASE)
|
||||||
+
|
+
|
||||||
+#if __cplusplus
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6345_intr.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6345_intr.h
|
diff -urN linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6345_intr.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6345_intr.h
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6345_intr.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6345_intr.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6345_intr.h 2006-07-05 15:21:58.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6345_intr.h 2006-07-25 10:45:09.000000000 +0200
|
||||||
@@ -0,0 +1,78 @@
|
@@ -0,0 +1,72 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
||||||
|
@ -1528,9 +1507,6 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#ifndef __6345_INTR_H
|
+#ifndef __6345_INTR_H
|
||||||
+#define __6345_INTR_H
|
+#define __6345_INTR_H
|
||||||
+
|
+
|
||||||
+#ifdef __cplusplus
|
|
||||||
+ extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+/*=====================================================================*/
|
+/*=====================================================================*/
|
||||||
+/* BCM6345 External Interrupt Level Assignments */
|
+/* BCM6345 External Interrupt Level Assignments */
|
||||||
|
@ -1578,16 +1554,13 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#define INTERRUPT_ID_USB_ISO_RX_CHAN (DMA_ISR_TABLE_OFFSET + USB_ISO_RX_CHAN)
|
+#define INTERRUPT_ID_USB_ISO_RX_CHAN (DMA_ISR_TABLE_OFFSET + USB_ISO_RX_CHAN)
|
||||||
+#define INTERRUPT_ID_USB_ISO_TX_CHAN (DMA_ISR_TABLE_OFFSET + USB_ISO_TX_CHAN)
|
+#define INTERRUPT_ID_USB_ISO_TX_CHAN (DMA_ISR_TABLE_OFFSET + USB_ISO_TX_CHAN)
|
||||||
+
|
+
|
||||||
+#ifdef __cplusplus
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+#endif /* __BCM6345_H */
|
+#endif /* __BCM6345_H */
|
||||||
+
|
+
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6345_map_part.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6345_map_part.h
|
diff -urN linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6345_map_part.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6345_map_part.h
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6345_map_part.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6345_map_part.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6345_map_part.h 2006-07-05 15:21:58.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6345_map_part.h 2006-07-25 10:45:19.000000000 +0200
|
||||||
@@ -0,0 +1,169 @@
|
@@ -0,0 +1,163 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
||||||
|
@ -1610,9 +1583,6 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#ifndef __BCM6345_MAP_H
|
+#ifndef __BCM6345_MAP_H
|
||||||
+#define __BCM6345_MAP_H
|
+#define __BCM6345_MAP_H
|
||||||
+
|
+
|
||||||
+#if __cplusplus
|
|
||||||
+extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+#include "bcmtypes.h"
|
+#include "bcmtypes.h"
|
||||||
+#include "6345_intr.h"
|
+#include "6345_intr.h"
|
||||||
|
@ -1751,16 +1721,13 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#define GPIO_NUM_MAX_BITS_MASK 0x0f
|
+#define GPIO_NUM_MAX_BITS_MASK 0x0f
|
||||||
+#define GPIO_NUM_TO_MASK(X) (1 << ((X) & GPIO_NUM_MAX_BITS_MASK))
|
+#define GPIO_NUM_TO_MASK(X) (1 << ((X) & GPIO_NUM_MAX_BITS_MASK))
|
||||||
+
|
+
|
||||||
+#if __cplusplus
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6348_intr.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6348_intr.h
|
diff -urN linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6348_intr.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6348_intr.h
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6348_intr.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6348_intr.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6348_intr.h 2006-07-05 15:21:58.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6348_intr.h 2006-07-25 10:45:33.000000000 +0200
|
||||||
@@ -0,0 +1,80 @@
|
@@ -0,0 +1,74 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+ Copyright 2003 Broadcom Corp. All Rights Reserved.
|
+ Copyright 2003 Broadcom Corp. All Rights Reserved.
|
||||||
|
@ -1783,9 +1750,6 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#ifndef __6348_INTR_H
|
+#ifndef __6348_INTR_H
|
||||||
+#define __6348_INTR_H
|
+#define __6348_INTR_H
|
||||||
+
|
+
|
||||||
+#ifdef __cplusplus
|
|
||||||
+ extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+/*=====================================================================*/
|
+/*=====================================================================*/
|
||||||
+/* BCM6348 External Interrupt Level Assignments */
|
+/* BCM6348 External Interrupt Level Assignments */
|
||||||
|
@ -1835,16 +1799,13 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#define INTERRUPT_ID_MPI (INTERNAL_ISR_TABLE_OFFSET + 24)
|
+#define INTERRUPT_ID_MPI (INTERNAL_ISR_TABLE_OFFSET + 24)
|
||||||
+#define INTERRUPT_ID_DG (INTERNAL_ISR_TABLE_OFFSET + 25)
|
+#define INTERRUPT_ID_DG (INTERNAL_ISR_TABLE_OFFSET + 25)
|
||||||
+
|
+
|
||||||
+#ifdef __cplusplus
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+#endif /* __BCM6348_H */
|
+#endif /* __BCM6348_H */
|
||||||
+
|
+
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6348_map_part.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6348_map_part.h
|
diff -urN linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6348_map_part.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6348_map_part.h
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/6348_map_part.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/6348_map_part.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/6348_map_part.h 2006-07-05 15:21:58.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/6348_map_part.h 2006-07-25 10:44:21.000000000 +0200
|
||||||
@@ -0,0 +1,508 @@
|
@@ -0,0 +1,500 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
||||||
|
@ -1867,10 +1828,6 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#ifndef __BCM6348_MAP_H
|
+#ifndef __BCM6348_MAP_H
|
||||||
+#define __BCM6348_MAP_H
|
+#define __BCM6348_MAP_H
|
||||||
+
|
+
|
||||||
+#if __cplusplus
|
|
||||||
+extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include "bcmtypes.h"
|
+#include "bcmtypes.h"
|
||||||
+
|
+
|
||||||
+#define PERF_BASE 0xfffe0000
|
+#define PERF_BASE 0xfffe0000
|
||||||
|
@ -2347,15 +2304,203 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+
|
+
|
||||||
+#define USBH_NON_OHCI ((volatile unsigned long * const) USB_HOST_NON_OHCI)
|
+#define USBH_NON_OHCI ((volatile unsigned long * const) USB_HOST_NON_OHCI)
|
||||||
+
|
+
|
||||||
+#if __cplusplus
|
+#endif
|
||||||
+}
|
+
|
||||||
|
diff -urN linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/bcm_intr.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/bcm_intr.h
|
||||||
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/bcm_intr.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/bcm_intr.h 2006-07-25 10:43:50.000000000 +0200
|
||||||
|
@@ -0,0 +1,59 @@
|
||||||
|
+/*
|
||||||
|
+<:copyright-gpl
|
||||||
|
+ Copyright 2003 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_INTR_H
|
||||||
|
+#define __BCM_INTR_H
|
||||||
|
+
|
||||||
|
+#ifdef __cplusplus
|
||||||
|
+ extern "C" {
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(CONFIG_BCM96338)
|
||||||
|
+#include <6338_intr.h>
|
||||||
|
+#endif
|
||||||
|
+#if defined(CONFIG_BCM96345)
|
||||||
|
+#include <6345_intr.h>
|
||||||
|
+#endif
|
||||||
|
+#if defined(CONFIG_BCM96348)
|
||||||
|
+#include <6348_intr.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+/* defines */
|
||||||
|
+struct pt_regs;
|
||||||
|
+typedef int (*FN_HANDLER) (int, void *, struct pt_regs *);
|
||||||
|
+
|
||||||
|
+/* 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-2.6.17/bcmdrivers/opensource/include/bcm963xx/bcm_map_part.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/bcm_map_part.h
|
||||||
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/bcm_map_part.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/bcm_map_part.h 2006-07-25 10:43:50.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
|
||||||
+
|
+
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/bcmTag.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/bcmTag.h
|
diff -urN linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/bcmpci.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/bcmpci.h
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/bcmTag.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/bcmpci.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/bcmTag.h 2006-07-05 15:21:58.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/bcmpci.h 2006-07-25 10:43:50.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-2.6.17/bcmdrivers/opensource/include/bcm963xx/bcmTag.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/bcmTag.h
|
||||||
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/bcmTag.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/bcmTag.h 2006-07-25 10:43:50.000000000 +0200
|
||||||
@@ -0,0 +1,153 @@
|
@@ -0,0 +1,153 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
|
@ -2510,201 +2655,9 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+
|
+
|
||||||
+#endif // _BCMTAG_H_
|
+#endif // _BCMTAG_H_
|
||||||
+
|
+
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/bcm_intr.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/bcm_intr.h
|
diff -urN linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/bcmtypes.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/bcmtypes.h
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/bcm_intr.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/bcmtypes.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/bcm_intr.h 2006-07-05 15:21:58.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/bcmtypes.h 2006-07-25 10:43:50.000000000 +0200
|
||||||
@@ -0,0 +1,59 @@
|
|
||||||
+/*
|
|
||||||
+<:copyright-gpl
|
|
||||||
+ Copyright 2003 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_INTR_H
|
|
||||||
+#define __BCM_INTR_H
|
|
||||||
+
|
|
||||||
+#ifdef __cplusplus
|
|
||||||
+ extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if defined(CONFIG_BCM96338)
|
|
||||||
+#include <6338_intr.h>
|
|
||||||
+#endif
|
|
||||||
+#if defined(CONFIG_BCM96345)
|
|
||||||
+#include <6345_intr.h>
|
|
||||||
+#endif
|
|
||||||
+#if defined(CONFIG_BCM96348)
|
|
||||||
+#include <6348_intr.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+/* defines */
|
|
||||||
+struct pt_regs;
|
|
||||||
+typedef int (*FN_HANDLER) (int, void *, struct pt_regs *);
|
|
||||||
+
|
|
||||||
+/* 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 -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/bcm_map_part.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/bcm_map_part.h
|
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/bcm_map_part.h 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/bcm_map_part.h 2006-07-05 15:21:58.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 -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/bcmpci.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/bcmpci.h
|
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/bcmpci.h 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/bcmpci.h 2006-07-05 15:21:58.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 -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/bcmtypes.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/bcmtypes.h
|
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/bcmtypes.h 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/bcmtypes.h 2006-07-05 15:21:58.000000000 +0200
|
|
||||||
@@ -0,0 +1,163 @@
|
@@ -0,0 +1,163 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
|
@ -2869,10 +2822,10 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#define READ8(addr) (*(volatile UINT8 *)((ULONG)&addr))
|
+#define READ8(addr) (*(volatile UINT8 *)((ULONG)&addr))
|
||||||
+
|
+
|
||||||
+#endif
|
+#endif
|
||||||
diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/board.h linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/board.h
|
diff -urN linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/board.h linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/board.h
|
||||||
--- linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963xx/board.h 1970-01-01 01:00:00.000000000 +0100
|
--- linux-2.6.17/bcmdrivers/opensource/include/bcm963xx/board.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.16.7-patched/bcmdrivers/opensource/include/bcm963xx/board.h 2006-07-05 15:21:58.000000000 +0200
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/include/bcm963xx/board.h 2006-07-25 11:00:10.000000000 +0200
|
||||||
@@ -0,0 +1,374 @@
|
@@ -0,0 +1,368 @@
|
||||||
+/*
|
+/*
|
||||||
+<:copyright-gpl
|
+<:copyright-gpl
|
||||||
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
+ Copyright 2002 Broadcom Corp. All Rights Reserved.
|
||||||
|
@ -2902,9 +2855,6 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+#ifndef _BOARD_H
|
+#ifndef _BOARD_H
|
||||||
+#define _BOARD_H
|
+#define _BOARD_H
|
||||||
+
|
+
|
||||||
+#if __cplusplus
|
|
||||||
+extern "C" {
|
|
||||||
+#endif
|
|
||||||
+/*****************************************************************************/
|
+/*****************************************************************************/
|
||||||
+/* Misc board definitions */
|
+/* Misc board definitions */
|
||||||
+/*****************************************************************************/
|
+/*****************************************************************************/
|
||||||
|
@ -3241,9 +3191,30 @@ diff -Naurp linux-2.6.16.7-generic-patched/bcmdrivers/opensource/include/bcm963x
|
||||||
+void kerSysWakeupMonitorTask( void );
|
+void kerSysWakeupMonitorTask( void );
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
+#if __cplusplus
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+#endif /* _BOARD_H */
|
+#endif /* _BOARD_H */
|
||||||
+
|
+
|
||||||
|
diff -urN linux-2.6.17/bcmdrivers/opensource/Makefile linux-2.6.17-brcm63xx/bcmdrivers/opensource/Makefile
|
||||||
|
--- linux-2.6.17/bcmdrivers/opensource/Makefile 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ linux-2.6.17-brcm63xx/bcmdrivers/opensource/Makefile 2006-07-25 10:43:50.000000000 +0200
|
||||||
|
@@ -0,0 +1,20 @@
|
||||||
|
+# File: modules/drivers/Makefile
|
||||||
|
+#
|
||||||
|
+# Makefile for the GPLed Linux kernel modules.
|
||||||
|
+#
|
||||||
|
+
|
||||||
|
+LN_NAME=bcm9$(BRCM_CHIP)
|
||||||
|
+LN_DRIVER_DIRS =
|
||||||
|
+
|
||||||
|
+-include $(KERNEL_DIR)/.config
|
||||||
|
+
|
||||||
|
+ifneq ($(CONFIG_BCM_SERIAL),)
|
||||||
|
+ LN_DRIVER_DIRS +=ln -sn impl$(CONFIG_BCM_SERIAL_IMPL) char/serial/$(LN_NAME);
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+obj-$(CONFIG_BCM_SERIAL) += char/serial/impl$(CONFIG_BCM_SERIAL_IMPL)/
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+symlinks:
|
||||||
|
+ find . -lname "*" -name "$(LN_NAME)" -print -exec rm -f "{}" ";"
|
||||||
|
+ $(CONFIG_SHELL) -c "$(LN_DRIVER_DIRS)"
|
||||||
|
|
Loading…
Reference in a new issue