Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
7b46d0d8
Commit
7b46d0d8
authored
Feb 01, 2016
by
danh-arm
Browse files
Merge pull request #497 from mtk09422/spm-v3
update SPM/DCM/MTCMOS related code for power control logic
parents
870d881c
bb99828d
Changes
14
Expand all
Hide whitespace changes
Inline
Side-by-side
plat/mediatek/common/mtk_sip_svc.c
View file @
7b46d0d8
...
...
@@ -55,6 +55,18 @@ static uint64_t mediatek_sip_handler(uint32_t smc_fid,
ret
=
mt_sip_set_authorized_sreg
((
uint32_t
)
x1
,
(
uint32_t
)
x2
);
SMC_RET1
(
handle
,
ret
);
case
MTK_SIP_PWR_ON_MTCMOS
:
ret
=
mt_sip_pwr_on_mtcmos
((
uint32_t
)
x1
);
SMC_RET1
(
handle
,
ret
);
case
MTK_SIP_PWR_OFF_MTCMOS
:
ret
=
mt_sip_pwr_off_mtcmos
((
uint32_t
)
x1
);
SMC_RET1
(
handle
,
ret
);
case
MTK_SIP_PWR_MTCMOS_SUPPORT
:
ret
=
mt_sip_pwr_mtcmos_support
();
SMC_RET1
(
handle
,
ret
);
default:
ERROR
(
"%s: unhandled SMC (0x%x)
\n
"
,
__func__
,
smc_fid
);
break
;
...
...
plat/mediatek/common/mtk_sip_svc.h
View file @
7b46d0d8
...
...
@@ -43,10 +43,13 @@
#define MTK_SIP_SVC_VERSION_MINOR 0x1
/* Number of Mediatek SiP Calls implemented */
#define MTK_SIP_NUM_CALLS
1
#define MTK_SIP_NUM_CALLS
4
/* Mediatek SiP Service Calls function IDs */
#define MTK_SIP_SET_AUTHORIZED_SECURE_REG 0x82000001
#define MTK_SIP_PWR_ON_MTCMOS 0x82000402
#define MTK_SIP_PWR_OFF_MTCMOS 0x82000403
#define MTK_SIP_PWR_MTCMOS_SUPPORT 0x82000404
/* Mediatek SiP Calls error code */
enum
{
...
...
@@ -62,5 +65,7 @@ enum {
* Return MTK_SIP_E_SUCCESS on success, and MTK_SIP_E_INVALID_PARAM on failure.
*/
uint64_t
mt_sip_set_authorized_sreg
(
uint32_t
sreg
,
uint32_t
val
);
uint64_t
mt_sip_pwr_on_mtcmos
(
uint32_t
val
);
uint64_t
mt_sip_pwr_off_mtcmos
(
uint32_t
val
);
uint64_t
mt_sip_pwr_mtcmos_support
(
void
);
#endif
/* __PLAT_SIP_SVC_H__ */
plat/mediatek/mt8173/bl31_plat_setup.c
View file @
7b46d0d8
...
...
@@ -96,6 +96,16 @@ static void platform_setup_cpu(void)
/* set LITTLE cores arm64 boot mode */
mmio_setbits_32
((
uintptr_t
)
&
mt8173_mcucfg
->
mp0_rv_addr
[
0
].
rv_addr_hw
,
MP0_CPUCFG_64BIT
);
/* enable dcm control */
mmio_setbits_32
((
uintptr_t
)
&
mt8173_mcucfg
->
bus_fabric_dcm_ctrl
,
ADB400_GRP_DCM_EN
|
CCI400_GRP_DCM_EN
|
ADBCLK_GRP_DCM_EN
|
EMICLK_GRP_DCM_EN
|
ACLK_GRP_DCM_EN
|
L2C_IDLE_DCM_EN
|
INFRACLK_PSYS_DYNAMIC_CG_EN
);
mmio_setbits_32
((
uintptr_t
)
&
mt8173_mcucfg
->
l2c_sram_ctrl
,
L2C_SRAM_DCM_EN
);
mmio_setbits_32
((
uintptr_t
)
&
mt8173_mcucfg
->
cci_clk_ctrl
,
MCU_BUS_DCM_EN
);
}
/*******************************************************************************
...
...
plat/mediatek/mt8173/drivers/mtcmos/mtcmos.c
View file @
7b46d0d8
...
...
@@ -29,8 +29,11 @@
*/
#include <mmio.h>
#include <mt8173_def.h>
#include <debug.h>
#include <mtcmos.h>
#include <spm.h>
#include <spm_mcdi.h>
#include <delay_timer.h>
enum
{
SRAM_ISOINT_B
=
1U
<<
6
,
...
...
@@ -64,6 +67,63 @@ enum {
AUD_PWR_STA_MASK
=
0x1
<<
24
,
};
#define SPM_VDE_PWR_CON 0x0210
#define SPM_MFG_PWR_CON 0x0214
#define SPM_VEN_PWR_CON 0x0230
#define SPM_ISP_PWR_CON 0x0238
#define SPM_DIS_PWR_CON 0x023c
#define SPM_VEN2_PWR_CON 0x0298
#define SPM_AUDIO_PWR_CON 0x029c
#define SPM_MFG_2D_PWR_CON 0x02c0
#define SPM_MFG_ASYNC_PWR_CON 0x02c4
#define SPM_USB_PWR_CON 0x02cc
#define MTCMOS_CTRL_SUCCESS 0
#define MTCMOS_CTRL_ERROR -1
#define MTCMOS_CTRL_EN (0x1 << 18)
#define VDE_PWR_ON 0
#define VEN_PWR_ON 1
#define ISP_PWR_ON 2
#define DIS_PWR_ON 3
#define VEN2_PWR_ON 4
#define AUDIO_PWR_ON 5
#define MFG_ASYNC_PWR_ON 6
#define MFG_2D_PWR_ON 7
#define MFG_PWR_ON 8
#define USB_PWR_ON 9
#define VDE_PWR_OFF 10
#define VEN_PWR_OFF 11
#define ISP_PWR_OFF 12
#define DIS_PWR_OFF 13
#define VEN2_PWR_OFF 14
#define AUDIO_PWR_OFF 15
#define MFG_ASYNC_PWR_OFF 16
#define MFG_2D_PWR_OFF 17
#define MFG_PWR_OFF 18
#define USB_PWR_OFF 19
#define VDE_PWR_CON_PWR_STA 7
#define VEN_PWR_CON_PWR_STA 21
#define ISP_PWR_CON_PWR_STA 5
#define DIS_PWR_CON_PWR_STA 3
#define VEN2_PWR_CON_PWR_STA 20
#define AUDIO_PWR_CON_PWR_STA 24
#define MFG_ASYNC_PWR_CON_PWR_STA 23
#define MFG_2D_PWR_CON_PWR_STA 22
#define MFG_PWR_CON_PWR_STA 4
#define USB_PWR_CON_PWR_STA 25
/*
* Timeout if the ack is not signled after 1 second.
* According to designer, one mtcmos operation should be done
* around 10us.
*/
#define MTCMOS_ACK_POLLING_MAX_COUNT 10000
#define MTCMOS_ACK_POLLING_INTERVAL 10
static
void
mtcmos_ctrl_little_off
(
unsigned
int
linear_id
)
{
uint32_t
reg_pwr_con
;
...
...
@@ -120,3 +180,117 @@ void mtcmos_little_cpu_off(void)
mtcmos_ctrl_little_off
(
2
);
mtcmos_ctrl_little_off
(
3
);
}
uint32_t
wait_mtcmos_ack
(
uint32_t
on
,
uint32_t
mtcmos_sta
,
uint32_t
spm_pwr_sta
)
{
int
i
=
0
;
uint32_t
cmp
,
pwr_sta
,
pwr_sta_2nd
;
while
(
1
)
{
cmp
=
(
mmio_read_32
(
SPM_PCM_PASR_DPD_3
)
>>
mtcmos_sta
)
&
1
;
pwr_sta
=
(
mmio_read_32
(
SPM_PWR_STATUS
)
>>
spm_pwr_sta
)
&
1
;
pwr_sta_2nd
=
(
mmio_read_32
(
SPM_PWR_STATUS_2ND
)
>>
spm_pwr_sta
)
&
1
;
if
((
cmp
==
on
)
&&
(
pwr_sta
==
on
)
&&
(
pwr_sta_2nd
==
on
))
{
mmio_write_32
(
SPM_PCM_RESERVE2
,
0
);
return
MTCMOS_CTRL_SUCCESS
;
}
udelay
(
MTCMOS_ACK_POLLING_INTERVAL
);
i
++
;
if
(
i
>
MTCMOS_ACK_POLLING_MAX_COUNT
)
{
INFO
(
"MTCMOS control failed(%d), SPM_PWR_STA(%d),
\n
"
"SPM_PCM_RESERVE=0x%x,SPM_PCM_RESERVE2=0x%x,
\n
"
"SPM_PWR_STATUS=0x%x,SPM_PWR_STATUS_2ND=0x%x
\n
"
"SPM_PCM_PASR_DPD_3 = 0x%x
\n
"
,
on
,
spm_pwr_sta
,
mmio_read_32
(
SPM_PCM_RESERVE
),
mmio_read_32
(
SPM_PCM_RESERVE2
),
mmio_read_32
(
SPM_PWR_STATUS
),
mmio_read_32
(
SPM_PWR_STATUS_2ND
),
mmio_read_32
(
SPM_PCM_PASR_DPD_3
));
mmio_write_32
(
SPM_PCM_RESERVE2
,
0
);
return
MTCMOS_CTRL_ERROR
;
}
}
}
uint32_t
mtcmos_non_cpu_ctrl
(
uint32_t
on
,
uint32_t
mtcmos_num
)
{
uint32_t
ret
=
MTCMOS_CTRL_SUCCESS
;
uint32_t
power_on
;
uint32_t
power_off
;
uint32_t
power_status
;
spm_lock_get
();
spm_mcdi_prepare_for_mtcmos
();
mmio_setbits_32
(
SPM_PCM_RESERVE
,
MTCMOS_CTRL_EN
);
switch
(
mtcmos_num
)
{
case
SPM_VDE_PWR_CON
:
power_on
=
VDE_PWR_ON
;
power_off
=
VDE_PWR_OFF
;
power_status
=
VDE_PWR_CON_PWR_STA
;
break
;
case
SPM_MFG_PWR_CON
:
power_on
=
MFG_PWR_ON
;
power_off
=
MFG_PWR_OFF
;
power_status
=
MFG_PWR_CON_PWR_STA
;
break
;
case
SPM_VEN_PWR_CON
:
power_on
=
VEN_PWR_ON
;
power_off
=
VEN_PWR_OFF
;
power_status
=
VEN_PWR_CON_PWR_STA
;
break
;
case
SPM_ISP_PWR_CON
:
power_on
=
ISP_PWR_ON
;
power_off
=
ISP_PWR_OFF
;
power_status
=
ISP_PWR_CON_PWR_STA
;
break
;
case
SPM_DIS_PWR_CON
:
power_on
=
DIS_PWR_ON
;
power_off
=
DIS_PWR_OFF
;
power_status
=
DIS_PWR_CON_PWR_STA
;
break
;
case
SPM_VEN2_PWR_CON
:
power_on
=
VEN2_PWR_ON
;
power_off
=
VEN2_PWR_OFF
;
power_status
=
VEN2_PWR_CON_PWR_STA
;
break
;
case
SPM_AUDIO_PWR_CON
:
power_on
=
AUDIO_PWR_ON
;
power_off
=
AUDIO_PWR_OFF
;
power_status
=
AUDIO_PWR_CON_PWR_STA
;
break
;
case
SPM_MFG_2D_PWR_CON
:
power_on
=
MFG_2D_PWR_ON
;
power_off
=
MFG_2D_PWR_OFF
;
power_status
=
MFG_2D_PWR_CON_PWR_STA
;
break
;
case
SPM_MFG_ASYNC_PWR_CON
:
power_on
=
MFG_ASYNC_PWR_ON
;
power_off
=
MFG_ASYNC_PWR_OFF
;
power_status
=
MFG_ASYNC_PWR_CON_PWR_STA
;
break
;
case
SPM_USB_PWR_CON
:
power_on
=
USB_PWR_ON
;
power_off
=
USB_PWR_OFF
;
power_status
=
USB_PWR_CON_PWR_STA
;
break
;
default:
ret
=
MTCMOS_CTRL_ERROR
;
INFO
(
"No mapping MTCMOS(%d), ret = %d
\n
"
,
mtcmos_num
,
ret
);
break
;
}
if
(
ret
==
MTCMOS_CTRL_SUCCESS
)
{
mmio_setbits_32
(
SPM_PCM_RESERVE2
,
on
?
(
1
<<
power_on
)
:
(
1
<<
power_off
));
ret
=
wait_mtcmos_ack
(
on
,
power_on
,
power_status
);
VERBOSE
(
"0x%x(%d), PWR_STATUS(0x%x), ret(%d)
\n
"
,
power_on
,
on
,
mmio_read_32
(
SPM_PWR_STATUS
),
ret
);
}
mmio_clrbits_32
(
SPM_PCM_RESERVE
,
MTCMOS_CTRL_EN
);
spm_lock_release
();
return
ret
;
}
plat/mediatek/mt8173/drivers/mtcmos/mtcmos.h
View file @
7b46d0d8
...
...
@@ -37,5 +37,6 @@
* during CPU_ON psci call.
*/
void
mtcmos_little_cpu_off
(
void
);
uint32_t
mtcmos_non_cpu_ctrl
(
uint32_t
on
,
uint32_t
mtcmos_num
);
#endif
/* __MTCMOS_H__ */
plat/mediatek/mt8173/drivers/spm/spm.c
View file @
7b46d0d8
...
...
@@ -386,6 +386,8 @@ void spm_boot_init(void)
{
/* Only CPU0 is online during boot, initialize cpu online reserve bit */
mmio_write_32
(
SPM_PCM_RESERVE
,
0xFE
);
mmio_clrbits_32
(
AP_PLL_CON3
,
0xFFFFF
);
mmio_clrbits_32
(
AP_PLL_CON4
,
0xF
);
spm_lock_init
();
spm_register_init
();
}
plat/mediatek/mt8173/drivers/spm/spm.h
View file @
7b46d0d8
...
...
@@ -129,6 +129,9 @@
#define SPM_SLEEP_CA15_WFI2_EN (SPM_BASE + 0xf18)
#define SPM_SLEEP_CA15_WFI3_EN (SPM_BASE + 0xf1c)
#define AP_PLL_CON3 0x1020900c
#define AP_PLL_CON4 0x10209010
#define SPM_PROJECT_CODE 0xb16
#define SPM_REGWR_EN (1U << 0)
...
...
@@ -213,6 +216,7 @@
#define WAKE_SRC_USB_PDN (1 << 15)
#define WAKE_SRC_AFE (1 << 20)
#define WAKE_SRC_THERM (1 << 21)
#define WAKE_SRC_CIRQ (1 << 22)
#define WAKE_SRC_SYSPWREQ (1 << 24)
#define WAKE_SRC_SEJ (1 << 27)
#define WAKE_SRC_ALL_MD32 (1 << 28)
...
...
plat/mediatek/mt8173/drivers/spm/spm_hotplug.c
View file @
7b46d0d8
...
...
@@ -40,7 +40,7 @@
* This driver controls the cpu power in cpu hotplug flow.
*/
#define PCM_HOTPLUG_VALID_MASK 0x00ff00
00
#define PCM_HOTPLUG_VALID_MASK 0x00
00
ff00
#define PCM_HOTPLUG_VALID_SHIFT 0x8
/**********************************************************
...
...
plat/mediatek/mt8173/drivers/spm/spm_mcdi.c
View file @
7b46d0d8
This diff is collapsed.
Click to expand it.
plat/mediatek/mt8173/drivers/spm/spm_mcdi.h
View file @
7b46d0d8
...
...
@@ -31,9 +31,8 @@
#define __SPM_MCDI_H__
void
spm_mcdi_wakeup_all_cores
(
void
);
void
spm_mcdi_wfi_sel_enter
(
unsigned
long
mpidr
);
void
spm_mcdi_wfi_sel_leave
(
unsigned
long
mpidr
);
void
spm_mcdi_prepare
(
unsigned
long
mpidr
);
void
spm_mcdi_finish
(
unsigned
long
mpidr
);
void
spm_mcdi_prepare_for_mtcmos
(
void
);
void
spm_mcdi_prepare_for_off_state
(
unsigned
long
mpidr
,
unsigned
int
afflvl
);
void
spm_mcdi_finish_for_on_state
(
unsigned
long
mpidr
,
unsigned
int
afflvl
);
#endif
/* __SPM_MCDI_H__ */
plat/mediatek/mt8173/drivers/spm/spm_suspend.c
View file @
7b46d0d8
...
...
@@ -61,81 +61,81 @@ enum wake_reason_t spm_wake_reason = WR_NONE;
**********************************************************/
static
const
unsigned
int
suspend_binary_ca7
[]
=
{
0x81f58407
,
0x81f68407
,
0x803a0400
,
0x803a8400
,
0x1b80001f
,
0x20000000
,
0x80300400
,
0x80318400
,
0x80328400
,
0xa1d28407
,
0x81f20407
,
0x81
4
09801
,
0xd800024
5
,
0x17c07c1f
,
0x18c0001f
,
0x10006234
,
0xc0c03
1a
0
,
0x1200041f
,
0x80300400
,
0x80318400
,
0x80328400
,
0xa1d28407
,
0x81f20407
,
0x81
0
09801
,
0xd800024
4
,
0x17c07c1f
,
0x18c0001f
,
0x10006234
,
0xc0c03
2e
0
,
0x1200041f
,
0x80310400
,
0x1b80001f
,
0x2000000a
,
0xa0110400
,
0x18c0001f
,
0x100062c8
,
0xe0e00010
,
0xe0e00030
,
0xe0e00070
,
0xe0e000f0
,
0x1b80001f
,
0x2000001a
,
0xe0e00ff0
,
0xe8208000
,
0x10006354
,
0xfffe7fff
,
0xe8208000
,
0x10006834
,
0x00000010
,
0x81f00407
,
0xa1dd0407
,
0x81fd0407
,
0xc2803
7
80
,
0x1290041f
,
0x8880000c
,
0x2f7be75f
,
0xd8200
64
2
,
0x17c07c1f
,
0x
1b00001f
,
0x7fffe7f
f
,
0x
d0000680
,
0x17c07c1f
,
0x
1b
0000
1f
,
0x7ffff7ff
,
0xf0000000
,
0x17c07c
1f
,
0x
80880001
,
0xd
8
00076
2
,
0x17c07c1f
,
0x
d
000
27a0
,
0x1200041f
,
0xe8208
000
,
0x1
0006834
,
0x00000000
,
0x
1b
000
01f
,
0x
3fffe7ff
,
0x1b80001f
,
0x20000004
,
0xd820092c
,
0x17c07c1f
,
0xe8208000
,
0x10006834
,
0x000000
1
0
,
0x
d
0001
1a0
,
0x
17c07c1f
,
0x18c0001f
,
0x10006608
,
0x191
000
1f
,
0x10006
608
,
0x
813b0404
,
0x
e0c00004
,
0x188000
1f
,
0x1000
6320
,
0xc0c03680
,
0xe080
000f
,
0x
d8200b23
,
0x
17c07c1f
,
0x
1b
0000
1f
,
0x
7ffff7f
f
,
0x
d
000
11a
0
,
0x
17c07c1f
,
0xe08000
1
f
,
0x
e
820
8000
,
0x1000
6354
,
0xffff
ff
ff
,
0x
18c
0001
f
,
0x100062c8
,
0xe0e000f0
,
0xe0
e
000
30
,
0xe
0e00
000
,
0x
81409801
,
0xd8000fe5
,
0x1
7
c0
7c
1f
,
0x1
8c
000
1f
,
0x
10004094
,
0x1910001f
,
0x1020e374
,
0xe0
c
0000
4
,
0x
18c00
01
f
,
0x
10004098
,
0x1
91
0001f
,
0x10
20e378
,
0xe0c0000
4
,
0x1
8c
0001f
,
0x10
01109
4
,
0x1
91
0001f
,
0x10
213
37
4
,
0xe0c00004
,
0x18c0001f
,
0x1001109
8
,
0x1910001f
,
0x10213378
,
0xe0c00004
,
0x1910001f
,
0x1021337
8
,
0x18c0001f
,
0x100
06234
,
0xc0c03360
,
0x1
7c07c1f
,
0xc2803780
,
0x1290841f
,
0xa1d20407
,
0x81f28407
,
0xa1d68407
,
0x
a0128400
,
0xa0118400
,
0xa0100400
,
0xa01a8400
,
0xa
01a
040
0
,
0x
19c0001f
,
0x
001c239f
,
0x1b00001f
,
0x3fffefff
,
0xf0000000
,
0x17c07c1f
,
0x808d8
00
1
,
0x
d8201422
,
0x17c07c1f
,
0x803d8400
,
0x1b
8
0001f
,
0x
2000001a
,
0x80340400
,
0x
17c07c1f
,
0x17c07c1f
,
0x803
10
400
,
0x
81fa0407
,
0x81f18407
,
0x81f08407
,
0x
a1dc
040
7
,
0x1
b8000
1f
,
0x
200000b6
,
0xd00020e0
,
0x17c07c1f
,
0x1880001f
,
0x
20000208
,
0x81411801
,
0xd8001605
,
0x17c07c
1f
,
0x
e8
20
8
000
,
0x
1
000
f600
,
0x
d2000
000
,
0x
1380081f
,
0x18c00
01
f
,
0x
10006240
,
0xe0e00016
,
0xe
0e
000
1e
,
0x
e0e00
00
e
,
0x
e0e
0000
f
,
0x
80368400
,
0x1
3
800
8
1f
,
0x
80370400
,
0x1380081f
,
0x
80360400
,
0x
803
e0
4
00
,
0x
1380081
f
,
0x8038
0
400
,
0x
803b0400
,
0xa01d8
400
,
0x1
b
800
0
1f
,
0x
20000034
,
0x803
d8
400
,
0x1
b80
001f
,
0x
20000152
,
0x803
d
0400
,
0x
1380081f
,
0x18
c
0001f
,
0x
1
000
f5c8
,
0x1910001f
,
0x1000f
5c8
,
0x
a1
000
404
,
0x
e0c00004
,
0x18c0001f
,
0x100
12
5c8
,
0x1910001f
,
0x100
12
5c8
,
0xa1000404
,
0xe0c00004
,
0x1
91
0001f
,
0x100125c8
,
0x
80340400
,
0x17c07c1f
,
0x17c07c1f
,
0x
8031
040
0
,
0xe
8208
000
,
0x1000
0044
,
0x00000100
,
0x1b80001f
,
0x20000068
,
0x1
b8000
1f
,
0x
20000
00
a
,
0x
18c0001f
,
0x1000
6240
,
0x
e0e
0000
d
,
0x
d
800
1e65
,
0x
17c07c1f
,
0x18
c
0001f
,
0x
1
000
40f4
,
0x1
91
0001f
,
0x1000
40f4
,
0xa11c8404
,
0x
e0c00004
,
0x1b80
001f
,
0x
2000000a
,
0x813c8404
,
0xe0c0000
4
,
0x1
8c
0001f
,
0x100
110f4
,
0x1910001f
,
0x10011
0f4
,
0xa11c8404
,
0xe0c00004
,
0x1b80001f
,
0x
2
0000
00a
,
0x
813c8404
,
0xe0c0000
4
,
0x1
b8
0001f
,
0x
20000100
,
0x81fa0407
,
0x
81f18407
,
0x81f08407
,
0x
e8
20
8
000
,
0x
10006354
,
0xfffe7b47
,
0x18
c
0001f
,
0x
65930003
,
0xc0c03080
,
0x17c07c1f
,
0xa1d80
407
,
0x
a1dc0
407
,
0x
18c0001f
,
0x
10006608
,
0x1
91
0001f
,
0x
10006608
,
0xa11b0404
,
0xe0c00004
,
0xc2803
7
80
,
0x129
1
041f
,
0x
8880000c
,
0x2f7be75f
,
0xd8202222
,
0x1
7
c0
7c
1f
,
0x1
b
00001f
,
0x
3fffe7ff
,
0xd00022
60
,
0x
17c07c1f
,
0x
1b
0000
1f
,
0x
bfffe7ff
,
0xf000
0000
,
0x
17c07c1f
,
0x189000
1f
,
0x1000
6608
,
0x808b0801
,
0xd8202502
,
0x17c07c1f
,
0x1
88000
1f
,
0x1000
6320
,
0xc0c03400
,
0x
e08
0000
f
,
0xd8002663
,
0x17c07c1f
,
0x
e080001f
,
0xa1da0407
,
0x81fc0407
,
0xa0110400
,
0xa0140400
,
0xa01d840
0
,
0x
d0002fc0
,
0x17c07c1f
,
0x1b8
000
1
f
,
0x
20000fd
f
,
0x
189
0001f
,
0x
10006608
,
0x8
0c98801
,
0x810a8801
,
0x10918c1f
,
0xa0
939
00
2
,
0x
8080080d
,
0xd82027a2
,
0x1
2007c
1f
,
0x
1b
0000
1f
,
0x3fffe7
ff
,
0x1
b
80001f
,
0x
2
000
0004
,
0xd800304c
,
0x1
7c07
c1f
,
0x
1b00001f
,
0xbfffe7ff
,
0xd0003040
,
0x1
7c
07c1f
,
0x
81f80407
,
0x
81fc0407
,
0x18
c
0001f
,
0x
65930006
,
0xc0c03080
,
0x17c07c1f
,
0x1
8c
0001f
,
0x
65930007
,
0x
c0c
03
0
80
,
0x17c07c1f
,
0x
1880001f
,
0x10006320
,
0xc0c03400
,
0x
e080000f
,
0xd8002663
,
0x17c07c1f
,
0xe080001f
,
0x18c0001f
,
0x6593000
5
,
0x
c0c03080
,
0x17c07c1f
,
0xa1da0407
,
0xe8208000
,
0x10000048
,
0x
0
0000
100
,
0x1
b8000
1f
,
0x
20000068
,
0xa0110400
,
0xa01404
00
,
0x
18c0001f
,
0x1000f5c8
,
0x
1910001f
,
0x1000f5c8
,
0x812004
04
,
0x
e0c
0000
4
,
0x18
c
0001f
,
0x
1
00
125c
8
,
0x1
9
1000
1f
,
0x
100125c8
,
0x81200404
,
0xe0c00004
,
0x1910001f
,
0x100
12
5c8
,
0x
a01d
040
0
,
0x
a01b04
00
,
0x
a0180400
,
0x803d8400
,
0xa01e0400
,
0xa0160400
,
0x
a017
040
0
,
0x
a01684
00
,
0x1
b8
0001f
,
0x
20000104
,
0x81411801
,
0xd8002f85
,
0x
17c07c1f
,
0x18c0001f
,
0x10006240
,
0xc0c03360
,
0x17c07c1f
,
0xe82080
00
,
0x1000f
600
,
0x
d
2000001
,
0xd800
0768
,
0x17c07c1f
,
0x
c2803780
,
0x129184
1f
,
0x1
b
000
01f
,
0x7ffff7ff
,
0xf000000
0
,
0x17c07c1f
,
0x
190
000
1f
,
0x1000
6830
,
0x
e1000003
,
0x1
8
c0
00
1f
,
0x
10006834
,
0xe0e00000
,
0x
e0e
00001
,
0x
f0000000
,
0x
17c07c1f
,
0xe0f07f16
,
0x1380201f
,
0xe0f07f1e
,
0x1380201f
,
0xe0f07f0e
,
0x1
b8
000
1f
,
0x
2
0000
104
,
0xe0
f07f0c
,
0xe0f07f0d
,
0xe0f07e0d
,
0xe0f07
c0d
,
0x
e0f0780d
,
0xf0000000
,
0xe0f0700d
,
0xe0f07f0
d
,
0x
e0f07f0f
,
0xe0f07f1e
,
0x
f0000000
,
0xe0f07
f12
,
0x
114
07c
1f
,
0x
81f08407
,
0x81f18407
,
0x1b8
000
1f
,
0x
20000001
,
0xa1d08407
,
0xa1d18407
,
0x1392841f
,
0x812ab401
,
0x80ebb401
,
0x
a0c00c04
,
0xd8203603
,
0x17c07c1f
,
0x80
c
01
403
,
0x
d8203423
,
0x01400
40
5
,
0x
1900001f
,
0x10006814
,
0xf0000000
,
0xe1000003
,
0xa1d00407
,
0x1b80001f
,
0x
20000208
,
0x80
ea3
40
1
,
0x
1a00001f
,
0x10006814
,
0xf0000000
,
0x
e2000003
,
0x18
c
0001f
,
0x
10006b6c
,
0x19100
01
f
,
0x
1
000
6b6c
,
0xa1002804
,
0xf0000000
,
0x
e0c
000
04
,
0x1
7c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x00000010
,
0x81f00407
,
0xa1dd0407
,
0x81fd0407
,
0xc28038
0
0
,
0x1290041f
,
0x8880000c
,
0x2f7be75f
,
0xd8200
72
2
,
0x17c07c1f
,
0x
d82006a9
,
0x17c07c1
f
,
0x
e8208000
,
0x10006814
,
0x0000
0001
,
0xc2803800
,
0x1293841f
,
0x1b0000
1f
,
0x
7fffe7ff
,
0xd
0
00076
0
,
0x17c07c1f
,
0x
1b
000
01f
,
0x7ffff7ff
,
0xf0000
000
,
0x1
7c07c1f
,
0x80880001
,
0x
d8
000
842
,
0x
17c07c1f
,
0xd00028e0
,
0x1200041f
,
0xe8208000
,
0x10006834
,
0x000000
0
0
,
0x
1b0
0001
f
,
0x3fffe7ff
,
0x1b80001f
,
0x
20000004
,
0xd8200a0c
,
0x17c07c1f
,
0xe8208
000
,
0x10006
834
,
0x
00000010
,
0x
d0001280
,
0x17c07c
1f
,
0x1
8c
000
1f
,
0x10006608
,
0x191
000
1
f
,
0x
10006608
,
0x
813b0404
,
0x
e0c
0000
4
,
0x
1880001
f
,
0x
1
000
632
0
,
0x
c0c03760
,
0xe08000
0
f
,
0x
d
820
0c03
,
0x17c07c1f
,
0x1
b
000
01f
,
0x
7
ffff
7
ff
,
0x
d
0001
280
,
0x17c07c1f
,
0xe0
8
000
1f
,
0xe
8208
000
,
0x
10006354
,
0xffffffff
,
0x1
8
c0
00
1f
,
0x1000
62c8
,
0x
e0e000f0
,
0xe0e00030
,
0xe0
e
0000
0
,
0x
810098
01
,
0x
d80010c4
,
0x17c07c1f
,
0x1
8c
0001f
,
0x10
00409
4
,
0x1
91
0001f
,
0x10
20e374
,
0xe0c0000
4
,
0x1
8c
0001f
,
0x10
004098
,
0x1910001f
,
0x1020e
37
8
,
0xe0c00004
,
0x18c0001f
,
0x1001109
4
,
0x1910001f
,
0x1021337
4
,
0xe0c00004
,
0x18c0001f
,
0x100
11098
,
0x1910001f
,
0x1
0213378
,
0xe0c00004
,
0x1910001f
,
0x10213378
,
0x18c0001f
,
0x10006234
,
0x
c0c034a0
,
0x17c07c1f
,
0xc2803800
,
0x1290841f
,
0xa
1d2
040
7
,
0x
81f28407
,
0x
a1d68407
,
0xa0128400
,
0xa0118400
,
0xa0100400
,
0xa01a8400
,
0xa01a04
00
,
0x
19c0001f
,
0x001c239f
,
0x1b
0
0001f
,
0x
3fffefff
,
0xf0000000
,
0x17c07c1f
,
0x
808d8001
,
0xd8201502
,
0x17c07c1f
,
0x803
d8
400
,
0x
1b80001f
,
0x2000001a
,
0x
8034
040
0
,
0x1
7c07c
1f
,
0x
17c07c1f
,
0x80310400
,
0x81fa0407
,
0x81f18407
,
0x
81f08407
,
0xa1dc0407
,
0x1b8000
1f
,
0x20
0
000
b6
,
0x
d
000
2220
,
0x17c07c1f
,
0x
188
000
1f
,
0x
20000208
,
0x810118
01
,
0x
d80016e4
,
0x17c07c1f
,
0xe
8208
000
,
0x
1000f6
00
,
0x
d200
0000
,
0x
1380081f
,
0x18
c0
001f
,
0x
10006240
,
0xe0e00016
,
0x
e0e0001e
,
0x
e0
e0
0
00
e
,
0x
e0e0000
f
,
0x803
6
8400
,
0x
1380081f
,
0x80370
400
,
0x1
3
800
8
1f
,
0x
80360400
,
0x803
e0
400
,
0x1
38
00
8
1f
,
0x
80380400
,
0x803
b
0400
,
0x
a01d8400
,
0x1
b
80001f
,
0x
20
000
034
,
0x803d8400
,
0x1
b8
000
1
f
,
0x
2
000
0152
,
0x
803d0400
,
0x1380081f
,
0x18c0001f
,
0x100
0f
5c8
,
0x1910001f
,
0x100
0f
5c8
,
0xa1000404
,
0xe0c00004
,
0x1
8c
0001f
,
0x100125c8
,
0x
1910001f
,
0x100125c8
,
0x
a100
040
4
,
0xe
0c
000
04
,
0x1
91
000
1f
,
0x100125c8
,
0x80340400
,
0x17c07c1f
,
0x1
7c07c
1f
,
0x
803104
00
,
0x
e8208000
,
0x1000
0044
,
0x
0
0000
100
,
0x
1b
800
01f
,
0x
20000068
,
0x1
b
80001f
,
0x
20
000
00a
,
0x1
8c
0001f
,
0x1000
6240
,
0xe0e0000d
,
0x
81011801
,
0xd8
001f
64
,
0x
17c07c1f
,
0x18c0001f
,
0x100040f
4
,
0x1
91
0001f
,
0x100
04
0f4
,
0xa11c8404
,
0xe0c00004
,
0x1b80001f
,
0x2000000a
,
0x813c8404
,
0x
e0c
0000
4
,
0x
18c0001f
,
0x100110f
4
,
0x1
91
0001f
,
0x
100110f4
,
0xa11c8404
,
0x
e0c00004
,
0x1b80001f
,
0x20000
00a
,
0x
813c8404
,
0xe0c00004
,
0x1
b
80001f
,
0x
20000100
,
0x81fa0407
,
0x81f18
407
,
0x
81f08
407
,
0x
e8208000
,
0x10006354
,
0x
fffe7b47
,
0x1
8c
0001f
,
0x
65930003
,
0xc0c031c0
,
0x17c07c1f
,
0xc28038
0
0
,
0x129
3
041f
,
0x
a1d80407
,
0xa1dc0407
,
0x1
8
c0
00
1f
,
0x10
006608
,
0x191
0001f
,
0x
10006
60
8
,
0x
a11b0404
,
0x
e0c
0000
4
,
0x
c2803800
,
0x1291041f
,
0x888
0000
c
,
0x
2f7be75f
,
0xd8202362
,
0x17c07c
1f
,
0x1
b
000
01f
,
0x3fffe7ff
,
0xd00023a0
,
0x1
7c07c
1f
,
0x1
b
000
01f
,
0xbfffe7ff
,
0x
f0
0000
00
,
0x17c07c1f
,
0x1890001f
,
0x
10006608
,
0x808b0801
,
0xd8202642
,
0x17c07c1f
,
0x1880001f
,
0x1000632
0
,
0x
c0c03540
,
0xe080
000f
,
0x
d80027a3
,
0x17c07c1
f
,
0x
e08
0001f
,
0x
a1da0407
,
0x8
1fc0407
,
0xa0110400
,
0xa0140400
,
0xa0
1d84
00
,
0x
d0003100
,
0x17c07c1f
,
0x1
b8000
1f
,
0x
2
0000f
d
f
,
0x18
9
0001f
,
0x
1
000
6608
,
0x80c98801
,
0x810a8801
,
0x1
0918
c1f
,
0x
a0939002
,
0x8080080d
,
0xd82028e2
,
0x1
20
07c1f
,
0x
1b00001f
,
0x
3fffe7ff
,
0x1
b
80001f
,
0x
20000004
,
0xd800318c
,
0x17c07c1f
,
0x1
b0
0001f
,
0x
bfffe7ff
,
0x
d00
03
1
80
,
0x17c07c1f
,
0x
81f80407
,
0x81fc0407
,
0x18c0001f
,
0x
65930006
,
0xc0c031c0
,
0x17c07c1f
,
0x18c0001f
,
0x6593000
7
,
0xc0c031c0
,
0x
17c07c1f
,
0x1880001f
,
0x10006320
,
0xc0c03540
,
0x
e08
0000
f
,
0xd80027a3
,
0x1
7c07c
1f
,
0x
e080001f
,
0x18c0001f
,
0x65930
00
5
,
0x
c0c031c0
,
0x17c07c1f
,
0x
a1da0407
,
0xe8208000
,
0x10000
04
8
,
0x
000
00
1
00
,
0x1
b
80001f
,
0x
2
00
0006
8
,
0x
a0
110
4
00
,
0x
a0140400
,
0x18c0001f
,
0x1000f5c8
,
0x1910001f
,
0x100
0f
5c8
,
0x
8120
040
4
,
0x
e0c00
00
4
,
0x
18c0001f
,
0x100125c8
,
0x1910001f
,
0x100125c8
,
0x
8120
040
4
,
0x
e0c00
00
4
,
0x1
91
0001f
,
0x
100125c8
,
0xa01d0400
,
0xa01b0400
,
0x
a0180400
,
0x803d8400
,
0xa01e0400
,
0xa0160400
,
0xa0170400
,
0xa01684
00
,
0x1
b8
000
1
f
,
0x20000
104
,
0x810118
01
,
0xd800
30c4
,
0x17c07c1f
,
0x
18c000
1f
,
0x1000
6240
,
0xc0c034a
0
,
0x17c07c1f
,
0x
e8208
000
,
0x1000
f600
,
0xd2000001
,
0x
d8000848
,
0x1
7
c0
7c
1f
,
0x
c2803800
,
0x1291841f
,
0x
1b
00001
f
,
0x
7ffff7ff
,
0x
f0000000
,
0x17c07c1f
,
0x1900001f
,
0x10006830
,
0xe1000003
,
0x18c0001f
,
0x1000
6834
,
0x
e0e
0000
0
,
0xe0
e00001
,
0xf0000000
,
0x17c07c1f
,
0xe0f07
f16
,
0x
1380201f
,
0xe0f07f1e
,
0x1380201f
,
0xe0f07f0
e
,
0x
1b80001f
,
0x20000104
,
0x
e0f07f0c
,
0xe0f07f0d
,
0xe0f07
e0d
,
0x
e0f
07c
0d
,
0x
e0f0780d
,
0xf0000
000
,
0x
e0f0700d
,
0xe0f07f0d
,
0xe0f07f0f
,
0xe0f07f1e
,
0xf0000000
,
0xe0f07f12
,
0x
11407c1f
,
0x81f08407
,
0x81f18407
,
0x
1b
80
0
01
f
,
0x
20000001
,
0xa1d08
40
7
,
0x
a1d18407
,
0x1392841f
,
0x812ab401
,
0x80ebb401
,
0xa0c00c04
,
0xd8203743
,
0x
17c07c1f
,
0x80
c01
40
3
,
0x
d8203563
,
0x01400405
,
0xf0000000
,
0x
a1d00407
,
0x1
b
80001f
,
0x
20000208
,
0x80ea34
01
,
0x
f
000
0000
,
0x18c0001f
,
0x10006b6c
,
0x
191
000
1f
,
0x1
0006b6c
,
0xa1002804
,
0xf0000000
,
0xe0c00004
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
0x17c07c1f
,
...
...
@@ -148,75 +148,78 @@ static const unsigned int suspend_binary_ca7[] = {
0x17c07c1f
,
0x17c07c1f
,
0x1840001f
,
0x00000001
,
0xa1d48407
,
0x1990001f
,
0x10006b08
,
0x1a50001f
,
0x10006610
,
0x8246a401
,
0xe8208000
,
0x10006b6c
,
0x00000000
,
0x1b00001f
,
0x2f7be75f
,
0x81469801
,
0xd8004305
,
0x17c07c1f
,
0x1b80001f
,
0xd00f0000
,
0x8880000c
,
0x2f7be75f
,
0xd8005
d
a2
,
0x17c07c1f
,
0x1b80001f
,
0xd00f0000
,
0x8880000c
,
0x2f7be75f
,
0xd8005
f
a2
,
0x17c07c1f
,
0xd0004340
,
0x17c07c1f
,
0x1b80001f
,
0x500f0000
,
0xe8208000
,
0x10006354
,
0xfffe7b47
,
0xc0c06
94
0
,
0x81401801
,
0xd80048e5
,
0x17c07c1f
,
0x81f60407
,
0x18c0001f
,
0x10006200
,
0xc0c0
5e
60
,
0x12807c1f
,
0xe8208000
,
0x1000625c
,
0x00000001
,
0x1b80001f
,
0x20000080
,
0xc0c0
5e
60
,
0x1280041f
,
0x18c0001f
,
0x10006204
,
0xc0c06
2
00
,
0x1280041f
,
0x18c0001f
,
0x10006208
,
0xc0c0
5e
60
,
0xfffe7b47
,
0xc0c06
c0
0
,
0x81401801
,
0xd80048e5
,
0x17c07c1f
,
0x81f60407
,
0x18c0001f
,
0x10006200
,
0xc0c0
60
60
,
0x12807c1f
,
0xe8208000
,
0x1000625c
,
0x00000001
,
0x1b80001f
,
0x20000080
,
0xc0c0
60
60
,
0x1280041f
,
0x18c0001f
,
0x10006204
,
0xc0c06
4
00
,
0x1280041f
,
0x18c0001f
,
0x10006208
,
0xc0c0
60
60
,
0x12807c1f
,
0xe8208000
,
0x10006244
,
0x00000001
,
0x1b80001f
,
0x20000080
,
0xc0c0
5e
60
,
0x1280041f
,
0x18d0001f
,
0x10200200
,
0x18c0001f
,
0x10006290
,
0xc0c0
5e
60
,
0x1280041f
,
0xe8208000
,
0x10006404
,
0x00003101
,
0xc2803
7
80
,
0xc0c0
60
60
,
0x1280041f
,
0x18d0001f
,
0x10200200
,
0x18c0001f
,
0x10006290
,
0xc0c0
60
60
,
0x1280041f
,
0xe8208000
,
0x10006404
,
0x00003101
,
0xc28038
0
0
,
0x1292041f
,
0x81469801
,
0xd8204a45
,
0x17c07c1f
,
0x1b00001f
,
0x2f7be75f
,
0x1b80001f
,
0x30000004
,
0x8880000c
,
0x2f7be75f
,
0xd8005
8
02
,
0x17c07c1f
,
0xc0c06
4c
0
,
0x17c07c1f
,
0x18c0001f
,
0x10006294
,
0xe0f07fff
,
0xe0e00fff
,
0x1b80001f
,
0x30000004
,
0x8880000c
,
0x2f7be75f
,
0xd8005
a
02
,
0x17c07c1f
,
0xc0c06
78
0
,
0x17c07c1f
,
0x18c0001f
,
0x10006294
,
0xe0f07fff
,
0xe0e00fff
,
0xe0e000ff
,
0x81449801
,
0xd8004c85
,
0x17c07c1f
,
0x1a00001f
,
0x10006604
,
0xe2200003
,
0xc0c06
5
80
,
0x17c07c1f
,
0xe2200005
,
0xc0c06
5
80
,
0x17c07c1f
,
0xe2200003
,
0xc0c068
4
0
,
0x17c07c1f
,
0xe2200005
,
0xc0c068
4
0
,
0x17c07c1f
,
0xa1d38407
,
0xa1d98407
,
0x1800001f
,
0x00000012
,
0x1800001f
,
0x00000e12
,
0x1800001f
,
0x03800e12
,
0x1800001f
,
0x038e0e12
,
0xe8208000
,
0x10006310
,
0x0b1600f8
,
0x1b00001f
,
0xbfffe7ff
,
0x1b80001f
,
0x90100000
,
0x80c00400
,
0xd8204fa3
,
0xa1d58407
,
0xa1dd8407
,
0x1b00001f
,
0x3fffefff
,
0xd0004e60
,
0x17c07c1f
,
0x1890001f
,
0x100063e8
,
0x88c0000c
,
0x2f7be75f
,
0xd80051c3
,
0x17c07c1f
,
0x80c40001
,
0xd8005143
,
0x17c07c1f
,
0x1b00001f
,
0xbfffe7ff
,
0xd0005180
,
0x17c07c1f
,
0x1b00001f
,
0x7ffff7ff
,
0xd0004e60
,
0x17c07c1f
,
0x80c40001
,
0xd82052c3
,
0x17c07c1f
,
0xa1de0407
,
0x1b00001f
,
0x7fffe7ff
,
0xd0004e60
,
0x17c07c1f
,
0x18c0001f
,
0x10006294
,
0xe0e001fe
,
0xe0e003fc
,
0xe0e007f8
,
0xe0e00ff0
,
0x1b80001f
,
0x20000020
,
0xe0f07ff0
,
0xe0f07f00
,
0x81449801
,
0xd80055a5
,
0x17c07c1f
,
0x1a00001f
,
0x10006604
,
0xe2200002
,
0xc0c06580
,
0x17c07c1f
,
0xe2200004
,
0xc0c06580
,
0x17c07c1f
,
0x1b80001f
,
0x200016a8
,
0x1800001f
,
0x03800e12
,
0x1b80001f
,
0x20000300
,
0x1800001f
,
0x00000e12
,
0x1b80001f
,
0x20000300
,
0x1800001f
,
0x00000012
,
0x1b80001f
,
0x20000104
,
0x10007c1f
,
0x81f38407
,
0x81f98407
,
0x81f90407
,
0x81f40407
,
0x1b80001f
,
0x200016a8
,
0x81401801
,
0xd8005da5
,
0x17c07c1f
,
0xe8208000
,
0x10006404
,
0x00002101
,
0x18c0001f
,
0x10006290
,
0x1212841f
,
0xc0c05fe0
,
0x12807c1f
,
0xc0c05fe0
,
0x1280041f
,
0x18c0001f
,
0x10006208
,
0x1212841f
,
0xc0c05fe0
,
0x12807c1f
,
0xe8208000
,
0x10006244
,
0x00000000
,
0x1b80001f
,
0x20000080
,
0xc0c05fe0
,
0x1280041f
,
0xe8208000
,
0x10200268
,
0x000ffffe
,
0x18c0001f
,
0x10006204
,
0x1212841f
,
0xc0c06340
,
0x1280041f
,
0x18c0001f
,
0x10006200
,
0x1212841f
,
0xc0c05fe0
,
0x12807c1f
,
0xe8208000
,
0x1000625c
,
0x00000000
,
0x1b80001f
,
0x20000080
,
0xc0c05fe0
,
0x1280041f
,
0x19c0001f
,
0x01411820
,
0x1ac0001f
,
0x55aa55aa
,
0x10007c1f
,
0xf0000000
,
0xd8005f0a
,
0x17c07c1f
,
0xe2e0004f
,
0xe2e0006f
,
0xe2e0002f
,
0xd8205faa
,
0x17c07c1f
,
0xe2e0002e
,
0xe2e0003e
,
0xe2e00032
,
0xf0000000
,
0x17c07c1f
,
0xd80060aa
,
0x17c07c1f
,
0xe2e00036
,
0xe2e0003e
,
0x1380201f
,
0xe2e0003c
,
0xd82061ca
,
0x17c07c1f
,
0x1380201f
,
0xe2e0007c
,
0x1b80001f
,
0x20000003
,
0xe2e0005c
,
0xe2e0004c
,
0xe2e0004d
,
0xf0000000
,
0x17c07c1f
,
0xd8206309
,
0x17c07c1f
,
0xe2e0000d
,
0xe2e0000c
,
0xe2e0001c
,
0xe2e0001e
,
0xe2e00016
,
0xe2e00012
,
0xf0000000
,
0x17c07c1f
,
0xd8206489
,
0x17c07c1f
,
0xe2e00016
,
0x1380201f
,
0xe2e0001e
,
0x1380201f
,
0xe2e0001c
,
0x1380201f
,
0xe2e0000c
,
0xe2e0000d
,
0xf0000000
,
0x17c07c1f
,
0xa1d40407
,
0x1391841f
,
0xa1d90407
,
0x1393041f
,
0xf0000000
,
0x17c07c1f
,
0x18d0001f
,
0x10006604
,
0x10cf8c1f
,
0xd8206583
,
0x17c07c1f
,
0xf0000000
,
0x17c07c1f
,
0xe8208000
,
0x11008014
,
0x00000002
,
0xe8208000
,
0x11008020
,
0x00000101
,
0xe8208000
,
0x11008004
,
0x000000d0
,
0x1a00001f
,
0x11008000
,
0xd800684a
,
0xe220005d
,
0xd820686a
,
0xe2200000
,
0xe2200001
,
0xe8208000
,
0x11008024
,
0x00000001
,
0x1b80001f
,
0x20000424
,
0xf0000000
,
0x17c07c1f
,
0xa1d10407
,
0x1b80001f
,
0x20000020
,
0xf0000000
,
0x17c07c1f
0x0b1600f8
,
0x1940001f
,
0x00000000
,
0x12407c1f
,
0x1b00001f
,
0xbfffe7ff
,
0x1b80001f
,
0x90100000
,
0x17c07c1f
,
0xd8004fc5
,
0x17c07c1f
,
0x8247b001
,
0x1940001f
,
0xffffffff
,
0x80c00400
,
0xd82050c3
,
0xa1d58407
,
0xa1dd8407
,
0x1b00001f
,
0x3fffefff
,
0xd0004ec0
,
0x17c07c1f
,
0x1890001f
,
0x100063e8
,
0x88c0000c
,
0x2f7be75f
,
0xd80052e3
,
0x17c07c1f
,
0x80c40001
,
0xd8005263
,
0x17c07c1f
,
0x1b00001f
,
0xbfffe7ff
,
0xd00052a0
,
0x17c07c1f
,
0x1b00001f
,
0x7ffff7ff
,
0xd0004ec0
,
0x17c07c1f
,
0x80c40001
,
0xd82053e3
,
0x17c07c1f
,
0xa1de0407
,
0x1b00001f
,
0x7fffe7ff
,
0xd0004ec0
,
0x17c07c1f
,
0xe8208000
,
0x10006814
,
0x00000000
,
0x18c0001f
,
0x10006b00
,
0xe0e00000
,
0xe0c00009
,
0x18c0001f
,
0x10006294
,
0xe0e001fe
,
0xe0e003fc
,
0xe0e007f8
,
0xe0e00ff0
,
0x1b80001f
,
0x20000020
,
0xe0f07ff0
,
0xe0f07f00
,
0x81449801
,
0xd80057a5
,
0x17c07c1f
,
0x1a00001f
,
0x10006604
,
0xe2200002
,
0xc0c06840
,
0x17c07c1f
,
0xe2200004
,
0xc0c06840
,
0x17c07c1f
,
0x1b80001f
,
0x200016a8
,
0x1800001f
,
0x03800e12
,
0x1b80001f
,
0x20000300
,
0x1800001f
,
0x00000e12
,
0x1b80001f
,
0x20000300
,
0x1800001f
,
0x00000012
,
0x1b80001f
,
0x20000104
,
0x10007c1f
,
0x81f38407
,
0x81f98407
,
0x81f90407
,
0x81f40407
,
0x1b80001f
,
0x200016a8
,
0x81401801
,
0xd8005fa5
,
0x17c07c1f
,
0xe8208000
,
0x10006404
,
0x00002101
,
0x18c0001f
,
0x10006290
,
0x1212841f
,
0xc0c061e0
,
0x12807c1f
,
0xc0c061e0
,
0x1280041f
,
0x18c0001f
,
0x10006208
,
0x1212841f
,
0xc0c061e0
,
0x12807c1f
,
0xe8208000
,
0x10006244
,
0x00000000
,
0x1b80001f
,
0x20000080
,
0xc0c061e0
,
0x1280041f
,
0xe8208000
,
0x10200268
,
0x000ffffe
,
0x18c0001f
,
0x10006204
,
0x1212841f
,
0xc0c065a0
,
0x1280041f
,
0x18c0001f
,
0x10006200
,
0x1212841f
,
0xc0c061e0
,
0x12807c1f
,
0xe8208000
,
0x1000625c
,
0x00000000
,
0x1b80001f
,
0x20000080
,
0xc0c061e0
,
0x1280041f
,
0x19c0001f
,
0x01411820
,
0x1ac0001f
,
0x55aa55aa
,
0x10007c1f
,
0xf0000000
,
0xd800610a
,
0x17c07c1f
,
0xe2e0004f
,
0xe2e0006f
,
0xe2e0002f
,
0xd82061aa
,
0x17c07c1f
,
0xe2e0002e
,
0xe2e0003e
,
0xe2e00032
,
0xf0000000
,
0x17c07c1f
,
0xd80062aa
,
0x17c07c1f
,
0xe2e00036
,
0xe2e0003e
,
0x1380201f
,
0xe2e0003c
,
0xd82063ca
,
0x17c07c1f
,
0x1380201f
,
0xe2e0007c
,
0x1b80001f
,
0x20000003
,
0xe2e0005c
,
0xe2e0004c
,
0xe2e0004d
,
0xf0000000
,
0x17c07c1f
,
0x1a50001f
,
0x10006610
,
0x8246a401
,
0xd8206569
,
0x17c07c1f
,
0xe2e0000d
,
0xe2e0000c
,
0xe2e0001c
,
0xe2e0001e
,
0xe2e00016
,
0xe2e00012
,
0xf0000000
,
0x17c07c1f
,
0x1a50001f
,
0x10006610
,
0x8246a401
,
0xd8206749
,
0x17c07c1f
,
0xe2e00016
,
0x1380201f
,
0xe2e0001e
,
0x1380201f
,
0xe2e0001c
,
0x1380201f
,
0xe2e0000c
,
0xe2e0000d
,
0xf0000000
,
0x17c07c1f
,
0xa1d40407
,
0x1391841f
,
0xa1d90407
,
0x1393041f
,
0xf0000000
,
0x17c07c1f
,
0x18d0001f
,
0x10006604
,
0x10cf8c1f
,
0xd8206843
,
0x17c07c1f
,
0xf0000000
,
0x17c07c1f
,
0xe8208000
,
0x11008014
,
0x00000002
,
0xe8208000
,
0x11008020
,
0x00000101
,
0xe8208000
,
0x11008004
,
0x000000d0
,
0x1a00001f
,
0x11008000
,
0xd8006b0a
,
0xe220005d
,
0xd8206b2a
,
0xe2200000
,
0xe2200001
,
0xe8208000
,
0x11008024
,
0x00000001
,
0x1b80001f
,
0x20000424
,
0xf0000000
,
0x17c07c1f
,
0xa1d10407
,
0x1b80001f
,
0x20000020
,
0xf0000000
,
0x17c07c1f
};
/*
* PCM binary for suspend scenario
*/
static
const
struct
pcm_desc
suspend_pcm_ca7
=
{
.
version
=
"pcm_suspend_20150
805
_V
1
"
,
.
version
=
"pcm_suspend_20150
917
_V
4
"
,
.
base
=
suspend_binary_ca7
,
.
size
=
8
47
,
.
size
=
8
69
,
.
sess
=
2
,
.
replace
=
0
,
.
vec0
=
EVENT_VEC
(
11
,
1
,
0
,
0
),
.
vec1
=
EVENT_VEC
(
12
,
1
,
0
,
54
),
.
vec2
=
EVENT_VEC
(
30
,
1
,
0
,
1
43
),
.
vec3
=
EVENT_VEC
(
31
,
1
,
0
,
2
7
7
),
.
vec1
=
EVENT_VEC
(
12
,
1
,
0
,
61
),
.
vec2
=
EVENT_VEC
(
30
,
1
,
0
,
1
50
),
.
vec3
=
EVENT_VEC
(
31
,
1
,
0
,
2
8
7
),
};
/*
...
...
plat/mediatek/mt8173/include/mcucfg.h
View file @
7b46d0d8
...
...
@@ -176,4 +176,70 @@ enum {
MP1_L2RSTDISABLE
=
1
<<
MP1_L2RSTDISABLE_SHIFT
};
/* cci clock control related */
enum
{
MCU_BUS_DCM_EN
=
1
<<
8
};
/* l2c sram control related */
enum
{
L2C_SRAM_DCM_EN
=
1
<<
0
};
/* bus fabric dcm control related */
enum
{
PSYS_ADB400_DCM_EN
=
1
<<
29
,
GPU_ADB400_DCM_EN
=
1
<<
28
,
EMI1_ADB400_DCM_EN
=
1
<<
27
,
EMI_ADB400_DCM_EN
=
1
<<
26
,
INFRA_ADB400_DCM_EN
=
1
<<
25
,
L2C_ADB400_DCM_EN
=
1
<<
24
,
MP0_ADB400_DCM_EN
=
1
<<
23
,
CCI400_CK_ONLY_DCM_EN
=
1
<<
22
,
L2C_IDLE_DCM_EN
=
1
<<
21
,
CA15U_ADB_DYNAMIC_CG_EN
=
1
<<
19
,
CA7L_ADB_DYNAMIC_CG_EN
=
1
<<
18
,
L2C_ADB_DYNAMIC_CG_EN
=
1
<<
17
,
EMICLK_EMI1_DYNAMIC_CG_EN
=
1
<<
12
,
INFRACLK_PSYS_DYNAMIC_CG_EN
=
1
<<
11
,
EMICLK_GPU_DYNAMIC_CG_EN
=
1
<<
10
,
EMICLK_EMI_DYNAMIC_CG_EN
=
1
<<
8
,
CCI400_SLV_RW_DCM_EN
=
1
<<
7
,
CCI400_SLV_DCM_EN
=
1
<<
5
,
ACLK_PSYS_DYNAMIC_CG_EN
=
1
<<
3
,
ACLK_GPU_DYNAMIC_CG_EN
=
1
<<
2
,
ACLK_EMI_DYNAMIC_CG_EN
=
1
<<
1
,
ACLK_INFRA_DYNAMIC_CG_EN
=
1
<<
0
,
/* adb400 related */
ADB400_GRP_DCM_EN
=
PSYS_ADB400_DCM_EN
|
GPU_ADB400_DCM_EN
|
EMI1_ADB400_DCM_EN
|
EMI_ADB400_DCM_EN
|
INFRA_ADB400_DCM_EN
|
L2C_ADB400_DCM_EN
|
MP0_ADB400_DCM_EN
,
/* cci400 related */
CCI400_GRP_DCM_EN
=
CCI400_CK_ONLY_DCM_EN
|
CCI400_SLV_RW_DCM_EN
|
CCI400_SLV_DCM_EN
,
/* adb clock related */
ADBCLK_GRP_DCM_EN
=
CA15U_ADB_DYNAMIC_CG_EN
|
CA7L_ADB_DYNAMIC_CG_EN
|
L2C_ADB_DYNAMIC_CG_EN
,
/* emi clock related */
EMICLK_GRP_DCM_EN
=
EMICLK_EMI1_DYNAMIC_CG_EN
|
EMICLK_GPU_DYNAMIC_CG_EN
|
EMICLK_EMI_DYNAMIC_CG_EN
,
/* bus clock related */
ACLK_GRP_DCM_EN
=
ACLK_PSYS_DYNAMIC_CG_EN
|
ACLK_GPU_DYNAMIC_CG_EN
|
ACLK_EMI_DYNAMIC_CG_EN
|
ACLK_INFRA_DYNAMIC_CG_EN
,
};
#endif
/* __MCUCFG_H__ */
plat/mediatek/mt8173/plat_pm.c
View file @
7b46d0d8
...
...
@@ -380,8 +380,8 @@ static void plat_affinst_suspend(unsigned long sec_entrypoint,
mmio_write_32
(
rv
,
sec_entrypoint
);
if
(
afflvl
==
MPIDR_AFFLVL
0
)
spm_mcdi_prepare
(
mpidr
);
if
(
afflvl
<
MPIDR_AFFLVL
2
)
spm_mcdi_prepare
_for_off_state
(
mpidr
,
afflvl
);
if
(
afflvl
>=
MPIDR_AFFLVL0
)
mt_platform_save_context
(
mpidr
);
...
...
@@ -390,12 +390,10 @@ static void plat_affinst_suspend(unsigned long sec_entrypoint,
if
(
afflvl
>=
MPIDR_AFFLVL1
)
{
/* Disable coherency if this cluster is to be turned off */
plat_cci_disable
();
disable_scu
(
mpidr
);
trace_power_flow
(
mpidr
,
CLUSTER_SUSPEND
);
}
if
(
afflvl
>=
MPIDR_AFFLVL2
)
{
disable_scu
(
mpidr
);
generic_timer_backup
();
spm_system_suspend
();
/* Prevent interrupts from spuriously waking up this cpu */
...
...
@@ -420,8 +418,6 @@ static void plat_affinst_on_finish(unsigned int afflvl, unsigned int state)
/* Perform the common cluster specific operations */
if
(
afflvl
>=
MPIDR_AFFLVL1
)
{
enable_scu
(
mpidr
);
/* Enable coherency if this cluster was off */
plat_cci_enable
();
trace_power_flow
(
mpidr
,
CLUSTER_UP
);
...
...
@@ -451,22 +447,20 @@ static void plat_affinst_suspend_finish(unsigned int afflvl, unsigned int state)
arm_gic_setup
();
arm_gic_cpuif_setup
();
spm_system_suspend_finish
();
enable_scu
(
mpidr
);
}
/* Perform the common cluster specific operations */
if
(
afflvl
>=
MPIDR_AFFLVL1
)
{
enable_scu
(
mpidr
);
/* Enable coherency if this cluster was off */
plat_cci_enable
();
trace_power_flow
(
mpidr
,
CLUSTER_UP
);
}
if
(
afflvl
>=
MPIDR_AFFLVL0
)
mt_platform_restore_context
(
mpidr
);
if
(
afflvl
==
MPIDR_AFFLVL
0
)
spm_mcdi_finish
(
mpidr
);
if
(
afflvl
<
MPIDR_AFFLVL
2
)
spm_mcdi_finish
_for_on_state
(
mpidr
,
afflvl
);
arm_gic_pcpu_distif_setup
();
}
...
...
plat/mediatek/mt8173/plat_sip_calls.c
View file @
7b46d0d8
...
...
@@ -29,6 +29,7 @@
*/
#include <mmio.h>
#include <mtk_sip_svc.h>
#include <mtcmos.h>
/* Authorized secure register list */
enum
{
...
...
@@ -55,3 +56,30 @@ uint64_t mt_sip_set_authorized_sreg(uint32_t sreg, uint32_t val)
return
MTK_SIP_E_INVALID_PARAM
;
}
uint64_t
mt_sip_pwr_on_mtcmos
(
uint32_t
val
)
{
uint32_t
ret
;
ret
=
mtcmos_non_cpu_ctrl
(
1
,
val
);
if
(
ret
)
return
MTK_SIP_E_INVALID_PARAM
;
else
return
MTK_SIP_E_SUCCESS
;
}
uint64_t
mt_sip_pwr_off_mtcmos
(
uint32_t
val
)
{
uint32_t
ret
;
ret
=
mtcmos_non_cpu_ctrl
(
0
,
val
);
if
(
ret
)
return
MTK_SIP_E_INVALID_PARAM
;
else
return
MTK_SIP_E_SUCCESS
;
}
uint64_t
mt_sip_pwr_mtcmos_support
(
void
)
{
return
MTK_SIP_E_SUCCESS
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment