xref: /linux/arch/xtensa/kernel/platform.c (revision e3966940559d52aa1800a008dcfeec218dd31f88)
1 /*
2  * arch/xtensa/kernel/platform.c
3  *
4  * Default platform functions.
5  *
6  * This file is subject to the terms and conditions of the GNU General Public
7  * License.  See the file "COPYING" in the main directory of this archive
8  * for more details.
9  *
10  * Copyright (C) 2005 Tensilica Inc.
11  *
12  * Chris Zankel <chris@zankel.net>
13  */
14 
15 #include <linux/printk.h>
16 #include <linux/types.h>
17 #include <linux/units.h>
18 #include <asm/platform.h>
19 #include <asm/timex.h>
20 
21 /*
22  * Default functions that are used if no platform specific function is defined.
23  * (Please, refer to arch/xtensa/include/asm/platform.h for more information)
24  */
25 
26 void __weak __init platform_init(bp_tag_t *first)
27 {
28 }
29 
30 void __weak __init platform_setup(char **cmd)
31 {
32 }
33 
34 void __weak platform_idle(void)
35 {
36 	__asm__ __volatile__ ("waiti 0" ::: "memory");
37 }
38 
39 #ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT
40 void __weak platform_calibrate_ccount(void)
41 {
42 	pr_err("ERROR: Cannot calibrate cpu frequency! Assuming 10 MHz.\n");
43 	ccount_freq = 10 * HZ_PER_MHZ;
44 }
45 #endif
46