1 #include <normal_mode.h>
3 #define msleep(cnt) udelay(cnt*1000)
8 u32 m_data[3] = {0xe59f0000, 0xe12fff10, MODEM_ADR};
9 memcpy(CP0_CODE_COPY_ADR, m_data, sizeof(m_data)); /* copy cp0 source code */
11 *((volatile u32*)COOPERATE_PMU_CTRL0_ADDR) &= ~BIT_25; /* open cp0 pmu controller*/
13 *((volatile u32*)COOPERATE_PMU_CTRL0_ADDR) &= ~BIT_28;
16 *((volatile u32*)COOPERATE_PROCESSOR_RESET_ADDR)|= CORE_CP0; /* reset cp0 */
17 *((volatile u32*)COOPERATE_PROCESSOR_RESET_ADDR) &= ~CORE_CP0; /* clear cp0 force shutdown */
21 state = *((volatile u32*)COOPERATE_PROCESSOR_RESET_ADDR);
23 if(!(state & CORE_CP0))
34 u32 wcndata[3] = {0xe59f0000, 0xe12fff10, WCNMODEM_ADR};
35 memcpy(CP2_CODE_COPY_ADR, wcndata, sizeof(wcndata)); /* copy cp2 source code */
37 *((volatile u32*)COOPERATE_PMU_CTRL2_ADDR) &= ~BIT_25; /* open cp2 pmu controller*/
39 *((volatile u32*)COOPERATE_PMU_CTRL2_ADDR) &= ~BIT_28;
42 *((volatile u32*)COOPERATE_PROCESSOR_RESET_ADDR)|= CORE_CP2; /* reset cp2 */
43 *((volatile u32*)COOPERATE_PROCESSOR_RESET_ADDR) &= ~CORE_CP2; /* clear cp2 force shutdown */
46 state = *((volatile u32*)COOPERATE_PROCESSOR_RESET_ADDR);
48 if(!(state & CORE_CP2))