99d69cdacecec11f025453b58bf08547bed9d9d1
[profile/mobile/platform/kernel/u-boot-tm1.git] / property / modem_entry.c
1 #include "normal_mode.h"\r
2 #include <asm/arch/sprd_reg.h>\r
3 #ifdef CONFIG_ARCH_SCX35L //only for sharkL branch modem boot process\r
4 #include <asm/arch/cp_boot.h>\r
5 #endif\r
6 \r
7 extern void boot_cp0(void);\r
8 extern void boot_cp1(void);\r
9 extern void boot_cp2(void);\r
10 \r
11 #ifdef CONFIG_ARCH_SCX35L //only for sharkL branch modem boot process\r
12 \r
13 void cp_adr_remap(u32 cp_kernel_exec_addr, u32 cp_zero_map_addr)\r
14 {\r
15     u32 data[3] = {0xe59f0000, 0xe12fff10,   cp_kernel_exec_addr};\r
16     memcpy( cp_zero_map_addr, data, sizeof(data));      /* copy cp0 source code */\r
17 }\r
18 \r
19 void modem_entry()\r
20 {\r
21 \r
22 #ifdef  CONFIG_PMIC_ARM7_BOOT   //arm7 boot\r
23      pmic_arm7_boot();\r
24 \r
25 #endif    \r
26 #ifdef  CONFIG_CP0_ARM0_BOOT   //cp0 arm0 boot\r
27     debugf(" REG_PMU_APB_CP_SOFT_RST=%x,REG_AON_APB_APB_RST1=0x%x\n",  REG_PMU_APB_CP_SOFT_RST,REG_AON_APB_APB_RST1);\r
28     cp_adr_remap(CP0_ARM0_EXEC_ADR, CP0_ZERO_MAP_ADR);\r
29      cp0_arm0_boot();\r
30 #endif\r
31 \r
32 #ifdef  CONFIG_CP1_BOOT    //cp1 boot\r
33     cp_adr_remap(CP1_EXEC_ADR, CP1_ZERO_MAP_ADR);\r
34     cp1_boot();\r
35 #endif //end of TDLTE_DSDA\r
36 }\r
37 #else //shark,9620,tshark branch\r
38 void modem_entry()\r
39 {\r
40 #if modem_cp0_enable\r
41                 boot_cp0();\r
42 #endif\r
43         \r
44 #if modem_cp1_enable\r
45                 boot_cp1();\r
46 #endif\r
47         \r
48 #if modem_cp2_enable\r
49                 boot_cp2();\r
50 #endif  \r
51 }\r
52 \r
53 #endif /* CONFIG_ARCH_SCX35L */\r
54 \r