From 5abca50d4d73492ce2749de05a3539b75ab83439 Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 30 Jul 2009 21:29:25 +0000 Subject: [brcm63xx] add experimental support for 2.6.28.10, tested on bcm6338 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17054 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../001-add_broadcom_63xx_cpu_definitions.patch | 95 ++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 target/linux/brcm63xx/patches-2.6.28/001-add_broadcom_63xx_cpu_definitions.patch (limited to 'target/linux/brcm63xx/patches-2.6.28/001-add_broadcom_63xx_cpu_definitions.patch') 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 new file mode 100644 index 000000000..fa6d258de --- /dev/null +++ b/target/linux/brcm63xx/patches-2.6.28/001-add_broadcom_63xx_cpu_definitions.patch @@ -0,0 +1,95 @@ +From a9f65413f9ea81ef2208da66a3db9cb8a9020eef Mon Sep 17 00:00:00 2001 +From: Maxime Bizon +Date: Fri, 18 Jul 2008 15:53:08 +0200 +Subject: [PATCH] [MIPS] BCM63XX: Add Broadcom 63xx CPU definitions. + +Signed-off-by: Maxime Bizon +--- + 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 -- cgit v1.2.3