soc: same70: Add SWO logger support

This commit configures ETM/TPIU clock upon startup in case SWO logger
backend is enabled on Atmel SAM E70 SoC.

Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
This commit is contained in:
Piotr Mienkowski 2019-01-04 20:14:52 +01:00 committed by Carles Cufí
commit 9f84889779
2 changed files with 17 additions and 0 deletions

View file

@ -15,6 +15,7 @@ config SOC_SERIES_SAME70
select SYS_POWER_LOW_POWER_STATE_SUPPORTED
select CPU_HAS_ARM_MPU
select ARM_MPU
select HAS_SWO
help
Enable support for Atmel SAM E70 ARM Cortex-M7 Microcontrollers.
Part No.: SAME70J19, SAME70J20, SAME70J21, SAME70N19, SAME70N20,

View file

@ -35,6 +35,22 @@ static int atmel_same70_config(struct device *dev)
/* Disable TDI function on PB4 pin, this is controlled by Bus Matrix */
MATRIX->CCFG_SYSIO |= CCFG_SYSIO_SYSIO4;
#ifdef CONFIG_LOG_BACKEND_SWO
/* Disable PCK3 clock used by ETM module */
PMC->PMC_SCDR = PMC_SCDR_PCK3;
while ((PMC->PMC_SCSR) & PMC_SCSR_PCK3) {
;
}
/* Select PLLA clock as PCK3 clock */
PMC->PMC_PCK[3] = PMC_MCKR_CSS_PLLA_CLK;
/* Enable PCK3 clock */
PMC->PMC_SCER = PMC_SCER_PCK3;
/* Wait for PCK3 setup to complete */
while (!((PMC->PMC_SR) & PMC_SR_PCKRDY3)) {
;
}
#endif
return 0;
}