Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
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
0059be2d
Unverified
Commit
0059be2d
authored
6 years ago
by
Soby Mathew
Committed by
GitHub
6 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #1553 from glneo/dcache-late-disable
Allow D-Cache to remain on during core power-down
parents
97f12332
6a655a85
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
lib/cpus/aarch64/cortex_a53.S
+4
-0
lib/cpus/aarch64/cortex_a53.S
plat/ti/k3/common/k3_psci.c
+12
-0
plat/ti/k3/common/k3_psci.c
plat/ti/k3/common/plat_common.mk
+5
-1
plat/ti/k3/common/plat_common.mk
with
21 additions
and
1 deletion
+21
-1
lib/cpus/aarch64/cortex_a53.S
View file @
0059be2d
...
...
@@ -228,11 +228,13 @@ endfunc cortex_a53_reset_func
func
cortex_a53_core_pwr_dwn
mov
x18
,
x30
#if !TI_AM65X_WORKAROUND
/
*
---------------------------------------------
*
Turn
off
caches
.
*
---------------------------------------------
*/
bl
cortex_a53_disable_dcache
#endif
/
*
---------------------------------------------
*
Flush
L1
caches
.
...
...
@@ -252,11 +254,13 @@ endfunc cortex_a53_core_pwr_dwn
func
cortex_a53_cluster_pwr_dwn
mov
x18
,
x30
#if !TI_AM65X_WORKAROUND
/
*
---------------------------------------------
*
Turn
off
caches
.
*
---------------------------------------------
*/
bl
cortex_a53_disable_dcache
#endif
/
*
---------------------------------------------
*
Flush
L1
caches
.
...
...
This diff is collapsed.
Click to expand it.
plat/ti/k3/common/k3_psci.c
View file @
0059be2d
...
...
@@ -6,9 +6,12 @@
#include <arch_helpers.h>
#include <assert.h>
#include <cpu_data.h>
#include <debug.h>
#include <k3_gicv3.h>
#include <psci.h>
/* Need to flush psci internal locks before shutdown or their values are lost */
#include <../../lib/psci/psci_private.h>
#include <platform.h>
#include <stdbool.h>
...
...
@@ -99,6 +102,14 @@ void k3_pwr_domain_on_finish(const psci_power_state_t *target_state)
k3_gic_cpuif_enable
();
}
static
void
__dead2
k3_pwr_domain_pwr_down_wfi
(
const
psci_power_state_t
*
target_state
)
{
flush_cpu_data
(
psci_svc_cpu_data
);
flush_dcache_range
((
uintptr_t
)
psci_locks
,
sizeof
(
psci_locks
));
psci_power_down_wfi
();
}
static
void
__dead2
k3_system_reset
(
void
)
{
/* Send the system reset request to system firmware */
...
...
@@ -128,6 +139,7 @@ static const plat_psci_ops_t k3_plat_psci_ops = {
.
pwr_domain_on
=
k3_pwr_domain_on
,
.
pwr_domain_off
=
k3_pwr_domain_off
,
.
pwr_domain_on_finish
=
k3_pwr_domain_on_finish
,
.
pwr_domain_pwr_down_wfi
=
k3_pwr_domain_pwr_down_wfi
,
.
system_reset
=
k3_system_reset
,
.
validate_power_state
=
k3_validate_power_state
,
.
validate_ns_entrypoint
=
k3_validate_ns_entrypoint
...
...
This diff is collapsed.
Click to expand it.
plat/ti/k3/common/plat_common.mk
View file @
0059be2d
...
...
@@ -12,7 +12,7 @@ COLD_BOOT_SINGLE_CPU := 1
PROGRAMMABLE_RESET_ADDRESS
:=
1
# System coherency is managed in hardware
WARMBOOT_ENABLE_DCACHE_EARLY
:=
1
HW_ASSISTED_COHERENCY
:=
1
USE_COHERENT_MEM
:=
0
# A53 erratum for SoC. (enable them all)
...
...
@@ -22,6 +22,10 @@ ERRATA_A53_836870 := 1
ERRATA_A53_843419
:=
1
ERRATA_A53_855873
:=
1
# Leave the caches enabled on core powerdown path
TI_AM65X_WORKAROUND
:=
1
$(eval
$(call
add_define,TI_AM65X_WORKAROUND))
MULTI_CONSOLE_API
:=
1
TI_16550_MDR_QUIRK
:=
1
$(eval
$(call
add_define,TI_16550_MDR_QUIRK))
...
...
This diff is collapsed.
Click to expand it.
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
Menu
Projects
Groups
Snippets
Help