This source file includes following definitions.
- omap2xxx_restart
- omap2xxx_common_look_up_clks_for_reset
1
2
3
4
5
6
7
8 #include <linux/kernel.h>
9 #include <linux/init.h>
10 #include <linux/clk.h>
11 #include <linux/io.h>
12
13 #include "soc.h"
14 #include "common.h"
15 #include "prm.h"
16
17
18
19
20
21 static struct clk *reset_virt_prcm_set_ck, *reset_sys_ck;
22
23
24
25
26
27
28
29
30
31 void omap2xxx_restart(enum reboot_mode mode, const char *cmd)
32 {
33 u32 rate;
34
35 rate = clk_get_rate(reset_sys_ck);
36 clk_set_rate(reset_virt_prcm_set_ck, rate);
37
38
39
40 omap_prm_reset_system();
41 }
42
43
44
45
46
47
48
49
50 static int __init omap2xxx_common_look_up_clks_for_reset(void)
51 {
52 reset_virt_prcm_set_ck = clk_get(NULL, "virt_prcm_set");
53 if (IS_ERR(reset_virt_prcm_set_ck))
54 return -EINVAL;
55
56 reset_sys_ck = clk_get(NULL, "sys_ck");
57 if (IS_ERR(reset_sys_ck))
58 return -EINVAL;
59
60 return 0;
61 }
62 omap_postcore_initcall(omap2xxx_common_look_up_clks_for_reset);