diff mbox

[U-Boot,RFC,v1,1/2] ARM: mvebu: Add SoC IDs for Marvell's integrated CPUs

Message ID 20170809082316.13248-1-judge.packham@gmail.com
State RFC
Delegated to: Stefan Roese
Headers show

Commit Message

Chris Packham Aug. 9, 2017, 8:23 a.m. UTC
These SoCs are network packet processors (switch chips) with integrated
ARMv7 cores. They share a great deal of commonality with the Armada-XP
CPUs.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
---
There are actually a number of IDs for these chips, probably a dozen in
total. I haven't enumerated them all in this patch, the 98DX4251,
98DX3336 and 98DX3236 are the base versions in their respective ranges.
These 3 IDs also happen to suit my immediate need but I can add the
additional ones in an follow up patch or a re-roll of this one.

 arch/arm/mach-mvebu/cpu.c              | 14 ++++++++++++++
 arch/arm/mach-mvebu/include/mach/cpu.h |  1 +
 arch/arm/mach-mvebu/include/mach/soc.h |  3 +++
 3 files changed, 18 insertions(+)

Comments

Simon Glass Aug. 13, 2017, 9:35 p.m. UTC | #1
On 9 August 2017 at 02:23, Chris Packham <judge.packham@gmail.com> wrote:
> These SoCs are network packet processors (switch chips) with integrated
> ARMv7 cores. They share a great deal of commonality with the Armada-XP
> CPUs.
>
> Signed-off-by: Chris Packham <judge.packham@gmail.com>
> ---
> There are actually a number of IDs for these chips, probably a dozen in
> total. I haven't enumerated them all in this patch, the 98DX4251,
> 98DX3336 and 98DX3236 are the base versions in their respective ranges.
> These 3 IDs also happen to suit my immediate need but I can add the
> additional ones in an follow up patch or a re-roll of this one.
>
>  arch/arm/mach-mvebu/cpu.c              | 14 ++++++++++++++
>  arch/arm/mach-mvebu/include/mach/cpu.h |  1 +
>  arch/arm/mach-mvebu/include/mach/soc.h |  3 +++
>  3 files changed, 18 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>
diff mbox

Patch

diff --git a/arch/arm/mach-mvebu/cpu.c b/arch/arm/mach-mvebu/cpu.c
index 14457317ce76..f7f83bfa3655 100644
--- a/arch/arm/mach-mvebu/cpu.c
+++ b/arch/arm/mach-mvebu/cpu.c
@@ -62,6 +62,11 @@  int mvebu_soc_family(void)
 	case SOC_88F6820_ID:
 	case SOC_88F6828_ID:
 		return MVEBU_SOC_A38X;
+
+	case SOC_98DX3236_ID:
+	case SOC_98DX3336_ID:
+	case SOC_98DX4251_ID:
+		return MVEBU_SOC_MSYS;
 	}
 
 	return MVEBU_SOC_UNKNOWN;
@@ -208,6 +213,15 @@  int print_cpuinfo(void)
 	case SOC_88F6828_ID:
 		puts("MV88F6828-");
 		break;
+	case SOC_98DX3236_ID:
+		puts("98DX3236-");
+		break;
+	case SOC_98DX3336_ID:
+		puts("98DX3336-");
+		break;
+	case SOC_98DX4251_ID:
+		puts("98DX4251-");
+		break;
 	default:
 		puts("Unknown-");
 		break;
diff --git a/arch/arm/mach-mvebu/include/mach/cpu.h b/arch/arm/mach-mvebu/include/mach/cpu.h
index d241eea9568d..b67b77ae0df4 100644
--- a/arch/arm/mach-mvebu/include/mach/cpu.h
+++ b/arch/arm/mach-mvebu/include/mach/cpu.h
@@ -65,6 +65,7 @@  enum {
 	MVEBU_SOC_AXP,
 	MVEBU_SOC_A375,
 	MVEBU_SOC_A38X,
+	MVEBU_SOC_MSYS,
 	MVEBU_SOC_UNKNOWN,
 };
 
diff --git a/arch/arm/mach-mvebu/include/mach/soc.h b/arch/arm/mach-mvebu/include/mach/soc.h
index 0900e4008c12..cdd64fb28527 100644
--- a/arch/arm/mach-mvebu/include/mach/soc.h
+++ b/arch/arm/mach-mvebu/include/mach/soc.h
@@ -18,6 +18,9 @@ 
 #define SOC_88F6810_ID		0x6810
 #define SOC_88F6820_ID		0x6820
 #define SOC_88F6828_ID		0x6828
+#define SOC_98DX3236_ID		0xf410
+#define SOC_98DX3336_ID		0xf400
+#define SOC_98DX4251_ID		0xfc00
 
 /* A375 revisions */
 #define MV_88F67XX_A0_ID	0x3