Hello,
We are verifying that cache coherency is maintained across Cortex-A53 clusters.
The U-Boot bootloader for S32G_BSP30.0 is built with s32g274ardb2_defconfig (no source modification).
ATF is not used. The global enable bit in the XRDC control register (XRDC_CR) is 0.
In this combination, is the cache coherency between Cortex-A53 Cluster0 and Cortex-A53 Cluster1 maintained when the OS is booted from the U-Boot ?
If not, what settings should be made to maintain cache coherency between clusters?
Below are the register values for XRDC_CR and NCORE (only those with valid bits set).
<env>
board: s32g-vnp-rdb2
bootloader: u-boot of S32G_BSP30.0 (ATF not used)
core: CA53 x 4core use
OS:my customer's RTOS
<reg dump after init_core() executed>
[registers address : value]
XRDC Control (CR) register
XRDC0_CR 401a4000: 0000008a
XRDC1_CR 44004000: 0000008a
Coherent Agent Interface Unit registers
CAIU0_CAIUTC 50400000: 00000001
CAIU0_CAIUTA 50400004: 00000001
CAIU0_CAIUID 50400ffc: 00008001
CAIU1_CAIUTC 50401000: 00000001
CAIU1_CAIUID 50401ffc: 00008101
Non-coherent bridge unit (NCBU) register
NCBU0_NCBUTC 50460000: 00000001
NCBU0_NCBUID 50460ffc: 00030001
NCBU1_NCBUTC 50461000: 00000001
NCBU1_NCBUID 50461ffc: 00030101
Directory unit (DIRU) register
DIRU_DIRUSFE 50480010: 00000001
DIRU_DIRUCASE0 50480040: 00000003
DIRU_DIRUID 50480ffc: 00000001
Coherent memory interface unit (CMIU) register
CMIU_CMIUID 504c0ffc: 00000001
Coherent subsystem (CSR) register
CSR_CSADSE0 504ff040: 00000003
CSR_CSSFIDR0 504fff00: 0cb007ff
CSR_CSUID 504ffff8: 01010202
CSR_CSID 504ffffc: 00000109
CCTI fault controller register
CCTI_COREID 50500000: 7073b716
CCTI_REVISIONID 50500004: c67f8700
CCTI_BIST_DONE 50500038: 00000002
CCTI_BIST_TO1 5050003c: 0000ffff
CCTI_BIST_TO2 50500040: 000000ff
Functional safety controller (FSC) register
FSC_SCCETH 50600008: 00000001