Merge changes from topic "k3-coherency" into integration
* changes: ti: k3: common: Mark sections for AM65x coherency workaround ti: k3: common: Allow USE_COHERENT_MEM for K3 ti: k3: common: Fix RO data area size calculation ti: k3: common: Remove unused STUB macro
This commit is contained in:
commit
591e2b3d1f
|
@ -101,7 +101,10 @@ void bl31_plat_arch_setup(void)
|
||||||
const mmap_region_t bl_regions[] = {
|
const mmap_region_t bl_regions[] = {
|
||||||
MAP_REGION_FLAT(BL31_START, BL31_END - BL31_START, MT_MEMORY | MT_RW | MT_SECURE),
|
MAP_REGION_FLAT(BL31_START, BL31_END - BL31_START, MT_MEMORY | MT_RW | MT_SECURE),
|
||||||
MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE, MT_CODE | MT_RO | MT_SECURE),
|
MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE, MT_CODE | MT_RO | MT_SECURE),
|
||||||
MAP_REGION_FLAT(BL_RO_DATA_BASE, BL_RO_DATA_END - BL_RO_DATA_END, MT_RO_DATA | MT_RO | MT_SECURE),
|
MAP_REGION_FLAT(BL_RO_DATA_BASE, BL_RO_DATA_END - BL_RO_DATA_BASE, MT_RO_DATA | MT_RO | MT_SECURE),
|
||||||
|
#if USE_COHERENT_MEM
|
||||||
|
MAP_REGION_FLAT(BL_COHERENT_RAM_BASE, BL_COHERENT_RAM_END - BL_COHERENT_RAM_BASE, MT_DEVICE | MT_RW | MT_SECURE),
|
||||||
|
#endif
|
||||||
{ /* sentinel */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,10 +17,10 @@
|
||||||
#include <k3_gicv3.h>
|
#include <k3_gicv3.h>
|
||||||
#include <ti_sci.h>
|
#include <ti_sci.h>
|
||||||
|
|
||||||
|
#ifdef TI_AM65X_WORKAROUND
|
||||||
/* Need to flush psci internal locks before shutdown or their values are lost */
|
/* Need to flush psci internal locks before shutdown or their values are lost */
|
||||||
#include "../../../../lib/psci/psci_private.h"
|
#include "../../../../lib/psci/psci_private.h"
|
||||||
|
#endif
|
||||||
#define STUB() ERROR("stub %s called\n", __func__)
|
|
||||||
|
|
||||||
uintptr_t k3_sec_entrypoint;
|
uintptr_t k3_sec_entrypoint;
|
||||||
|
|
||||||
|
@ -115,6 +115,7 @@ void k3_pwr_domain_on_finish(const psci_power_state_t *target_state)
|
||||||
k3_gic_cpuif_enable();
|
k3_gic_cpuif_enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef TI_AM65X_WORKAROUND
|
||||||
static void __dead2 k3_pwr_domain_pwr_down_wfi(const psci_power_state_t
|
static void __dead2 k3_pwr_domain_pwr_down_wfi(const psci_power_state_t
|
||||||
*target_state)
|
*target_state)
|
||||||
{
|
{
|
||||||
|
@ -122,6 +123,7 @@ static void __dead2 k3_pwr_domain_pwr_down_wfi(const psci_power_state_t
|
||||||
flush_dcache_range((uintptr_t) psci_locks, sizeof(psci_locks));
|
flush_dcache_range((uintptr_t) psci_locks, sizeof(psci_locks));
|
||||||
psci_power_down_wfi();
|
psci_power_down_wfi();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void __dead2 k3_system_reset(void)
|
static void __dead2 k3_system_reset(void)
|
||||||
{
|
{
|
||||||
|
@ -152,7 +154,9 @@ static const plat_psci_ops_t k3_plat_psci_ops = {
|
||||||
.pwr_domain_on = k3_pwr_domain_on,
|
.pwr_domain_on = k3_pwr_domain_on,
|
||||||
.pwr_domain_off = k3_pwr_domain_off,
|
.pwr_domain_off = k3_pwr_domain_off,
|
||||||
.pwr_domain_on_finish = k3_pwr_domain_on_finish,
|
.pwr_domain_on_finish = k3_pwr_domain_on_finish,
|
||||||
|
#ifdef TI_AM65X_WORKAROUND
|
||||||
.pwr_domain_pwr_down_wfi = k3_pwr_domain_pwr_down_wfi,
|
.pwr_domain_pwr_down_wfi = k3_pwr_domain_pwr_down_wfi,
|
||||||
|
#endif
|
||||||
.system_reset = k3_system_reset,
|
.system_reset = k3_system_reset,
|
||||||
.validate_power_state = k3_validate_power_state,
|
.validate_power_state = k3_validate_power_state,
|
||||||
.validate_ns_entrypoint = k3_validate_ns_entrypoint
|
.validate_ns_entrypoint = k3_validate_ns_entrypoint
|
||||||
|
|
Loading…
Reference in New Issue