76164e1a36
Some SoCs have variants which are mostly the same, but use a different chip id (or not). Add code for detecting them and handling them as their standard counterparts. This adds support for e.g. BCM6369. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 39269
47 lines
1.5 KiB
Diff
47 lines
1.5 KiB
Diff
From dc48adb13a99086d1f484d3379a918626c5b1658 Mon Sep 17 00:00:00 2001
|
|
From: Jonas Gorski <jogo@openwrt.org>
|
|
Date: Sat, 7 Dec 2013 14:33:28 +0100
|
|
Subject: [PATCH 43/53] MIPS: BCM63XX: detect BCM6362 variants
|
|
|
|
---
|
|
arch/mips/bcm63xx/cpu.c | 8 ++++++++
|
|
arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h | 3 +++
|
|
2 files changed, 11 insertions(+)
|
|
|
|
--- a/arch/mips/bcm63xx/cpu.c
|
|
+++ b/arch/mips/bcm63xx/cpu.c
|
|
@@ -382,6 +382,14 @@ void __init bcm63xx_cpu_init(void)
|
|
case BCM6362_CPU_ID:
|
|
bcm63xx_regs_base = bcm6362_regs_base;
|
|
bcm63xx_irqs = bcm6362_irqs;
|
|
+
|
|
+ if (varid == 1)
|
|
+ bcm63xx_cpu_variant = BCM6362_CPU_ID;
|
|
+ else if (varid == 2)
|
|
+ bcm63xx_cpu_variant = BCM6361_CPU_ID;
|
|
+ else
|
|
+ pr_warn("unknown BCM6362 variant: %x\n", varid);
|
|
+
|
|
break;
|
|
case BCM6368_CPU_ID:
|
|
bcm63xx_regs_base = bcm6368_regs_base;
|
|
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
|
|
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
|
|
@@ -17,6 +17,7 @@
|
|
#define BCM6345_CPU_ID 0x6345
|
|
#define BCM6348_CPU_ID 0x6348
|
|
#define BCM6358_CPU_ID 0x6358
|
|
+#define BCM6361_CPU_ID 0x6361
|
|
#define BCM6362_CPU_ID 0x6362
|
|
#define BCM6368_CPU_ID 0x6368
|
|
|
|
@@ -99,6 +100,8 @@ static inline u16 __pure bcm63xx_get_cpu
|
|
(bcm63xx_get_cpu_variant() == BCM6348_CPU_ID)
|
|
#define BCMCPU_VARIANT_IS_6358() \
|
|
(bcm63xx_get_cpu_cariant() == BCM6358_CPU_ID)
|
|
+#define BCMCPU_VARIANT_IS_6361() \
|
|
+ (bcm63xx_get_cpu_variant() == BCM6361_CPU_ID)
|
|
#define BCMCPU_VARIANT_IS_6362() \
|
|
(bcm63xx_get_cpu_variant() == BCM6362_CPU_ID)
|
|
#define BCMCPU_VARIANT_IS_6368() \
|