diff options
author | Phil Sutter <phil@nwl.cc> | 2015-12-25 14:41:24 +0100 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2016-01-14 14:08:59 +0100 |
commit | 6202953df4feca4bb564141a7efbc8c697531203 (patch) | |
tree | ac88c8cf26f141882ac63f4cfedf7c7c4601fa23 /arch | |
parent | 4444d230acdf45f2c2d78becec40db2d158757e8 (diff) | |
download | u-boot-imx-6202953df4feca4bb564141a7efbc8c697531203.zip u-boot-imx-6202953df4feca4bb564141a7efbc8c697531203.tar.gz u-boot-imx-6202953df4feca4bb564141a7efbc8c697531203.tar.bz2 |
mvebu: Add rudimental MV78230 support
This adds basic support for Marvell's MV78230 SoC which belongs to the
Armada XP series.
Signed-off-by: Phil Sutter <phil@nwl.cc>
Acked-by: Stefan Roese <sr@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-mvebu/cpu.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-mvebu/include/mach/soc.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-mvebu/serdes/axp/high_speed_env_lib.c | 6 |
3 files changed, 17 insertions, 6 deletions
diff --git a/arch/arm/mach-mvebu/cpu.c b/arch/arm/mach-mvebu/cpu.c index 84499ea..30b175c 100644 --- a/arch/arm/mach-mvebu/cpu.c +++ b/arch/arm/mach-mvebu/cpu.c @@ -49,13 +49,16 @@ int mvebu_soc_family(void) { u16 devid = (readl(MVEBU_REG_PCIE_DEVID) >> 16) & 0xffff; - if ((devid == SOC_MV78260_ID) || (devid == SOC_MV78460_ID)) + switch (devid) { + case SOC_MV78230_ID: + case SOC_MV78260_ID: + case SOC_MV78460_ID: return MVEBU_SOC_AXP; - - if (devid == SOC_88F6810_ID || devid == SOC_88F6820_ID || - devid == SOC_88F6828_ID) + case SOC_88F6810_ID: + case SOC_88F6820_ID: + case SOC_88F6828_ID: return MVEBU_SOC_A38X; - + } return MVEBU_SOC_UNKNOWN; } @@ -140,6 +143,9 @@ int print_cpuinfo(void) puts("SoC: "); switch (devid) { + case SOC_MV78230_ID: + puts("MV78230-"); + break; case SOC_MV78260_ID: puts("MV78260-"); break; diff --git a/arch/arm/mach-mvebu/include/mach/soc.h b/arch/arm/mach-mvebu/include/mach/soc.h index 9f6a2a4..cb216bc 100644 --- a/arch/arm/mach-mvebu/include/mach/soc.h +++ b/arch/arm/mach-mvebu/include/mach/soc.h @@ -11,6 +11,7 @@ #ifndef _MVEBU_SOC_H #define _MVEBU_SOC_H +#define SOC_MV78230_ID 0x7823 #define SOC_MV78260_ID 0x7826 #define SOC_MV78460_ID 0x7846 #define SOC_88F6810_ID 0x6810 diff --git a/arch/arm/mach-mvebu/serdes/axp/high_speed_env_lib.c b/arch/arm/mach-mvebu/serdes/axp/high_speed_env_lib.c index 633b899..afc0cef 100644 --- a/arch/arm/mach-mvebu/serdes/axp/high_speed_env_lib.c +++ b/arch/arm/mach-mvebu/serdes/axp/high_speed_env_lib.c @@ -199,7 +199,9 @@ u16 ctrl_model_get(void) * SoC version can't be autodetected. So we need to rely on a define * from the config system here. */ -#ifdef CONFIG_MV78260 +#if defined(CONFIG_MV78230) + return MV_78230_DEV_ID; +#elif defined(CONFIG_MV78260) return MV_78260_DEV_ID; #else return MV_78460_DEV_ID; @@ -217,6 +219,8 @@ u32 get_line_cfg(u32 line_num, MV_BIN_SERDES_CFG *info) static int serdes_max_lines_get(void) { switch (ctrl_model_get()) { + case MV_78230_DEV_ID: + return 7; case MV_78260_DEV_ID: return 12; case MV_78460_DEV_ID: |