drivers: add a driver for snoop control unit
The SCU connects one to four Cortex-A5/Cortex-A9 processors
to the memory system through the AXI interfaces.

The SCU functions are to:
- maintain data cache coherency between the Cortex-A5/Cortex-A9
  processors
- initiate L2 AXI memory accesses
- arbitrate between Cortex-A5/Cortex-A9 processors requesting
  L2 accesses
- manage ACP accesses.

Snoop Control Unit will enable to snoop on other CPUs caches.
This is very important when it comes to synchronizing data between
CPUs. As an example, there is a high chance that data might be
cache'd and other CPUs can't see the change. In such cases,
if snoop control unit is enabled, data is synchoronized immediately
between CPUs and the changes are visible to other CPUs.

This driver provides functionality to enable SCU as well as enabling
user to know the following
- number of CPUs present
- is a particular CPU operating in SMP mode or AMP mode
- data cache size of a particular CPU
- does SCU has ACP port
- is L2CPRESENT

Change-Id: I0d977970154fa60df57caf449200d471f02312a0
Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
1 parent 8a0a819 commit c20c05252c755ed0805f38f93201c4d582af0516
@Vishnu Banavath Vishnu Banavath authored on 13 Dec 2019
vishnu.banavath committed on 3 Jan 2020
Showing 6 changed files
View
drivers/arm/scu/scu.c 0 → 100644
View
include/drivers/arm/scu.h 0 → 100644
View
plat/arm/board/a5ds/a5ds_pm.c
View
plat/arm/board/a5ds/include/platform_def.h
View
plat/arm/board/a5ds/sp_min/a5ds_sp_min_setup.c
View
plat/arm/board/a5ds/sp_min/sp_min-a5ds.mk