1234567891011121314151617181920212223242526272829303132333435363738 |
- /*
- * Copyright 2020 NXP
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
- #include <arch.h>
- #include <cci.h>
- #include <plat_arm.h>
- /******************************************************************************
- * The following functions are defined as weak to allow a platform to override
- * the way ARM CCI driver is initialised and used.
- *****************************************************************************/
- #pragma weak plat_arm_interconnect_enter_coherency
- #pragma weak plat_arm_interconnect_exit_coherency
- /******************************************************************************
- * Helper function to place current master into coherency
- *****************************************************************************/
- void plat_ls_interconnect_enter_coherency(unsigned int num_clusters)
- {
- cci_enable_snoop_dvm_reqs(MPIDR_AFFLVL1_VAL(read_mpidr_el1()));
- for (uint32_t index = 1U; index < num_clusters; index++) {
- cci_enable_snoop_dvm_reqs(index);
- }
- }
- /******************************************************************************
- * Helper function to remove current master from coherency
- *****************************************************************************/
- void plat_ls_interconnect_exit_coherency(void)
- {
- cci_disable_snoop_dvm_reqs(MPIDR_AFFLVL1_VAL(read_mpidr_el1()));
- }
|