xref: /linux/arch/arm/mach-s3c/cpu.c (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
171b9114dSArnd Bergmann // SPDX-License-Identifier: GPL-2.0
271b9114dSArnd Bergmann //
371b9114dSArnd Bergmann // Copyright (c) 2009-2011 Samsung Electronics Co., Ltd.
471b9114dSArnd Bergmann //		http://www.samsung.com
571b9114dSArnd Bergmann //
671b9114dSArnd Bergmann // Samsung CPU Support
771b9114dSArnd Bergmann 
871b9114dSArnd Bergmann #include <linux/module.h>
971b9114dSArnd Bergmann #include <linux/kernel.h>
1071b9114dSArnd Bergmann #include <linux/init.h>
1171b9114dSArnd Bergmann #include <linux/io.h>
1271b9114dSArnd Bergmann 
1391276c0fSArnd Bergmann #include "map-base.h"
14c6ff132dSArnd Bergmann #include "cpu.h"
1571b9114dSArnd Bergmann 
1671b9114dSArnd Bergmann unsigned long samsung_cpu_id;
1771b9114dSArnd Bergmann 
s3c64xx_init_cpu(void)1871b9114dSArnd Bergmann void __init s3c64xx_init_cpu(void)
1971b9114dSArnd Bergmann {
2071b9114dSArnd Bergmann 	samsung_cpu_id = readl_relaxed(S3C_VA_SYS + 0x118);
2171b9114dSArnd Bergmann 	if (!samsung_cpu_id) {
2271b9114dSArnd Bergmann 		/*
2371b9114dSArnd Bergmann 		 * S3C6400 has the ID register in a different place,
2471b9114dSArnd Bergmann 		 * and needs a write before it can be read.
2571b9114dSArnd Bergmann 		 */
2671b9114dSArnd Bergmann 		writel_relaxed(0x0, S3C_VA_SYS + 0xA1C);
2771b9114dSArnd Bergmann 		samsung_cpu_id = readl_relaxed(S3C_VA_SYS + 0xA1C);
2871b9114dSArnd Bergmann 	}
2971b9114dSArnd Bergmann 
3071b9114dSArnd Bergmann 	pr_info("Samsung CPU ID: 0x%08lx\n", samsung_cpu_id);
31*6a5e69c7SKrzysztof Kozlowski 	pr_err("The platform is deprecated and scheduled for removal. Please reach to the maintainers of the platform and linux-samsung-soc@vger.kernel.org if you still use it.  Without such feedback, the platform will be removed after 2022.\n");
3271b9114dSArnd Bergmann }
33