Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86c6f148 authored by Arun Kumar K's avatar Arun Kumar K Committed by Kukjin Kim
Browse files

ARM: EXYNOS: Add 5800 SoC support



Exynos5800 is an octa core SoC which is based on the 5420
platform. This patch adds the basic support for it in the
mach-exynos.

Signed-off-by: default avatarArun Kumar K <arun.kk@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent ed08f103
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -113,6 +113,11 @@ config SOC_EXYNOS5440
	help
	help
	  Enable EXYNOS5440 SoC support
	  Enable EXYNOS5440 SoC support


config SOC_EXYNOS5800
	bool "SAMSUNG EXYNOS5800"
	default y
	depends on SOC_EXYNOS5420

endmenu
endmenu


endif
endif
+10 −1
Original line number Original line Diff line number Diff line
@@ -23,6 +23,7 @@
#define EXYNOS5250_SOC_ID	0x43520000
#define EXYNOS5250_SOC_ID	0x43520000
#define EXYNOS5420_SOC_ID	0xE5420000
#define EXYNOS5420_SOC_ID	0xE5420000
#define EXYNOS5440_SOC_ID	0xE5440000
#define EXYNOS5440_SOC_ID	0xE5440000
#define EXYNOS5800_SOC_ID	0xE5422000
#define EXYNOS5_SOC_MASK	0xFFFFF000
#define EXYNOS5_SOC_MASK	0xFFFFF000


extern unsigned long samsung_cpu_id;
extern unsigned long samsung_cpu_id;
@@ -39,6 +40,7 @@ IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK)
IS_SAMSUNG_CPU(exynos5250, EXYNOS5250_SOC_ID, EXYNOS5_SOC_MASK)
IS_SAMSUNG_CPU(exynos5250, EXYNOS5250_SOC_ID, EXYNOS5_SOC_MASK)
IS_SAMSUNG_CPU(exynos5420, EXYNOS5420_SOC_ID, EXYNOS5_SOC_MASK)
IS_SAMSUNG_CPU(exynos5420, EXYNOS5420_SOC_ID, EXYNOS5_SOC_MASK)
IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK)
IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK)
IS_SAMSUNG_CPU(exynos5800, EXYNOS5800_SOC_ID, EXYNOS5_SOC_MASK)


#if defined(CONFIG_CPU_EXYNOS4210)
#if defined(CONFIG_CPU_EXYNOS4210)
# define soc_is_exynos4210()	is_samsung_exynos4210()
# define soc_is_exynos4210()	is_samsung_exynos4210()
@@ -80,9 +82,16 @@ IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK)
# define soc_is_exynos5440()	0
# define soc_is_exynos5440()	0
#endif
#endif


#if defined(CONFIG_SOC_EXYNOS5800)
# define soc_is_exynos5800()	is_samsung_exynos5800()
#else
# define soc_is_exynos5800()	0
#endif

#define soc_is_exynos4() (soc_is_exynos4210() || soc_is_exynos4212() || \
#define soc_is_exynos4() (soc_is_exynos4210() || soc_is_exynos4212() || \
			  soc_is_exynos4412())
			  soc_is_exynos4412())
#define soc_is_exynos5() (soc_is_exynos5250() || soc_is_exynos5420())
#define soc_is_exynos5() (soc_is_exynos5250() || soc_is_exynos5420() || \
			  soc_is_exynos5800())


void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1);
void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1);


+1 −1
Original line number Original line Diff line number Diff line
@@ -45,7 +45,7 @@ static inline void __iomem *cpu_boot_reg(int cpu)
	boot_reg = cpu_boot_reg_base();
	boot_reg = cpu_boot_reg_base();
	if (soc_is_exynos4412())
	if (soc_is_exynos4412())
		boot_reg += 4*cpu;
		boot_reg += 4*cpu;
	else if (soc_is_exynos5420())
	else if (soc_is_exynos5420() || soc_is_exynos5800())
		boot_reg += 4;
		boot_reg += 4;
	return boot_reg;
	return boot_reg;
}
}