arm-trusted-firmware/drivers/nxp/interconnect/ls_ccn.c
Pankaj Gupta 76f735fd82 NXP: Interconnect API based on ARM CCN-CCI driver
CCN API(s) to be used NXP SoC(s) are added.
These API(s) based on ARM CCN driver
- driver/arm/ccn

CCI API(s) to be used NXP SoC(s) are added.
These API(s) based on ARM CCI driver
- driver/arm/cci

Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com>
Change-Id: I7682c4c9bd42f63542b3ffd3cb6c5d2effe4ae0a
2021-03-24 09:49:31 +05:30

31 lines
954 B
C

/*
* Copyright 2020 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#include <arch.h>
#include <ccn.h>
#include <plat_arm.h>
/******************************************************************************
* Helper function to place current master into coherency
*****************************************************************************/
void plat_ls_interconnect_enter_coherency(unsigned int num_clusters)
{
ccn_enter_snoop_dvm_domain(1ULL << MPIDR_AFFLVL1_VAL(read_mpidr_el1()));
for (uint32_t index = 1U; index < num_clusters; index++) {
ccn_enter_snoop_dvm_domain(1ULL << index);
}
}
/******************************************************************************
* Helper function to remove current master from coherency
*****************************************************************************/
void plat_ls_interconnect_exit_coherency(void)
{
ccn_exit_snoop_dvm_domain(1ULL << MPIDR_AFFLVL1_VAL(read_mpidr_el1()));
}