diff options
13 files changed, 0 insertions, 812 deletions
| diff --git a/target/linux/brcm63xx/patches-2.6.28/001-add_broadcom_63xx_cpu_definitions.patch b/target/linux/brcm63xx/patches-2.6.28/001-add_broadcom_63xx_cpu_definitions.patch deleted file mode 100644 index fa6d258de..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/001-add_broadcom_63xx_cpu_definitions.patch +++ /dev/null @@ -1,95 +0,0 @@ -From a9f65413f9ea81ef2208da66a3db9cb8a9020eef Mon Sep 17 00:00:00 2001 -From: Maxime Bizon <mbizon@freebox.fr> -Date: Fri, 18 Jul 2008 15:53:08 +0200 -Subject: [PATCH] [MIPS] BCM63XX: Add Broadcom 63xx CPU definitions. - -Signed-off-by: Maxime Bizon <mbizon@freebox.fr> ---- - arch/mips/kernel/cpu-probe.c |   25 +++++++++++++++++++++++++ - arch/mips/mm/tlbex.c         |    4 ++++ - arch/mips/include/asm/cpu.h       |    7 +++++++ - 3 files changed, 36 insertions(+), 0 deletions(-) - ---- a/arch/mips/kernel/cpu-probe.c -+++ b/arch/mips/kernel/cpu-probe.c -@@ -154,6 +154,9 @@ void __init check_wait(void) - 	case CPU_25KF: - 	case CPU_PR4450: - 	case CPU_BCM3302: -+	case CPU_BCM6338: -+	case CPU_BCM6348: -+	case CPU_BCM6358: - 		cpu_wait = r4k_wait; - 		break; -  -@@ -864,6 +867,7 @@ static inline void cpu_probe_broadcom(st - { - 	decode_configs(c); - 	switch (c->processor_id & 0xff00) { -+	/* same as PRID_IMP_BCM6338 */ - 	case PRID_IMP_BCM3302: - 		c->cputype = CPU_BCM3302; - 		__cpu_name[cpu] = "Broadcom BCM3302"; -@@ -872,6 +876,26 @@ static inline void cpu_probe_broadcom(st - 		c->cputype = CPU_BCM4710; - 		__cpu_name[cpu] = "Broadcom BCM4710"; - 		break; -+	case PRID_IMP_BCM6345: -+		c->cputype = CPU_BCM6345; -+		__cpu_name[cpu] = "Broadcom BCM6345"; -+		break; -+	case PRID_IMP_BCM6348: -+		c->cputype = CPU_BCM6348; -+		__cpu_name[cpu] = "Broadcom BCM6348"; -+		break; -+	case PRID_IMP_BCM4350: -+		switch (c->processor_id & 0xf0) { -+		case PRID_REV_BCM6358: -+			c->cputype = CPU_BCM6358; -+			__cpu_name[cpu] = "Broadcom BCM6358"; -+			break; -+		default: -+			c->cputype = CPU_UNKNOWN; -+			__cpu_name[cpu] = "Broadcom BCM63xx"; -+			break; -+		} -+		break; - 	} - } -  ---- a/arch/mips/mm/tlbex.c -+++ b/arch/mips/mm/tlbex.c -@@ -317,6 +317,10 @@ static void __cpuinit build_tlb_write_en - 	case CPU_BCM3302: - 	case CPU_BCM4710: - 	case CPU_LOONGSON2: -+	case CPU_BCM6338: -+	case CPU_BCM6345: -+	case CPU_BCM6348: -+	case CPU_BCM6358: - 		if (m4kc_tlbp_war()) - 			uasm_i_nop(p); - 		tlbw(p); ---- a/arch/mips/include/asm/cpu.h -+++ b/arch/mips/include/asm/cpu.h -@@ -112,6 +112,12 @@ -  - #define PRID_IMP_BCM4710	0x4000 - #define PRID_IMP_BCM3302	0x9000 -+#define PRID_IMP_BCM6338	0x9000 -+#define PRID_IMP_BCM6345	0x8000 -+#define PRID_IMP_BCM6348	0x9100 -+#define PRID_IMP_BCM4350	0xA000 -+#define PRID_REV_BCM6358	0x0010 -+#define PRID_REV_BCM6368	0x0030 -  - /* -  * Definitions for 7:0 on legacy processors -@@ -198,6 +204,7 @@ enum cpu_type_enum { - 	CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_1004K, CPU_74K, - 	CPU_AU1000, CPU_AU1100, CPU_AU1200, CPU_AU1210, CPU_AU1250, CPU_AU1500, - 	CPU_AU1550, CPU_PR4450, CPU_BCM3302, CPU_BCM4710, -+	CPU_BCM6338, CPU_BCM6345, CPU_BCM6348, CPU_BCM6358, -  - 	/* - 	 * MIPS64 class processors diff --git a/target/linux/brcm63xx/patches-2.6.28/002-add_support_for_broadcom_63xx_cpus.patch b/target/linux/brcm63xx/patches-2.6.28/002-add_support_for_broadcom_63xx_cpus.patch deleted file mode 100644 index 56717763b..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/002-add_support_for_broadcom_63xx_cpus.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 0713aadd2a4e543b69022aa40bdec3e1dc5bc1e5 Mon Sep 17 00:00:00 2001 -From: Maxime Bizon <mbizon@freebox.fr> -Date: Mon, 18 Aug 2008 13:56:57 +0200 -Subject: [PATCH] [MIPS] BCM63XX: Add support for Broadcom 63xx CPUs. - -Signed-off-by: Maxime Bizon <mbizon@freebox.fr> ---- - arch/mips/Kconfig                                  |   16 + - arch/mips/Makefile                                 |    7 + - arch/mips/bcm63xx/Kconfig                          |    9 + - arch/mips/bcm63xx/Makefile                         |    2 + - arch/mips/bcm63xx/clk.c                            |  220 ++++++ - arch/mips/bcm63xx/cpu.c                            |  245 +++++++ - arch/mips/bcm63xx/cs.c                             |  144 ++++ - arch/mips/bcm63xx/early_printk.c                   |   30 + - arch/mips/bcm63xx/gpio.c                           |   98 +++ - arch/mips/bcm63xx/irq.c                            |  253 +++++++ - arch/mips/bcm63xx/prom.c                           |   43 ++ - arch/mips/bcm63xx/setup.c                          |  108 +++ - arch/mips/bcm63xx/timer.c                          |  205 ++++++ - arch/mips/include/asm/fixmap.h                          |    4 + - arch/mips/include/asm/mach-bcm63xx/bcm63xx_clk.h        |   11 + - arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h        |  314 +++++++++ - arch/mips/include/asm/mach-bcm63xx/bcm63xx_cs.h         |   10 + - arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h       |   14 + - arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h         |   93 +++ - arch/mips/include/asm/mach-bcm63xx/bcm63xx_irq.h        |   15 + - arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h       |  728 ++++++++++++++++++++ - arch/mips/include/asm/mach-bcm63xx/bcm63xx_timer.h      |   11 + - .../asm-mips/mach-bcm63xx/cpu-feature-overrides.h  |   51 ++ - arch/mips/include/asm/mach-bcm63xx/gpio.h               |   52 ++ - arch/mips/include/asm/mach-bcm63xx/war.h                |   25 + - 25 files changed, 2708 insertions(+), 0 deletions(-) - create mode 100644 arch/mips/bcm63xx/Kconfig - create mode 100644 arch/mips/bcm63xx/Makefile - create mode 100644 arch/mips/bcm63xx/clk.c - create mode 100644 arch/mips/bcm63xx/cpu.c - create mode 100644 arch/mips/bcm63xx/cs.c - create mode 100644 arch/mips/bcm63xx/early_printk.c - create mode 100644 arch/mips/bcm63xx/gpio.c - create mode 100644 arch/mips/bcm63xx/irq.c - create mode 100644 arch/mips/bcm63xx/prom.c - create mode 100644 arch/mips/bcm63xx/setup.c - create mode 100644 arch/mips/bcm63xx/timer.c - create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_clk.h - create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h - create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_cs.h - create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h - create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h - create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_irq.h - create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h - create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_timer.h - create mode 100644 arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h - create mode 100644 arch/mips/include/asm/mach-bcm63xx/gpio.h - create mode 100644 arch/mips/include/asm/mach-bcm63xx/war.h - ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -60,6 +60,21 @@ config BCM47XX - 	help - 	 Support for BCM47XX based boards -  -+config BCM63XX -+	bool "Broadcom 63xx based boards" -+	select CEVT_R4K -+	select CSRC_R4K -+	select DMA_NONCOHERENT -+	select IRQ_CPU -+	select SYS_HAS_CPU_MIPS32_R1 -+	select SYS_SUPPORTS_32BIT_KERNEL -+	select SYS_SUPPORTS_BIG_ENDIAN -+	select SYS_HAS_EARLY_PRINTK -+	select SWAP_IO_SPACE -+	select ARCH_REQUIRE_GPIOLIB -+	help -+	 Support for BCM63XX based boards -+ - config MIPS_COBALT - 	bool "Cobalt Server" - 	select CEVT_R4K -@@ -599,6 +614,7 @@ endchoice -  - source "arch/mips/alchemy/Kconfig" - source "arch/mips/basler/excite/Kconfig" -+source "arch/mips/bcm63xx/Kconfig" - source "arch/mips/emma/Kconfig" - source "arch/mips/jazz/Kconfig" - source "arch/mips/lasat/Kconfig" ---- a/arch/mips/Makefile -+++ b/arch/mips/Makefile -@@ -553,6 +553,13 @@ cflags-$(CONFIG_BCM47XX)	+= -I$(srctree) - load-$(CONFIG_BCM47XX)		:= 0xffffffff80001000 -  - # -+# Broadcom BCM63XX boards -+# -+core-$(CONFIG_BCM63XX)		+= arch/mips/bcm63xx/ -+cflags-$(CONFIG_BCM63XX)	+= -Iarch/mips/include/asm/mach-bcm63xx/ -+load-$(CONFIG_BCM63XX)		:= 0xffffffff80010000 -+ -+# - # SNI RM - # - core-$(CONFIG_SNI_RM)		+= arch/mips/sni/ ---- a/arch/mips/include/asm/fixmap.h -+++ b/arch/mips/include/asm/fixmap.h -@@ -67,11 +67,15 @@ enum fixed_addresses { -  * the start of the fixmap, and leave one page empty -  * at the top of mem.. -  */ -+#ifdef CONFIG_BCM63XX -+#define FIXADDR_TOP     ((unsigned long)(long)(int)0xff000000) -+#else - #if defined(CONFIG_CPU_TX39XX) || defined(CONFIG_CPU_TX49XX) - #define FIXADDR_TOP	((unsigned long)(long)(int)(0xff000000 - 0x20000)) - #else - #define FIXADDR_TOP	((unsigned long)(long)(int)0xfffe0000) - #endif -+#endif - #define FIXADDR_SIZE	(__end_of_fixed_addresses << PAGE_SHIFT) - #define FIXADDR_START	(FIXADDR_TOP - FIXADDR_SIZE) -  diff --git a/target/linux/brcm63xx/patches-2.6.28/003-add_serial_driver_for_bcm63xx_integr.patch b/target/linux/brcm63xx/patches-2.6.28/003-add_serial_driver_for_bcm63xx_integr.patch deleted file mode 100644 index 95e4c7fcf..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/003-add_serial_driver_for_bcm63xx_integr.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 6c489656b09998ed6a6f857e01ccf630e29358dd Mon Sep 17 00:00:00 2001 -From: Maxime Bizon <mbizon@freebox.fr> -Date: Fri, 18 Jul 2008 19:35:55 +0200 -Subject: [PATCH] [MIPS] BCM63XX: Add serial driver for bcm63xx integrated UART. - -Signed-off-by: Maxime Bizon <mbizon@freebox.fr> ---- - arch/mips/bcm63xx/Makefile                       |    1 + - arch/mips/bcm63xx/dev-uart.c                     |   41 + - drivers/serial/Kconfig                           |   19 + - drivers/serial/Makefile                          |    1 + - drivers/serial/bcm63xx_uart.c                    |  890 ++++++++++++++++++++++ - include/asm-mips/mach-bcm63xx/bcm63xx_dev_uart.h |    6 + - include/linux/serial_core.h                      |    2 + - 7 files changed, 960 insertions(+), 0 deletions(-) - create mode 100644 arch/mips/bcm63xx/dev-uart.c - create mode 100644 drivers/serial/bcm63xx_uart.c - create mode 100644 include/asm-mips/mach-bcm63xx/bcm63xx_dev_uart.h - ---- a/drivers/serial/Kconfig -+++ b/drivers/serial/Kconfig -@@ -1372,4 +1372,23 @@ config SPORT_BAUD_RATE - 	default 19200 if (SERIAL_SPORT_BAUD_RATE_19200) - 	default 9600 if (SERIAL_SPORT_BAUD_RATE_9600) -  -+config SERIAL_BCM63XX -+	tristate "bcm63xx serial port support" -+	select SERIAL_CORE -+	depends on BCM63XX -+	help -+	  If you have a bcm63xx CPU, you can enable its onboard -+	  serial port by enabling this options. -+ -+          To compile this driver as a module, choose M here: the -+          module will be called bcm963xx_uart. -+ -+config SERIAL_BCM63XX_CONSOLE -+	bool "Console on bcm63xx serial port" -+	depends on SERIAL_BCM63XX -+	select SERIAL_CORE_CONSOLE -+	help -+	  If you have enabled the serial port on the bcm63xx CPU -+	  you can make it the console by answering Y to this option. -+ - endmenu ---- a/drivers/serial/Makefile -+++ b/drivers/serial/Makefile -@@ -34,6 +34,7 @@ obj-$(CONFIG_SERIAL_CLPS711X) += clps711 - obj-$(CONFIG_SERIAL_PXA) += pxa.o - obj-$(CONFIG_SERIAL_PNX8XXX) += pnx8xxx_uart.o - obj-$(CONFIG_SERIAL_SA1100) += sa1100.o -+obj-$(CONFIG_SERIAL_BCM63XX) += bcm63xx_uart.o - obj-$(CONFIG_SERIAL_BFIN) += bfin_5xx.o - obj-$(CONFIG_SERIAL_BFIN_SPORT) += bfin_sport_uart.o - obj-$(CONFIG_SERIAL_SAMSUNG) += samsung.o ---- a/include/linux/serial_core.h -+++ b/include/linux/serial_core.h -@@ -158,6 +158,8 @@ - /* SH-SCI */ - #define PORT_SCIFA	83 -  -+#define PORT_BCM63XX		83 -+ - #ifdef __KERNEL__ -  - #include <linux/compiler.h> diff --git a/target/linux/brcm63xx/patches-2.6.28/004_add_pci_support.patch b/target/linux/brcm63xx/patches-2.6.28/004_add_pci_support.patch deleted file mode 100644 index 4e65c41d4..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/004_add_pci_support.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 2a7fa2dbbf68650644f807a50cc2d84ca30835c1 Mon Sep 17 00:00:00 2001 -From: Maxime Bizon <mbizon@freebox.fr> -Date: Sun, 21 Sep 2008 04:47:13 +0200 -Subject: [PATCH] [MIPS] BCM63XX: Add PCI support. - -Signed-off-by: Maxime Bizon <mbizon@freebox.fr> ---- - arch/mips/bcm63xx/Kconfig                       |    2 + - arch/mips/bcm63xx/setup.c                       |    2 + - arch/mips/pci/Makefile                          |    2 + - arch/mips/pci/fixup-bcm63xx.c                   |   21 +++ - arch/mips/pci/ops-bcm63xx.c                     |  179 +++++++++++++++++++++++ - arch/mips/pci/pci-bcm63xx.c                     |  178 ++++++++++++++++++++++ - arch/mips/pci/pci-bcm63xx.h                     |   27 ++++ - include/asm-mips/mach-bcm63xx/bcm63xx_dev_pci.h |    6 + - 8 files changed, 417 insertions(+), 0 deletions(-) - create mode 100644 arch/mips/pci/fixup-bcm63xx.c - create mode 100644 arch/mips/pci/ops-bcm63xx.c - create mode 100644 arch/mips/pci/pci-bcm63xx.c - create mode 100644 arch/mips/pci/pci-bcm63xx.h - create mode 100644 include/asm-mips/mach-bcm63xx/bcm63xx_dev_pci.h - ---- a/arch/mips/pci/Makefile -+++ b/arch/mips/pci/Makefile -@@ -16,6 +16,8 @@ obj-$(CONFIG_PCI_VR41XX)	+= ops-vr41xx.o - obj-$(CONFIG_NEC_MARKEINS)	+= ops-emma2rh.o pci-emma2rh.o fixup-emma2rh.o - obj-$(CONFIG_PCI_TX4927)	+= ops-tx4927.o - obj-$(CONFIG_BCM47XX)		+= pci-bcm47xx.o -+obj-$(CONFIG_BCM63XX)		+= pci-bcm63xx.o fixup-bcm63xx.o \ -+					ops-bcm63xx.o -  - # - # These are still pretty much in the old state, watch, go blind. diff --git a/target/linux/brcm63xx/patches-2.6.28/006-pcmcia_cardbus_support.patch b/target/linux/brcm63xx/patches-2.6.28/006-pcmcia_cardbus_support.patch deleted file mode 100644 index e6e867f17..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/006-pcmcia_cardbus_support.patch +++ /dev/null @@ -1,43 +0,0 @@ -From b17597be763621ba63534fda6e1ea0a802be2087 Mon Sep 17 00:00:00 2001 -From: Maxime Bizon <mbizon@freebox.fr> -Date: Fri, 18 Jul 2008 21:18:51 +0200 -Subject: [PATCH] [MIPS] BCM63XX: Add PCMCIA & Cardbus support. - -Signed-off-by: Maxime Bizon <mbizon@freebox.fr> ---- - arch/mips/bcm63xx/Makefile                         |    1 + - arch/mips/bcm63xx/dev-pcmcia.c                     |  135 +++++ - drivers/pcmcia/Kconfig                             |    4 + - drivers/pcmcia/Makefile                            |    1 + - drivers/pcmcia/bcm63xx_pcmcia.c                    |  521 ++++++++++++++++++++ - drivers/pcmcia/bcm63xx_pcmcia.h                    |   65 +++ - include/asm-mips/mach-bcm63xx/bcm63xx_dev_pcmcia.h |   13 + - 7 files changed, 740 insertions(+), 0 deletions(-) - create mode 100644 arch/mips/bcm63xx/dev-pcmcia.c - create mode 100644 drivers/pcmcia/bcm63xx_pcmcia.c - create mode 100644 drivers/pcmcia/bcm63xx_pcmcia.h - create mode 100644 include/asm-mips/mach-bcm63xx/bcm63xx_dev_pcmcia.h - ---- a/drivers/pcmcia/Kconfig -+++ b/drivers/pcmcia/Kconfig -@@ -192,6 +192,10 @@ config PCMCIA_AU1X00 - 	tristate "Au1x00 pcmcia support" - 	depends on SOC_AU1X00 && PCMCIA -  -+config PCMCIA_BCM63XX -+	tristate "bcm63xx pcmcia support" -+	depends on BCM63XX && PCMCIA -+ - config PCMCIA_SA1100 - 	tristate "SA1100 support" - 	depends on ARM && ARCH_SA1100 && PCMCIA ---- a/drivers/pcmcia/Makefile -+++ b/drivers/pcmcia/Makefile -@@ -27,6 +27,7 @@ obj-$(CONFIG_PCMCIA_SA1111)			+= sa11xx_ - obj-$(CONFIG_M32R_PCC)				+= m32r_pcc.o - obj-$(CONFIG_M32R_CFC)				+= m32r_cfc.o - obj-$(CONFIG_PCMCIA_AU1X00)			+= au1x00_ss.o -+obj-$(CONFIG_PCMCIA_BCM63XX)			+= bcm63xx_pcmcia.o - obj-$(CONFIG_PCMCIA_VRC4171)			+= vrc4171_card.o - obj-$(CONFIG_PCMCIA_VRC4173)			+= vrc4173_cardu.o - obj-$(CONFIG_OMAP_CF)				+= omap_cf.o diff --git a/target/linux/brcm63xx/patches-2.6.28/007-usb_ohci_support.patch b/target/linux/brcm63xx/patches-2.6.28/007-usb_ohci_support.patch deleted file mode 100644 index 6f6d46539..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/007-usb_ohci_support.patch +++ /dev/null @@ -1,56 +0,0 @@ -From f7416412febd7efc1d33c7506c81265719368667 Mon Sep 17 00:00:00 2001 -From: Maxime Bizon <mbizon@freebox.fr> -Date: Mon, 21 Jul 2008 14:58:19 +0200 -Subject: [PATCH] [MIPS] BCM63XX: Add USB OHCI support. - -Signed-off-by: Maxime Bizon <mbizon@freebox.fr> ---- - arch/mips/bcm63xx/Kconfig                          |    6 + - arch/mips/bcm63xx/Makefile                         |    1 + - arch/mips/bcm63xx/dev-usb-ohci.c                   |   50 ++++++ - drivers/usb/host/ohci-bcm63xx.c                    |  159 ++++++++++++++++++++ - drivers/usb/host/ohci-hcd.c                        |    5 + - drivers/usb/host/ohci.h                            |    7 +- - .../asm-mips/mach-bcm63xx/bcm63xx_dev_usb_ohci.h   |    6 + - 7 files changed, 233 insertions(+), 1 deletions(-) - create mode 100644 arch/mips/bcm63xx/dev-usb-ohci.c - create mode 100644 drivers/usb/host/ohci-bcm63xx.c - create mode 100644 include/asm-mips/mach-bcm63xx/bcm63xx_dev_usb_ohci.h - ---- a/drivers/usb/host/ohci-hcd.c -+++ b/drivers/usb/host/ohci-hcd.c -@@ -1047,6 +1047,11 @@ MODULE_LICENSE ("GPL"); - #define PLATFORM_DRIVER		usb_hcd_pnx4008_driver - #endif -  -+#ifdef CONFIG_BCM63XX -+#include "ohci-bcm63xx.c" -+#define PLATFORM_DRIVER		ohci_hcd_bcm63xx_driver -+#endif -+ - #if defined(CONFIG_CPU_SUBTYPE_SH7720) || \ -     defined(CONFIG_CPU_SUBTYPE_SH7721) || \ -     defined(CONFIG_CPU_SUBTYPE_SH7763) ---- a/drivers/usb/host/ohci.h -+++ b/drivers/usb/host/ohci.h -@@ -536,6 +536,11 @@ static inline struct usb_hcd *ohci_to_hc - #define big_endian_mmio(ohci)	0		/* only little endian */ - #endif -  -+#if defined(CONFIG_MIPS) && defined(CONFIG_BCM63XX) -+#define readl_be(addr)                __raw_readl((__force unsigned *)addr) -+#define writel_be(val, addr)  __raw_writel(val, (__force unsigned *)addr) -+#endif -+ - /* -  * Big-endian read/write functions are arch-specific. -  * Other arches can be added if/when they're needed. -@@ -646,7 +651,7 @@ static inline u32 hc32_to_cpup (const st -  * some big-endian SOC implementations.  Same thing happens with PSW access. -  */ -  --#ifdef CONFIG_PPC_MPC52xx -+#if defined(CONFIG_PPC_MPC52xx) || defined(CONFIG_BCM63XX) - #define big_endian_frame_no_quirk(ohci)	(ohci->flags & OHCI_QUIRK_FRAME_NO) - #else - #define big_endian_frame_no_quirk(ohci)	0 diff --git a/target/linux/brcm63xx/patches-2.6.28/008-usb_ehci_support.patch b/target/linux/brcm63xx/patches-2.6.28/008-usb_ehci_support.patch deleted file mode 100644 index 60dd30ef1..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/008-usb_ehci_support.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 2940d1996c86c4c4dd7a82214f846d0c0b707165 Mon Sep 17 00:00:00 2001 -From: Maxime Bizon <mbizon@freebox.fr> -Date: Mon, 21 Jul 2008 18:24:42 +0200 -Subject: [PATCH] [MIPS] BCM63XX: Add USB EHCI support. - -Signed-off-by: Maxime Bizon <mbizon@freebox.fr> ---- - arch/mips/bcm63xx/Kconfig                          |    2 + - arch/mips/bcm63xx/Makefile                         |    1 + - arch/mips/bcm63xx/dev-usb-ehci.c                   |   50 +++++++ - drivers/usb/host/ehci-bcm63xx.c                    |  152 ++++++++++++++++++++ - drivers/usb/host/ehci-hcd.c                        |    5 + - drivers/usb/host/ehci.h                            |    5 + - .../asm-mips/mach-bcm63xx/bcm63xx_dev_usb_ehci.h   |    6 + - 7 files changed, 221 insertions(+), 0 deletions(-) - create mode 100644 arch/mips/bcm63xx/dev-usb-ehci.c - create mode 100644 drivers/usb/host/ehci-bcm63xx.c - create mode 100644 include/asm-mips/mach-bcm63xx/bcm63xx_dev_usb_ehci.h - ---- a/drivers/usb/host/ehci-hcd.c -+++ b/drivers/usb/host/ehci-hcd.c -@@ -1036,6 +1036,11 @@ MODULE_LICENSE ("GPL"); - #define	PLATFORM_DRIVER		ixp4xx_ehci_driver - #endif -  -+#ifdef CONFIG_BCM63XX -+#include "ehci-bcm63xx.c" -+#define	PLATFORM_DRIVER		ehci_hcd_bcm63xx_driver -+#endif -+ - #if !defined(PCI_DRIVER) && !defined(PLATFORM_DRIVER) && \ -     !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER) - #error "missing bus glue for ehci-hcd" ---- a/drivers/usb/host/ehci.h -+++ b/drivers/usb/host/ehci.h -@@ -621,6 +621,11 @@ ehci_port_speed(struct ehci_hcd *ehci, u - #define writel_be(val, addr)	__raw_writel(val, (__force unsigned *)addr) - #endif -  -+#if defined(CONFIG_MIPS) && defined(CONFIG_BCM63XX) -+#define readl_be(addr)		__raw_readl((__force unsigned *)addr) -+#define writel_be(val, addr)	__raw_writel(val, (__force unsigned *)addr) -+#endif -+ - static inline unsigned int ehci_readl(const struct ehci_hcd *ehci, - 		__u32 __iomem * regs) - { ---- a/drivers/usb/host/Kconfig -+++ b/drivers/usb/host/Kconfig -@@ -44,7 +44,7 @@ config USB_EHCI_HCD -  - config USB_EHCI_ROOT_HUB_TT - 	bool "Root Hub Transaction Translators" --	depends on USB_EHCI_HCD -+	depends on USB_EHCI_HCD && !BCM63XX - 	---help--- - 	  Some EHCI chips have vendor-specific extensions to integrate - 	  transaction translators, so that no OHCI or UHCI companion diff --git a/target/linux/brcm63xx/patches-2.6.28/009-add_integrated_ethernet_mac_support.patch b/target/linux/brcm63xx/patches-2.6.28/009-add_integrated_ethernet_mac_support.patch deleted file mode 100644 index 780e978da..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/009-add_integrated_ethernet_mac_support.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 49aa7ffcd9bd2d9a0af99fced7b8511160dbf345 Mon Sep 17 00:00:00 2001 -From: Maxime Bizon <mbizon@freebox.fr> -Date: Sun, 21 Sep 2008 03:43:26 +0200 -Subject: [PATCH] [MIPS] BCM63XX: Add integrated ethernet mac support. - -Signed-off-by: Maxime Bizon <mbizon@freebox.fr> ---- - arch/mips/bcm63xx/Makefile                       |    1 + - arch/mips/bcm63xx/dev-enet.c                     |  158 ++ - drivers/net/Kconfig                              |    9 + - drivers/net/Makefile                             |    1 + - drivers/net/bcm63xx_enet.c                       | 1894 ++++++++++++++++++++++ - drivers/net/bcm63xx_enet.h                       |  294 ++++ - include/asm-mips/mach-bcm63xx/bcm63xx_dev_enet.h |   45 + - 7 files changed, 2402 insertions(+), 0 deletions(-) - create mode 100644 arch/mips/bcm63xx/dev-enet.c - create mode 100644 drivers/net/bcm63xx_enet.c - create mode 100644 drivers/net/bcm63xx_enet.h - create mode 100644 include/asm-mips/mach-bcm63xx/bcm63xx_dev_enet.h - ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -1987,6 +1987,15 @@ config ATL2 - 	  To compile this driver as a module, choose M here.  The module - 	  will be called atl2. -  -+config BCM63XX_ENET -+	tristate "Broadcom 63xx internal mac support" -+	depends on BCM63XX -+	select MII -+	select PHYLIB -+	help -+	  This driver supports the ethernet MACs in the Broadcom 63xx -+	  MIPS chipset family (BCM63XX). -+ - source "drivers/net/fs_enet/Kconfig" -  - endif # NET_ETHERNET ---- a/drivers/net/Makefile -+++ b/drivers/net/Makefile -@@ -126,6 +126,7 @@ obj-$(CONFIG_SB1250_MAC) += sb1250-mac.o - obj-$(CONFIG_B44) += b44.o - obj-$(CONFIG_FORCEDETH) += forcedeth.o - obj-$(CONFIG_NE_H8300) += ne-h8300.o -+obj-$(CONFIG_BCM63XX_ENET) += bcm63xx_enet.o - obj-$(CONFIG_AX88796) += ax88796.o -  - obj-$(CONFIG_TSI108_ETH) += tsi108_eth.o diff --git a/target/linux/brcm63xx/patches-2.6.28/010-add_integrated_ethernet_phy_support.patch b/target/linux/brcm63xx/patches-2.6.28/010-add_integrated_ethernet_phy_support.patch deleted file mode 100644 index b2eace1c5..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/010-add_integrated_ethernet_phy_support.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 7eefcb968019804e024c8243e28afb1eebd674a2 Mon Sep 17 00:00:00 2001 -From: Maxime Bizon <mbizon@freebox.fr> -Date: Sun, 21 Sep 2008 02:20:53 +0200 -Subject: [PATCH] [MIPS] BCM63XX: Add integrated ethernet PHY support for phylib. - -Signed-off-by: Maxime Bizon <mbizon@freebox.fr> ---- - drivers/net/phy/Kconfig   |    6 ++ - drivers/net/phy/Makefile  |    1 + - drivers/net/phy/bcm63xx.c |  132 +++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 139 insertions(+), 0 deletions(-) - create mode 100644 drivers/net/phy/bcm63xx.c - ---- a/drivers/net/phy/Kconfig -+++ b/drivers/net/phy/Kconfig -@@ -62,6 +62,12 @@ config BROADCOM_PHY - 	  Currently supports the BCM5411, BCM5421, BCM5461, BCM5464, BCM5481 - 	  and BCM5482 PHYs. -  -+config BCM63XX_PHY -+	tristate "Drivers for Broadcom 63xx SOCs internal PHY" -+	depends on BCM63XX -+	---help--- -+	  Currently supports the 6348 and 6358 PHYs. -+ - config ICPLUS_PHY - 	tristate "Drivers for ICPlus PHYs" - 	---help--- ---- a/drivers/net/phy/Makefile -+++ b/drivers/net/phy/Makefile -@@ -12,6 +12,7 @@ obj-$(CONFIG_QSEMI_PHY)		+= qsemi.o - obj-$(CONFIG_SMSC_PHY)		+= smsc.o - obj-$(CONFIG_VITESSE_PHY)	+= vitesse.o - obj-$(CONFIG_BROADCOM_PHY)	+= broadcom.o -+obj-$(CONFIG_BCM63XX_PHY)	+= bcm63xx.o - obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o - obj-$(CONFIG_ADM6996_PHY)	+= adm6996.o - obj-$(CONFIG_MVSWITCH_PHY)	+= mvswitch.o diff --git a/target/linux/brcm63xx/patches-2.6.28/020-watchdog.patch b/target/linux/brcm63xx/patches-2.6.28/020-watchdog.patch deleted file mode 100644 index 14267945d..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/020-watchdog.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/drivers/watchdog/Makefile -+++ b/drivers/watchdog/Makefile -@@ -106,6 +106,7 @@ obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o - obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o - obj-$(CONFIG_AR7_WDT) += ar7_wdt.o - obj-$(CONFIG_TXX9_WDT) += txx9wdt.o -+obj-$(CONFIG_BCM63XX_WDT) += bcm63xx_wdt.o -  - # PARISC Architecture -  ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -747,6 +747,16 @@ config TXX9_WDT - 	help - 	  Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs. -  -+config BCM63XX_WDT -+	tristate "Broadcom BCM63xx hardware watchdog" -+	depends on BCM63XX -+	help -+	  Watchdog driver for the built in watchdog hardware in Broadcom -+	  BCM63xx SoC. -+ -+	  To compile thi driver as a loadable module, choose M here. -+	  The module will be called bcm63xx_wdt. -+ - # PARISC Architecture -  - # POWERPC Architecture diff --git a/target/linux/brcm63xx/patches-2.6.28/040-bcm963xx_flashmap.patch b/target/linux/brcm63xx/patches-2.6.28/040-bcm963xx_flashmap.patch deleted file mode 100644 index 835a801c0..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/040-bcm963xx_flashmap.patch +++ /dev/null @@ -1,73 +0,0 @@ -From e734ace5baa04e0e8af1d4483475fbd6bd2b32a1 Mon Sep 17 00:00:00 2001 -From: Axel Gembe <ago@bastart.eu.org> -Date: Mon, 12 May 2008 18:54:09 +0200 -Subject: [PATCH] bcm963xx: flashmap support - - -Signed-off-by: Axel Gembe <ago@bastart.eu.org> ---- - drivers/mtd/maps/Kconfig  |    7 +++++++ - drivers/mtd/maps/Makefile |    1 + - drivers/mtd/redboot.c     |   13 ++++++++++--- - 3 files changed, 18 insertions(+), 3 deletions(-) - ---- a/drivers/mtd/maps/Kconfig -+++ b/drivers/mtd/maps/Kconfig -@@ -257,6 +257,13 @@ config MTD_ALCHEMY - 	help - 	  Flash memory access on AMD Alchemy Pb/Db/RDK Reference Boards -  -+config MTD_BCM963XX -+        tristate "BCM963xx Flash device" -+        depends on MIPS && BCM63XX -+        help -+	  Flash memory access on BCM963xx boards. Currently only works with -+	  RedBoot and CFE. -+ - config MTD_DILNETPC - 	tristate "CFI Flash device mapped on DIL/Net PC" - 	depends on X86 && MTD_CONCAT && MTD_PARTITIONS && MTD_CFI_INTELEXT ---- a/drivers/mtd/redboot.c -+++ b/drivers/mtd/redboot.c -@@ -39,7 +39,7 @@ static inline int redboot_checksum(struc - 	return 1; - } -  --static int parse_redboot_partitions(struct mtd_info *master, -+int parse_redboot_partitions(struct mtd_info *master, -                              struct mtd_partition **pparts, -                              unsigned long fis_origin) - { -@@ -162,6 +162,14 @@ static int parse_redboot_partitions(stru - 		goto out; - 	} -  -+	if (!fis_origin) { -+		for (i = 0; i < numslots; i++) { -+			if (!strncmp(buf[i].name, "RedBoot", 8)) { -+				fis_origin = (buf[i].flash_base & (master->size << 1) - 1); -+			} -+		} -+	} -+ - 	for (i = 0; i < numslots; i++) { - 		struct fis_list *new_fl, **prev; -  -@@ -184,9 +192,8 @@ static int parse_redboot_partitions(stru - 		new_fl->img = &buf[i]; -                 if (fis_origin) { -                         buf[i].flash_base -= fis_origin; --                } else { --                        buf[i].flash_base &= master->size-1; -                 } -+		buf[i].flash_base &= (master->size << 1) - 1; -  - 		/* I'm sure the JFFS2 code has done me permanent damage. - 		 * I now think the following is _normal_ ---- a/drivers/mtd/maps/Makefile -+++ b/drivers/mtd/maps/Makefile -@@ -61,3 +61,4 @@ obj-$(CONFIG_MTD_PLATRAM)	+= plat-ram.o - obj-$(CONFIG_MTD_OMAP_NOR)	+= omap_nor.o - obj-$(CONFIG_MTD_INTEL_VR_NOR)	+= intel_vr_nor.o - obj-$(CONFIG_MTD_BFIN_ASYNC)	+= bfin-async-flash.o -+obj-$(CONFIG_MTD_BCM963XX)	+= bcm963xx-flash.o diff --git a/target/linux/brcm63xx/patches-2.6.28/050-spi.patch b/target/linux/brcm63xx/patches-2.6.28/050-spi.patch deleted file mode 100644 index 64eb6a7d2..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/050-spi.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/drivers/spi/Kconfig -+++ b/drivers/spi/Kconfig -@@ -229,6 +229,13 @@ config SPI_XILINX - 	  See the "OPB Serial Peripheral Interface (SPI) (v1.00e)" - 	  Product Specification document (DS464) for hardware details. -  -+config SPI_BCM63XX -+	tristate "Broadcom BCM63xx SPI controller" -+	depends on BCM63XX -+	select SPI_BITBANG -+	help -+	  SPI driver for the Broadcom BCM63xx SPI controller. -+ - # - # Add new SPI master controllers in alphabetical order above this line - # ---- a/drivers/spi/Makefile -+++ b/drivers/spi/Makefile -@@ -31,6 +31,7 @@ obj-$(CONFIG_SPI_S3C24XX)		+= spi_s3c24x - obj-$(CONFIG_SPI_TXX9)			+= spi_txx9.o - obj-$(CONFIG_SPI_XILINX)		+= xilinx_spi.o - obj-$(CONFIG_SPI_SH_SCI)		+= spi_sh_sci.o -+obj-$(CONFIG_SPI_BCM63XX)		+= bcm63xx_spi.o - # 	... add above this line ... -  - # SPI protocol drivers (device/link on bus) diff --git a/target/linux/brcm63xx/patches-2.6.28/500-lzma_initramfs.patch b/target/linux/brcm63xx/patches-2.6.28/500-lzma_initramfs.patch deleted file mode 100644 index 6a4a666c3..000000000 --- a/target/linux/brcm63xx/patches-2.6.28/500-lzma_initramfs.patch +++ /dev/null @@ -1,125 +0,0 @@ ---- a/init/initramfs.c -+++ b/init/initramfs.c -@@ -7,6 +7,7 @@ - #include <linux/string.h> - #include <linux/syscalls.h> - #include <linux/utime.h> -+#include <linux/vmalloc.h> -  - static __initdata char *message; - static void __init error(char *x) -@@ -475,6 +476,69 @@ static void __init flush_window(void) - 	outcnt = 0; - } -  -+#include <linux/LzmaDecode.h> -+static int __init lzma_unzip(void) -+{ -+	unsigned int i;  /* temp value */ -+	unsigned int lc; /* literal context bits */ -+	unsigned int lp; /* literal pos state bits */ -+	unsigned int pb; /* pos state bits */ -+	unsigned int osize; /* uncompressed size */ -+	unsigned char *workspace; -+	unsigned char* outputbuffer; -+	unsigned int outsizeProcessed = 0; -+	int workspace_size; -+	int res; -+ -+	// lzma args -+	i = get_byte(); -+	lc = i % 9, i = i / 9; -+	lp = i % 5, pb = i / 5; -+ -+	// skip dictionary size -+	for (i = 0; i < 4; i++) -+		get_byte(); -+ -+	/* read the lower half of uncompressed size in the header */ -+	osize = ((unsigned int)get_byte()) + -+		((unsigned int)get_byte() << 8) + -+		((unsigned int)get_byte() << 16) + -+		((unsigned int)get_byte() << 24); -+ -+	/* skip rest of the header (upper half of uncompressed size) */ -+	for (i = 0; i < 4; i++) -+		get_byte(); -+ -+	workspace_size = ((LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp))) * sizeof(CProb)) + 100; -+	printk( KERN_NOTICE "initramfs: LZMA lc=%d,lp=%d,pb=%d,origSize=%d\n", -+	lc,lp,pb,osize); -+	outputbuffer = vmalloc(osize); -+	if (outputbuffer == 0) { -+		printk(KERN_ERR "initramfs: Couldn't allocate lzma output buffer\n"); -+		return -1; -+	} -+ -+	workspace = vmalloc(workspace_size); -+	if (workspace == NULL) { -+		printk(KERN_ERR "initramfs: Couldn't allocate lzma workspace\n"); -+		return -1; -+	} -+ -+	res = LzmaDecode(workspace, workspace_size, lc, lp, pb, inbuf + inptr, insize - inptr, outputbuffer, osize, &outsizeProcessed); -+	if( res != 0 ) { -+		panic( KERN_ERR "initramfs: Lzma decode failure\n"); -+		return -1; -+	} -+ -+	flush_buffer(outputbuffer, outsizeProcessed); -+	inptr = insize; -+ -+	vfree(outputbuffer); -+	vfree(workspace); -+	state = Reset; -+	return 0; -+} -+ - static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only) - { - 	int written; -@@ -509,12 +573,28 @@ static char * __init unpack_to_rootfs(ch - 		inptr = 0; - 		outcnt = 0;		/* bytes in output buffer */ - 		bytes_out = 0; --		crc = (ulg)0xffffffffL; /* shift register contents */ --		makecrc(); --		gunzip(); --		if (state != Reset) -+		if( inbuf[0] == 037 && ((inbuf[1] == 0213) || (inbuf[1] == 0236))) -+		{ -+		   printk( KERN_NOTICE "detected gzip initramfs\n"); -+		   crc = (ulg)0xffffffffL; /* shift register contents */ -+		   makecrc(); -+		   gunzip(); -+		   if (state != Reset) - 			error("junk in gzipped archive"); --		this_header = saved_offset + inptr; -+		} -+		else if(!memcmp(inbuf+1, "\x00\x00\x80\x00", 4)) /* FIXME: hardcoded dictionary size */ -+		{ -+		   printk( KERN_NOTICE "detected lzma initramfs\n"); -+		   lzma_unzip(); -+		} -+		else -+		{ -+		   // skip forward ? -+		   crc = (ulg)0xffffffffL; /* shift register contents */ -+		   makecrc(); -+		   gunzip(); -+		} -+	        this_header = saved_offset + inptr; - 		buf += inptr; - 		len -= inptr; - 	} ---- a/scripts/gen_initramfs_list.sh -+++ b/scripts/gen_initramfs_list.sh -@@ -287,7 +287,7 @@ if [ ! -z ${output_file} ]; then - 	if [ "${is_cpio_compressed}" = "compressed" ]; then - 		cat ${cpio_tfile} > ${output_file} - 	else --		cat ${cpio_tfile} | gzip -f -9 - > ${output_file} -+		lzma e -lc1 -lp2 -pb2 ${cpio_tfile} ${output_file} - 	fi - 	[ -z ${cpio_file} ] && rm ${cpio_tfile} - fi | 
