aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-4.4/334-MIPS-BCM63XX-detect-BCM6368-variants.patch
blob: a993e238e4faa861ccfff45daf3823456c476cca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
From 825cc67e56b5e624a05f6850a86d91508b786848 Mon Sep 17 00:00:00 2001
From: Jonas Gorski <jogo@openwrt.org>
Date: Sat, 7 Dec 2013 14:36:56 +0100
Subject: [PATCH 24/44] MIPS: BCM63XX: detect BCM6368 variants

The DSL-less BCM6368 variant BCM6367 uses a different chip id. Apart
from missing DSL, there is no difference to BCM6368, so treat it such.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>
---
 arch/mips/bcm63xx/cpu.c                          | 4 ++++
 arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h | 3 +++
 2 files changed, 7 insertions(+)

--- a/arch/mips/bcm63xx/cpu.c
+++ b/arch/mips/bcm63xx/cpu.c
@@ -393,8 +393,12 @@ void __init bcm63xx_cpu_init(void)
 
 		break;
 	case BCM6368_CPU_ID:
+	case BCM6369_CPU_ID:
 		bcm63xx_regs_base = bcm6368_regs_base;
 		bcm63xx_irqs = bcm6368_irqs;
+
+		/* BCM6369 is a BCM6368 without xDSL, so treat it the same */
+		bcm63xx_cpu_id = BCM6368_CPU_ID;
 		break;
 	default:
 		panic("unsupported broadcom CPU %x", bcm63xx_cpu_id);
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
@@ -20,6 +20,7 @@
 #define BCM6361_CPU_ID		0x6361
 #define BCM6362_CPU_ID		0x6362
 #define BCM6368_CPU_ID		0x6368
+#define BCM6369_CPU_ID		0x6369
 
 void __init bcm63xx_cpu_init(void);
 u32 bcm63xx_get_cpu_variant(void);
@@ -106,6 +107,8 @@ static inline u16 __pure bcm63xx_get_cpu
 	(bcm63xx_get_cpu_variant() == BCM6362_CPU_ID)
 #define BCMCPU_VARIANT_IS_6368() \
 	(bcm63xx_get_cpu_variant() == BCM6368_CPU_ID)
+#define BCMCPU_VARIANT_IS_6369() \
+	(bcm63xx_get_cpu_variant() == BCM6369_CPU_ID)
 
 /*
  * While registers sets are (mostly) the same across 63xx CPU, base