Fix the bcm96358 PRID
[openwrt.git] / target / linux / brcm63xx-2.6 / patches / 001-bcm963xx.patch
index 7267c94..f85ceb9 100644 (file)
@@ -1,45 +1,55 @@
 diff -urN linux-2.6.19/arch/mips/Kconfig linux-2.6.19.new/arch/mips/Kconfig
 --- linux-2.6.19/arch/mips/Kconfig     2006-11-29 22:57:37.000000000 +0100
 +++ linux-2.6.19.new/arch/mips/Kconfig 2006-12-16 18:46:31.000000000 +0100
-@@ -12,6 +12,15 @@
+@@ -4,6 +4,10 @@
+       # Horrible source of confusion.  Die, die, die ...
+       select EMBEDDED
++config CFE
++       bool
++       # Common Firmware Environment
++
+ mainmenu "Linux/MIPS Kernel Configuration"
+ menu "Machine selection"
+@@ -15,6 +15,18 @@
        prompt "System type"
        default SGI_IP22
  
 +config BCM963XX 
-+      bool "Support for the Broadcom boards"
++      bool "Support for Broadcom BCM963xx SoC"
 +      select SYS_SUPPORTS_32BIT_KERNEL
 +      select SYS_SUPPORTS_BIG_ENDIAN
 +      select SYS_HAS_CPU_MIPS32_R1
++      select HW_HAS_PCI
++      select DMA_NONCOHERENT
 +      select IRQ_CPU
++      select CFE
 +      help
 +       This is a fmaily of boards based on the Broadcom MIPS32
 +
- config MIPS_MTX1
-       bool "4G Systems MTX-1 board"
-       select DMA_NONCOHERENT
-@@ -766,6 +775,7 @@
- endchoice
+ config MACH_ALCHEMY
+       bool "Alchemy processor based machines"
  
-+source "arch/mips/bcm963xx/Kconfig"
- source "arch/mips/ddb5xxx/Kconfig"
- source "arch/mips/gt64120/ev64120/Kconfig"
- source "arch/mips/jazz/Kconfig"
 diff -urN linux-2.6.19/arch/mips/Makefile linux-2.6.19.new/arch/mips/Makefile
 --- linux-2.6.19/arch/mips/Makefile    2006-12-16 17:36:29.000000000 +0100
 +++ linux-2.6.19.new/arch/mips/Makefile        2006-12-16 18:46:31.000000000 +0100
-@@ -158,6 +158,15 @@
+@@ -158,6 +158,19 @@
  #
  
  #
-+# Broadcom board
++# Broadcom BCM963xx SoC
 +#
 +core-$(CONFIG_BCM963XX)       += arch/mips/bcm963xx/
 +cflags-$(CONFIG_BCM963XX)             += -Iinclude/asm-mips/mach-bcm963xx
-+cflags-$(CONFIG_BCM963XX)             += -Iarch/mips/bcm963xx/include
 +load-$(CONFIG_BCM963XX)       += 0xffffffff80010000
 +
 +
++#
++# Common Firmware Environment
++#
++core-$(CONFIG_CFE)             += arch/mips/cfe/
++
 +#
  # Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
  #
@@ -47,7 +57,7 @@ diff -urN linux-2.6.19/arch/mips/Makefile linux-2.6.19.new/arch/mips/Makefile
 diff -urN linux-2.6.19/arch/mips/kernel/cpu-probe.c linux-2.6.19.new/arch/mips/kernel/cpu-probe.c
 --- linux-2.6.19/arch/mips/kernel/cpu-probe.c  2006-11-29 22:57:37.000000000 +0100
 +++ linux-2.6.19.new/arch/mips/kernel/cpu-probe.c      2006-12-16 18:46:31.000000000 +0100
-@@ -602,6 +602,25 @@
+@@ -590,6 +590,28 @@
                return;
  }
  
@@ -64,6 +74,9 @@ diff -urN linux-2.6.19/arch/mips/kernel/cpu-probe.c linux-2.6.19.new/arch/mips/k
 +       case PRID_IMP_BCM6348:
 +               c->cputype = CPU_BCM6348;
 +               break;
++      case PRID_IMP_BCM6358:
++              c->cputype = CPU_BCM6358;
++              break;
 +       default:
 +               c->cputype = CPU_UNKNOWN;
 +               break;
@@ -73,7 +86,7 @@ diff -urN linux-2.6.19/arch/mips/kernel/cpu-probe.c linux-2.6.19.new/arch/mips/k
  static inline void cpu_probe_mips(struct cpuinfo_mips *c)
  {
        decode_configs(c);
-@@ -736,6 +755,9 @@
+@@ -724,6 +743,9 @@
        case PRID_COMP_LEGACY:
                cpu_probe_legacy(c);
                break;
@@ -86,13 +99,14 @@ diff -urN linux-2.6.19/arch/mips/kernel/cpu-probe.c linux-2.6.19.new/arch/mips/k
 diff -urN linux-2.6.19/arch/mips/kernel/proc.c linux-2.6.19.new/arch/mips/kernel/proc.c
 --- linux-2.6.19/arch/mips/kernel/proc.c       2006-11-29 22:57:37.000000000 +0100
 +++ linux-2.6.19.new/arch/mips/kernel/proc.c   2006-12-16 18:46:31.000000000 +0100
-@@ -84,6 +84,9 @@
+@@ -84,6 +84,10 @@
        [CPU_VR4181A]   = "NEC VR4181A",
        [CPU_SR71000]   = "Sandcraft SR71000",
        [CPU_PR4450]    = "Philips PR4450",
 +      [CPU_BCM6338]   = "BCM6338",
 +      [CPU_BCM6345]   = "BCM6345",
 +      [CPU_BCM6348]   = "BCM6348",
++      [CPU_BCM6358]   = "BCM6358",
  };
  
  
@@ -103,9 +117,9 @@ diff -urN linux-2.6.19/arch/mips/mm/c-r4k.c linux-2.6.19.new/arch/mips/mm/c-r4k.
                if (!(config & MIPS_CONF_M))
                        panic("Don't know how to probe P-caches on this cpu.");
  
-+              if (c->cputype == CPU_BCM6338 || c->cputype == CPU_BCM6345 || c->cputype == CPU_BCM6348)
++              if (c->cputype == CPU_BCM6338 || c->cputype == CPU_BCM6345 || c->cputype == CPU_BCM6348 || c->cputype == CPU_BCM6358)
 +              {
-+                      printk("brcm mips: enabling icache and dcache...\n");
++                      printk("bcm963xx: enabling icache and dcache...\n");
 +                      /* Enable caches */
 +                      write_c0_diag(read_c0_diag() | 0xC0000000);
 +              }
@@ -116,39 +130,32 @@ diff -urN linux-2.6.19/arch/mips/mm/c-r4k.c linux-2.6.19.new/arch/mips/mm/c-r4k.
 diff -urN linux-2.6.19/arch/mips/mm/tlbex.c linux-2.6.19.new/arch/mips/mm/tlbex.c
 --- linux-2.6.19/arch/mips/mm/tlbex.c  2006-11-29 22:57:37.000000000 +0100
 +++ linux-2.6.19.new/arch/mips/mm/tlbex.c      2006-12-16 18:46:31.000000000 +0100
-@@ -880,6 +880,9 @@
+@@ -892,6 +892,10 @@
        case CPU_4KSC:
        case CPU_20KC:
        case CPU_25KF:
 +      case CPU_BCM6338:
 +      case CPU_BCM6345:
 +      case CPU_BCM6348:
++      case CPU_BCM6358:
                tlbw(p);
                break;
  
 diff -urN linux-2.6.19/arch/mips/pci/Makefile linux-2.6.19.new/arch/mips/pci/Makefile
 --- linux-2.6.19/arch/mips/pci/Makefile        2006-11-29 22:57:37.000000000 +0100
 +++ linux-2.6.19.new/arch/mips/pci/Makefile    2006-12-16 18:48:18.000000000 +0100
-@@ -17,6 +17,7 @@
+@@ -16,6 +16,7 @@
  obj-$(CONFIG_PCI_VR41XX)      += ops-vr41xx.o pci-vr41xx.o
  obj-$(CONFIG_NEC_CMBVR4133)   += fixup-vr4133.o
  obj-$(CONFIG_MARKEINS)                += ops-emma2rh.o pci-emma2rh.o fixup-emma2rh.o
-+obj-$(CONFIG_BCM_PCI)         += fixup-bcm96348.o pci-bcm96348.o ops-bcm96348.o
++obj-$(CONFIG_BCM963XX)                += fixup-bcm96348.o pci-bcm96348.o ops-bcm96348.o
  
  #
  # These are still pretty much in the old state, watch, go blind.
-diff -urN linux-2.6.19/drivers/serial/Makefile linux-2.6.19.new/drivers/serial/Makefile
---- linux-2.6.19/drivers/serial/Makefile       2006-11-29 22:57:37.000000000 +0100
-+++ linux-2.6.19.new/drivers/serial/Makefile   2006-12-16 18:49:17.000000000 +0100
-@@ -56,3 +56,4 @@
- obj-$(CONFIG_SERIAL_SGI_IOC3) += ioc3_serial.o
- obj-$(CONFIG_SERIAL_ATMEL) += atmel_serial.o
- obj-$(CONFIG_SERIAL_NETX) += netx-serial.o
-+obj-$(CONFIG_BCM_SERIAL) += bcm63xx_cons.o
 diff -urN linux-2.6.19/include/asm-mips/bootinfo.h linux-2.6.19.new/include/asm-mips/bootinfo.h
 --- linux-2.6.19/include/asm-mips/bootinfo.h   2006-11-29 22:57:37.000000000 +0100
 +++ linux-2.6.19.new/include/asm-mips/bootinfo.h       2006-12-16 18:46:31.000000000 +0100
-@@ -212,6 +212,14 @@
+@@ -213,6 +213,15 @@
  #define MACH_GROUP_NEC_EMMA2RH 25     /* NEC EMMA2RH (was 23)         */
  #define  MACH_NEC_MARKEINS    0       /* NEC EMMA2RH Mark-eins        */
  
@@ -159,6 +166,7 @@ diff -urN linux-2.6.19/include/asm-mips/bootinfo.h linux-2.6.19.new/include/asm-
 +#define MACH_BCM96338          0
 +#define MACH_BCM96345          1
 +#define MACH_BCM96348          2
++#define MACH_BCM96358         3
 +
  #define CL_SIZE                       COMMAND_LINE_SIZE
  
@@ -166,7 +174,7 @@ diff -urN linux-2.6.19/include/asm-mips/bootinfo.h linux-2.6.19.new/include/asm-
 diff -urN linux-2.6.19/include/asm-mips/cpu.h linux-2.6.19.new/include/asm-mips/cpu.h
 --- linux-2.6.19/include/asm-mips/cpu.h        2006-11-29 22:57:37.000000000 +0100
 +++ linux-2.6.19.new/include/asm-mips/cpu.h    2006-12-16 18:46:31.000000000 +0100
-@@ -103,6 +103,13 @@
+@@ -103,6 +103,14 @@
  
  #define PRID_IMP_SR71000        0x0400
  
@@ -176,11 +184,12 @@ diff -urN linux-2.6.19/include/asm-mips/cpu.h linux-2.6.19.new/include/asm-mips/
 +#define PRID_IMP_BCM6338              0x9000
 +#define PRID_IMP_BCM6345              0x8000
 +#define PRID_IMP_BCM6348              0x9100
++#define PRID_IMP_BCM6358              0xA000
 +
  /*
   * Definitions for 7:0 on legacy processors
   */
-@@ -200,7 +207,10 @@
+@@ -200,7 +207,11 @@
  #define CPU_SB1A              62
  #define CPU_74K                       63
  #define CPU_R14000            64
@@ -188,14 +197,15 @@ diff -urN linux-2.6.19/include/asm-mips/cpu.h linux-2.6.19.new/include/asm-mips/
 +#define CPU_BCM6338             65
 +#define CPU_BCM6345             66
 +#define CPU_BCM6348             67
-+#define CPU_LAST              67
++#define CPU_BCM6358            68     
++#define CPU_LAST              68
  
  /*
   * ISA Level encodings
 diff -urN linux-2.6.19/include/asm-mips/module.h linux-2.6.19.new/include/asm-mips/module.h
 --- linux-2.6.19/include/asm-mips/module.h     2006-11-29 22:57:37.000000000 +0100
 +++ linux-2.6.19.new/include/asm-mips/module.h 2006-12-16 19:03:22.000000000 +0100
-@@ -112,6 +112,12 @@
+@@ -112,6 +112,14 @@
  #define MODULE_PROC_FAMILY "RM9000 "
  #elif defined CONFIG_CPU_SB1
  #define MODULE_PROC_FAMILY "SB1 "
@@ -205,6 +215,8 @@ diff -urN linux-2.6.19/include/asm-mips/module.h linux-2.6.19.new/include/asm-mi
 +#define MODULE_PROC_FAMILY "BCM6345 "
 +#elif defined CONFIG_CPU_BCM6348
 +#define MODULE_PROC_FAMILY "BCM6348 "
++#elif defined CONFIG_CPU_BCM6358
++#define MODULE_PROC_FAMILY "BCM6358 "
  #else
  #error MODULE_PROC_FAMILY undefined for your processor configuration
  #endif
This page took 0.026943 seconds and 4 git commands to generate.