1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#include <linux/printk.h>
16#include <linux/types.h>
17#include <asm/platform.h>
18#include <asm/timex.h>
19
20#define _F(r,f,a,b) \
21 r __platform_##f a b; \
22 r platform_##f a __attribute__((weak, alias("__platform_"#f)))
23
24
25
26
27
28
29_F(void, init, (bp_tag_t *first), { });
30_F(void, setup, (char** cmd), { });
31_F(void, restart, (void), { while(1); });
32_F(void, halt, (void), { while(1); });
33_F(void, power_off, (void), { while(1); });
34_F(void, idle, (void), { __asm__ __volatile__ ("waiti 0" ::: "memory"); });
35_F(void, heartbeat, (void), { });
36
37#ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT
38_F(void, calibrate_ccount, (void),
39{
40 pr_err("ERROR: Cannot calibrate cpu frequency! Assuming 10MHz.\n");
41 ccount_freq = 10 * 1000000UL;
42});
43#endif
44