soc: same70: enable data cache on sam_e70

The Cortex-M7 CPU included in the SAM e70 SoCs has a data cache that
significantly boost the performances. However the SAM GMAC Ethernet
driver is using a scatter-gather technique to exchange data with the
Ethernet driver. This requires the use use of a non-cached memory area.
This is currently not supported on Zephyr, but support for it is being
discussed in PR#11199.

In the meantime, enable the data cache during the SoC initialization,
unless the SAM GMAC Ethernet driver is enabled.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
Aurelien Jarno 2018-11-12 23:00:56 +01:00 committed by Anas Nashif
commit ae20f807da

View file

@ -229,6 +229,18 @@ static int atmel_same70_init(struct device *arg)
SCB_EnableICache();
/*
* The Atmel SAM GMAC Ethernet driver is using a scatter-gather technique
* to exchange data with the Ethernet driver. This requires the use use of
* a non-cached memory area. This is currently not supported on Zephyr, so
* do not enable the cache in that case.
*/
#ifndef CONFIG_ETH_SAM_GMAC
if (!(SCB->CCR & SCB_CCR_DC_Msk)) {
SCB_EnableDCache();
}
#endif
/* Clear all faults */
_ClearFaults();