From ab70c1ce33e569d84b945a8ffa4175442546d4f0 Mon Sep 17 00:00:00 2001 From: Spruce Date: Mon, 28 Sep 2020 08:41:32 +0200 Subject: [PATCH] Add 20Mhz support by overwriting MCLKCTRLB default register value 0x11 by 0 (#295) --- .../Demo/AVR_ATMega4809_Atmel_Studio/RTOSDemo/clk_config.h | 5 ++++- FreeRTOS/Demo/AVR_ATMega4809_IAR/clk_config.h | 5 ++++- FreeRTOS/Demo/AVR_ATMega4809_MPLAB.X/clk_config.h | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/FreeRTOS/Demo/AVR_ATMega4809_Atmel_Studio/RTOSDemo/clk_config.h b/FreeRTOS/Demo/AVR_ATMega4809_Atmel_Studio/RTOSDemo/clk_config.h index c2e63516b9..508ee70d0c 100644 --- a/FreeRTOS/Demo/AVR_ATMega4809_Atmel_Studio/RTOSDemo/clk_config.h +++ b/FreeRTOS/Demo/AVR_ATMega4809_Atmel_Studio/RTOSDemo/clk_config.h @@ -6,7 +6,10 @@ #if ( configCPU_CLOCK_HZ == 20000000 ) - #define CLK_init() _PROTECTED_WRITE(CLKCTRL.MCLKCTRLA, CLKCTRL_CLKSEL_OSC20M_gc); + #define CLK_init() { \ + _PROTECTED_WRITE(CLKCTRL.MCLKCTRLA, CLKCTRL_CLKSEL_OSC20M_gc); \ + _PROTECTED_WRITE(CLKCTRL.MCLKCTRLB, 0); \ + } #elif ( configCPU_CLOCK_HZ == 10000000 ) diff --git a/FreeRTOS/Demo/AVR_ATMega4809_IAR/clk_config.h b/FreeRTOS/Demo/AVR_ATMega4809_IAR/clk_config.h index 510efa3425..a5e7975e17 100644 --- a/FreeRTOS/Demo/AVR_ATMega4809_IAR/clk_config.h +++ b/FreeRTOS/Demo/AVR_ATMega4809_IAR/clk_config.h @@ -6,7 +6,10 @@ #if ( configCPU_CLOCK_HZ == 20000000 ) - #define CLK_init() ccp_write_io((void *)&(CLKCTRL.MCLKCTRLA), CLKCTRL_CLKSEL_OSC20M_gc); + #define CLK_init() { \ + _PROTECTED_WRITE(CLKCTRL.MCLKCTRLA, CLKCTRL_CLKSEL_OSC20M_gc); \ + _PROTECTED_WRITE(CLKCTRL.MCLKCTRLB, 0); \ + } #elif ( configCPU_CLOCK_HZ == 10000000 ) diff --git a/FreeRTOS/Demo/AVR_ATMega4809_MPLAB.X/clk_config.h b/FreeRTOS/Demo/AVR_ATMega4809_MPLAB.X/clk_config.h index c2e63516b9..508ee70d0c 100644 --- a/FreeRTOS/Demo/AVR_ATMega4809_MPLAB.X/clk_config.h +++ b/FreeRTOS/Demo/AVR_ATMega4809_MPLAB.X/clk_config.h @@ -6,7 +6,10 @@ #if ( configCPU_CLOCK_HZ == 20000000 ) - #define CLK_init() _PROTECTED_WRITE(CLKCTRL.MCLKCTRLA, CLKCTRL_CLKSEL_OSC20M_gc); + #define CLK_init() { \ + _PROTECTED_WRITE(CLKCTRL.MCLKCTRLA, CLKCTRL_CLKSEL_OSC20M_gc); \ + _PROTECTED_WRITE(CLKCTRL.MCLKCTRLB, 0); \ + } #elif ( configCPU_CLOCK_HZ == 10000000 )