From 6a8efe1d7c5984a49106b5d18b96d11e476d6690 Mon Sep 17 00:00:00 2001 From: Matthew McClintock Date: Wed, 4 Dec 2024 13:46:44 -0600 Subject: [PATCH 01/13] fix(Other): Fix typo with `#include ` in Zephyr wrapper (#1276) Signed-off-by: Matthew McClintock --- Libraries/zephyr/MAX/Include/wrap_max32xxx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries/zephyr/MAX/Include/wrap_max32xxx.h b/Libraries/zephyr/MAX/Include/wrap_max32xxx.h index a8baaea0ea..34522e12d2 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32xxx.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32xxx.h @@ -36,7 +36,7 @@ extern "C" { #elif defined(CONFIG_SOC_MAX32655) #include #elif defined(CONFIG_SOC_MAX32660) -#include +#include #elif defined(CONFIG_SOC_MAX32662) #include #elif defined(CONFIG_SOC_MAX32665) From ff1b44116d0a91007093f7f3f224435cf7a169a6 Mon Sep 17 00:00:00 2001 From: Omercan Kilic <134288264+kilicomercan@users.noreply.github.com> Date: Thu, 5 Dec 2024 00:15:35 +0300 Subject: [PATCH 02/13] fix(Examples,PeriphDrivers): Fix LPUART clock source settings for MAX78000 (#1284) --- Examples/MAX78000/UART/main.c | 7 ++++++- Libraries/PeriphDrivers/Source/UART/uart_ai85.c | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Examples/MAX78000/UART/main.c b/Examples/MAX78000/UART/main.c index 1250a042d0..b46e4a4628 100644 --- a/Examples/MAX78000/UART/main.c +++ b/Examples/MAX78000/UART/main.c @@ -102,8 +102,13 @@ int main(void) printf("-->Example Failed\n"); return error; } - +#if defined(BOARD_EVKIT_V1) if ((error = MXC_UART_Init(WRITING_UART, UART_BAUD, MXC_UART_APB_CLK)) != E_NO_ERROR) { +#elif defined(BOARD_FTHR_REVA) + // We define UART3(LPUART) as WRITING_UART for FTHR Board. + // LPUART can use IBRO and ERTCO clocks. + if ((error = MXC_UART_Init(WRITING_UART, UART_BAUD, MXC_UART_IBRO_CLK)) != E_NO_ERROR) { +#endif printf("-->Error initializing UART: %d\n", error); printf("-->Example Failed\n"); return error; diff --git a/Libraries/PeriphDrivers/Source/UART/uart_ai85.c b/Libraries/PeriphDrivers/Source/UART/uart_ai85.c index 11ca956784..ead00fc63b 100644 --- a/Libraries/PeriphDrivers/Source/UART/uart_ai85.c +++ b/Libraries/PeriphDrivers/Source/UART/uart_ai85.c @@ -273,14 +273,14 @@ int MXC_UART_SetClockSource(mxc_uart_regs_t *uart, mxc_uart_clock_t clock) #ifndef MSDK_NO_GPIO_CLK_INIT retval = MXC_SYS_ClockSourceEnable(MXC_SYS_CLOCK_IBRO); #endif // MSDK_NO_GPIO_CLK_INIT - clock_option = 2; + clock_option = 0; break; case MXC_UART_ERTCO_CLK: #ifndef MSDK_NO_GPIO_CLK_INIT retval = MXC_SYS_ClockSourceEnable(MXC_SYS_CLOCK_ERTCO); #endif // MSDK_NO_GPIO_CLK_INIT - clock_option = 3; + clock_option = 1; break; default: @@ -316,9 +316,9 @@ mxc_uart_clock_t MXC_UART_GetClockSource(mxc_uart_regs_t *uart) break; case 3: switch (clock_option) { - case 2: + case 0: return MXC_UART_IBRO_CLK; - case 3: + case 1: return MXC_UART_ERTCO_CLK; default: return E_BAD_STATE; From 71e3c13aeef8b3b4f11e1315d4aa904ff82fdc24 Mon Sep 17 00:00:00 2001 From: Matthew McClintock Date: Fri, 6 Dec 2024 11:51:40 -0600 Subject: [PATCH 03/13] style(Other): Update conditional compilation directives for `CONFIG_SOC_*` definitions in Zephyr wrapper (#1278) Signed-off-by: Matthew McClintock --- Libraries/zephyr/MAX/Include/wrap_max32_adc.h | 8 ++++---- Libraries/zephyr/MAX/Include/wrap_max32_dma.h | 16 ++++++++-------- Libraries/zephyr/MAX/Include/wrap_max32_i2c.h | 9 +++++---- Libraries/zephyr/MAX/Include/wrap_max32_lp.h | 9 +++++---- Libraries/zephyr/MAX/Include/wrap_max32_owm.h | 6 +++--- Libraries/zephyr/MAX/Include/wrap_max32_spi.h | 11 ++++++----- Libraries/zephyr/MAX/Include/wrap_max32_sys.h | 13 +++++++------ Libraries/zephyr/MAX/Include/wrap_max32_tmr.h | 17 +++++++++-------- Libraries/zephyr/MAX/Include/wrap_max32_trng.h | 9 +++++---- Libraries/zephyr/MAX/Include/wrap_max32_uart.h | 15 ++++++++------- Libraries/zephyr/MAX/Include/wrap_max32_wdt.h | 11 ++++++----- 11 files changed, 66 insertions(+), 58 deletions(-) diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_adc.h b/Libraries/zephyr/MAX/Include/wrap_max32_adc.h index acd90ab080..e8765d26ed 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_adc.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_adc.h @@ -53,8 +53,8 @@ typedef enum { /* * MAX32655, MAX32665, MAX32666 related mapping */ -#if defined(CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) || \ - (CONFIG_SOC_MAX32680) +#if defined(CONFIG_SOC_MAX32655) || defined(CONFIG_SOC_MAX32665) || \ + defined(CONFIG_SOC_MAX32666) || defined(CONFIG_SOC_MAX32680) #define WRAP_MXC_F_ADC_CONV_DONE_IE MXC_F_ADC_INTR_DONE_IE #define WRAP_MXC_F_ADC_CONV_DONE_IF MXC_F_ADC_INTR_DONE_IF @@ -153,8 +153,8 @@ static inline void Wrap_MXC_ADC_GetData(uint16_t **outdata) /* * MAX32690, related mapping */ -#elif defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || \ - (CONFIG_SOC_MAX78002) +#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32672) || \ + defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX78002) #define WRAP_MXC_F_ADC_CONV_DONE_IE MXC_F_ADC_INTEN_SEQ_DONE #define WRAP_MXC_F_ADC_CONV_DONE_IF MXC_F_ADC_INTFL_SEQ_DONE diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_dma.h b/Libraries/zephyr/MAX/Include/wrap_max32_dma.h index fe228dc3d9..5690cedc9b 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_dma.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_dma.h @@ -26,7 +26,7 @@ extern "C" { #endif -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) #define ADI_MAX32_DMA_CTRL_DIS_IE MXC_F_DMA_CFG_CHDIEN #define ADI_MAX32_DMA_CTRL_CTZIEN MXC_F_DMA_CFG_CTZIEN @@ -50,7 +50,7 @@ extern "C" { static inline int MXC_DMA_GetIntFlags(mxc_dma_regs_t *dma) { -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) return dma->intr; #else return dma->intfl; @@ -59,7 +59,7 @@ static inline int MXC_DMA_GetIntFlags(mxc_dma_regs_t *dma) static inline int Wrap_MXC_DMA_Init(mxc_dma_regs_t *dma) { -#if defined(CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) return MXC_DMA_Init(dma); #else (void)dma; @@ -69,7 +69,7 @@ static inline int Wrap_MXC_DMA_Init(mxc_dma_regs_t *dma) static inline void Wrap_MXC_DMA_DeInit(mxc_dma_regs_t *dma) { -#if defined(CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) MXC_DMA_DeInit(dma); #else (void)dma; @@ -79,7 +79,7 @@ static inline void Wrap_MXC_DMA_DeInit(mxc_dma_regs_t *dma) static inline int Wrap_MXC_DMA_AcquireChannel(mxc_dma_regs_t *dma) { -#if defined(CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) return MXC_DMA_AcquireChannel(dma); #else (void)dma; @@ -89,7 +89,7 @@ static inline int Wrap_MXC_DMA_AcquireChannel(mxc_dma_regs_t *dma) static inline void Wrap_MXC_DMA_Handler(mxc_dma_regs_t *dma) { -#if defined(CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) MXC_DMA_Handler(dma); #else (void)dma; @@ -100,7 +100,7 @@ static inline void Wrap_MXC_DMA_Handler(mxc_dma_regs_t *dma) static inline int Wrap_MXC_DMA_MemCpy(mxc_dma_regs_t *dma, void *dest, void *src, int len, mxc_dma_complete_cb_t callback) { -#if defined(CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) return MXC_DMA_MemCpy(dma, dest, src, len, callback); #else (void)dma; @@ -112,7 +112,7 @@ static inline int Wrap_MXC_DMA_DoTransfer(mxc_dma_regs_t *dma, mxc_dma_config_t mxc_dma_srcdst_t firstSrcDst, mxc_dma_trans_chain_t callback) { -#if defined(CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) return MXC_DMA_DoTransfer(dma, config, firstSrcDst, callback); #else (void)dma; diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_i2c.h b/Libraries/zephyr/MAX/Include/wrap_max32_i2c.h index b3a2310848..f6d56d4c39 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_i2c.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_i2c.h @@ -29,7 +29,7 @@ extern "C" { /* * MAX32665, MAX32666 related mapping */ -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) /* * Control register bits @@ -128,9 +128,10 @@ static inline void Wrap_MXC_I2C_Stop(mxc_i2c_regs_t *i2c) /* * MAX32690, MAX32655 related mapping */ -#elif defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32670) || \ - (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32675) || \ - (CONFIG_SOC_MAX32680) || (CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX78002) +#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ + defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || \ + defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32675) || \ + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX78002) /* * Control register bits */ diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_lp.h b/Libraries/zephyr/MAX/Include/wrap_max32_lp.h index 2f3281f31e..98b73d8e2d 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_lp.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_lp.h @@ -29,8 +29,9 @@ extern "C" { /* * MAX32665, MAX32666 related mapping */ -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) || (CONFIG_SOC_MAX32670) || \ - (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32675) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) || \ + defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || \ + defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32675) static inline void Wrap_MXC_LP_EnterLowPowerMode(void) { @@ -55,8 +56,8 @@ static inline void Wrap_MXC_LP_EnterPowerDownMode(void) /* * MAX32690, MAX32655 related mapping */ -#elif defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32680) || \ - (CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX78002) +#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX78002) static inline void Wrap_MXC_LP_EnterLowPowerMode(void) { diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_owm.h b/Libraries/zephyr/MAX/Include/wrap_max32_owm.h index 21d5528e44..fdcae50d04 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_owm.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_owm.h @@ -29,7 +29,7 @@ extern "C" { /* * MAX32665, MAX32666 related mapping */ -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) static inline int Wrap_MXC_OWM_Init(const mxc_owm_cfg_t *cfg) { @@ -40,8 +40,8 @@ static inline int Wrap_MXC_OWM_Init(const mxc_owm_cfg_t *cfg) /* * MAX32690, MAX32655 related mapping */ -#elif defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32680) || \ - (CONFIG_SOC_MAX78002) +#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX78002) static inline int Wrap_MXC_OWM_Init(const mxc_owm_cfg_t *cfg) { diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_spi.h b/Libraries/zephyr/MAX/Include/wrap_max32_spi.h index bf2acbc9d1..ed3c81f064 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_spi.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_spi.h @@ -29,7 +29,7 @@ extern "C" { /* * MAX32665, MAX32666 related mapping */ -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) #define ADI_MAX32_SPI_CTRL_MASTER_MODE MXC_F_SPI_CTRL0_MASTER @@ -73,9 +73,10 @@ static inline int Wrap_MXC_SPI_Init(mxc_spi_regs_t *spi, int masterMode, int qua /* * MAX32690, MAX32655 related mapping */ -#elif defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32670) || \ - (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32675) || \ - (CONFIG_SOC_MAX32680) || (CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX78002) +#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ + defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || \ + defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32675) || \ + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX78002) #if defined(CONFIG_SOC_MAX32657) #define ADI_MAX32_SPI_CTRL_MASTER_MODE MXC_F_SPI_CTRL0_CONT_MODE #else @@ -128,7 +129,7 @@ static inline int Wrap_MXC_SPI_Init(mxc_spi_regs_t *spi, int masterMode, int qua static inline int Wrap_MXC_SPI_Init(mxc_spi_regs_t *spi, int masterMode, int quadModeUsed, int numSlaves, unsigned ssPolarity, unsigned int hz) { -#if defined(CONFIG_SOC_MAX32670) || (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32675) +#if defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || defined(CONFIG_SOC_MAX32675) return MXC_SPI_Init(spi, masterMode, quadModeUsed, numSlaves, ssPolarity, hz); #else mxc_spi_pins_t tmp; // not used diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_sys.h b/Libraries/zephyr/MAX/Include/wrap_max32_sys.h index a1d3d14b9c..79efddebc7 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_sys.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_sys.h @@ -34,7 +34,7 @@ void max32xx_system_init(void); /* * MAX32665, MAX32666 related mapping */ -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) #define ADI_MAX32_CLK_IPO MXC_SYS_CLOCK_HIRC96 #define ADI_MAX32_CLK_ERFO MXC_SYS_CLOCK_XTAL32M @@ -54,9 +54,10 @@ static inline void Wrap_MXC_SYS_SetClockDiv(int div) /* * MAX32690, MAX32655 related mapping */ -#elif defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32670) || \ - (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32675) || \ - (CONFIG_SOC_MAX32680) || (CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX78002) +#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ + defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || \ + defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32675) || \ + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX78002) #define ADI_MAX32_CLK_IPO MXC_SYS_CLOCK_IPO #if defined(CONFIG_SOC_MAX78002) @@ -69,8 +70,8 @@ static inline void Wrap_MXC_SYS_SetClockDiv(int div) #define ADI_MAX32_CLK_INRO MXC_SYS_CLOCK_INRO #define ADI_MAX32_CLK_ERTCO MXC_SYS_CLOCK_ERTCO #define ADI_MAX32_CLK_EXTCLK MXC_SYS_CLOCK_EXTCLK -#if !(defined(CONFIG_SOC_MAX32670) || (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || \ - (CONFIG_SOC_MAX32675)) +#if !(defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || \ + defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32675)) #define ADI_MAX32_CLK_ISO MXC_SYS_CLOCK_ISO #endif diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_tmr.h b/Libraries/zephyr/MAX/Include/wrap_max32_tmr.h index 310e90edfa..884aa2bf90 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_tmr.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_tmr.h @@ -39,7 +39,7 @@ typedef struct { /* * MAX32665, MAX32666 related mapping */ -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) /* All timers are 32bits */ #define WRAP_MXC_IS_32B_TIMER(idx) (1) @@ -101,12 +101,13 @@ int Wrap_MXC_TMR_GetPendingInt(mxc_tmr_regs_t *tmr) /* * MAX32690, MAX32655 related mapping */ -#elif defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32670) || \ - (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32675) || \ - (CONFIG_SOC_MAX32680) || (CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX78002) +#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ + defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || \ + defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32675) || \ + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX78002) -#if defined(CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32675) || (CONFIG_SOC_MAX32657) || \ - (CONFIG_SOC_MAX32670) +#if defined(CONFIG_SOC_MAX32672) || defined(CONFIG_SOC_MAX32675) || \ + defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX32670) /* All timers are 32bits */ #define WRAP_MXC_IS_32B_TIMER(idx) (1) #elif defined(CONFIG_SOC_MAX32662) @@ -151,8 +152,8 @@ static inline int Wrap_MXC_TMR_GetClockIndex(int z_clock) return MXC_TMR_32K_CLK; case 5: //ADI_MAX32_PRPH_CLK_SRC_INRO return MXC_TMR_INRO_CLK; -#if defined(CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32680) || (CONFIG_SOC_MAX32690) || \ - (CONFIG_SOC_MAX78002) +#if defined(CONFIG_SOC_MAX32655) || defined(CONFIG_SOC_MAX32680) || \ + defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX78002) case 6: //ADI_MAX32_PRPH_CLK_SRC_ISO return MXC_TMR_ISO_CLK; #endif diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_trng.h b/Libraries/zephyr/MAX/Include/wrap_max32_trng.h index b9f3a72e3a..794c6faaee 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_trng.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_trng.h @@ -29,7 +29,7 @@ extern "C" { /* * MAX32665, MAX32666 related mapping */ -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) static inline int Wrap_MXC_TRNG_RandomInt_NonBlocking(uint32_t *data) { @@ -44,9 +44,10 @@ static inline int Wrap_MXC_TRNG_RandomInt_NonBlocking(uint32_t *data) /* * MAX32690, MAX32655 related mapping */ -#elif defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32670) || \ - (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32675) || \ - (CONFIG_SOC_MAX32680) || (CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX78002) +#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ + defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || \ + defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32675) || \ + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX78002) static inline int Wrap_MXC_TRNG_RandomInt_NonBlocking(uint32_t *data) { diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_uart.h b/Libraries/zephyr/MAX/Include/wrap_max32_uart.h index 713ec47a16..08b3abf8ac 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_uart.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_uart.h @@ -26,7 +26,7 @@ extern "C" { #endif -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) // status flags #define ADI_MAX32_UART_RX_EMPTY MXC_F_UART_STATUS_RX_EMPTY #define ADI_MAX32_UART_TX_EMPTY MXC_F_UART_STATUS_TX_EMPTY @@ -117,14 +117,15 @@ static inline void Wrap_MXC_UART_DisableRxDMA(mxc_uart_regs_t *uart) /* * MAX32690, MAX32655 related mapping */ -#elif defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32670) || \ - (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32675) || \ - (CONFIG_SOC_MAX32680) || (CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX78002) +#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ + defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || \ + defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32675) || \ + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX78002) // status flags #define ADI_MAX32_UART_RX_EMPTY MXC_F_UART_STATUS_RX_EM #define ADI_MAX32_UART_TX_EMPTY MXC_F_UART_STATUS_TX_EM -#if defined(CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32657) +#if defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32657) // error flags #define ADI_MAX32_UART_ERROR_OVERRUN MXC_F_UART_INTFL_RX_OV #define ADI_MAX32_UART_ERROR_PARITY MXC_F_UART_INTFL_RX_PAR @@ -215,11 +216,11 @@ static inline void Wrap_MXC_UART_DisableRxDMA(mxc_uart_regs_t *uart) uart->dma &= ~MXC_F_UART_DMA_RX_EN; } -#endif // defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32655) +#endif // defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) static inline unsigned int Wrap_MXC_UART_GetRegINTEN(mxc_uart_regs_t *uart) { -#if defined(CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32657) +#if defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32657) return uart->inten; #else return uart->int_en; diff --git a/Libraries/zephyr/MAX/Include/wrap_max32_wdt.h b/Libraries/zephyr/MAX/Include/wrap_max32_wdt.h index 07823afffa..7c0f8f863e 100644 --- a/Libraries/zephyr/MAX/Include/wrap_max32_wdt.h +++ b/Libraries/zephyr/MAX/Include/wrap_max32_wdt.h @@ -37,7 +37,7 @@ typedef struct { /* * MAX32665, MAX32666 related mapping */ -#if defined(CONFIG_SOC_MAX32665) || (CONFIG_SOC_MAX32666) +#if defined(CONFIG_SOC_MAX32665) || defined(CONFIG_SOC_MAX32666) #define WRAP_MXC_F_WDT_CTRL_EN MXC_F_WDT_CTRL_WDT_EN @@ -83,9 +83,10 @@ static inline int Wrap_MXC_WDT_SelectClockSource(mxc_wdt_regs_t *wdt, uint32_t c /* * MAX32690, MAX32655 related mapping */ -#elif defined(CONFIG_SOC_MAX32690) || (CONFIG_SOC_MAX32655) || (CONFIG_SOC_MAX32670) || \ - (CONFIG_SOC_MAX32672) || (CONFIG_SOC_MAX32662) || (CONFIG_SOC_MAX32675) || \ - (CONFIG_SOC_MAX32680) || (CONFIG_SOC_MAX32657) || (CONFIG_SOC_MAX78002) +#elif defined(CONFIG_SOC_MAX32690) || defined(CONFIG_SOC_MAX32655) || \ + defined(CONFIG_SOC_MAX32670) || defined(CONFIG_SOC_MAX32672) || \ + defined(CONFIG_SOC_MAX32662) || defined(CONFIG_SOC_MAX32675) || \ + defined(CONFIG_SOC_MAX32680) || defined(CONFIG_SOC_MAX32657) || defined(CONFIG_SOC_MAX78002) #define WRAP_MXC_F_WDT_CTRL_EN MXC_F_WDT_CTRL_EN @@ -138,7 +139,7 @@ static inline int Wrap_MXC_WDT_SelectClockSource(mxc_wdt_regs_t *wdt, uint32_t c clk_src = MXC_WDT_INRO_CLK; #endif break; -#if !(defined(CONFIG_SOC_MAX32675) || (CONFIG_SOC_MAX32680)) +#if !(defined(CONFIG_SOC_MAX32675) || defined(CONFIG_SOC_MAX32680)) case 4: // ADI_MAX32_PRPH_CLK_SRC_ERTCO clk_src = MXC_WDT_ERTCO_CLK; break; From ae0b07b345d1ad7e14bc3f17cfa723a85bd9290c Mon Sep 17 00:00:00 2001 From: Cristian Cruz <71054319+crsz20@users.noreply.github.com> Date: Mon, 9 Dec 2024 14:20:04 -0600 Subject: [PATCH 04/13] fix(BLE): Re-implement UART with DMA on MAX32690 (#1280) Co-authored-by: EricB-ADI <122300463+EricB-ADI@users.noreply.github.com> Co-authored-by: crsz20 --- .../CMSIS/Device/Maxim/GCC/mxc_version.mk | 2 +- .../targets/maxim/max32690/sources/pal_sys.c | 71 +++++ .../targets/maxim/max32690/sources/pal_uart.c | 285 +++++++++++------- 3 files changed, 240 insertions(+), 118 deletions(-) diff --git a/Libraries/CMSIS/Device/Maxim/GCC/mxc_version.mk b/Libraries/CMSIS/Device/Maxim/GCC/mxc_version.mk index cde4ab47d1..bd0ef8389c 100644 --- a/Libraries/CMSIS/Device/Maxim/GCC/mxc_version.mk +++ b/Libraries/CMSIS/Device/Maxim/GCC/mxc_version.mk @@ -16,7 +16,7 @@ # ############################################################################## # Autogenerated version info for build system. -MSDK_VERSION_STRING := v2023_10-307-gf557dbf1716 +MSDK_VERSION_STRING := v2023_10-333-ga03f3f8b2f8 MSDK_VERSION_YEAR := 2023 MSDK_VERSION_MONTH := 10 diff --git a/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_sys.c b/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_sys.c index 870544c17a..54be4451b8 100644 --- a/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_sys.c +++ b/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_sys.c @@ -52,6 +52,7 @@ #include "wut.h" #include "uart.h" #include "sema.h" +#include "dma.h" /************************************************************************************************** Macros @@ -102,6 +103,76 @@ void PalExitCs(void) __enable_irq(); } +/*************************************************************************************************/ +/*! + * \brief DMA interrupt handlers. + */ +/*************************************************************************************************/ +void DMA0_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 0 is associated with DMA instance 0 */ +} +void DMA1_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 1 is associated with DMA instance 0 */ +} +void DMA2_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 2 is associated with DMA instance 0 */ +} +void DMA3_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 3 is associated with DMA instance 0 */ +} +void DMA4_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 4 is associated with DMA instance 0 */ +} +void DMA5_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 5 is associated with DMA instance 0 */ +} +void DMA6_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 6 is associated with DMA instance 0 */ +} +void DMA7_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 7 is associated with DMA instance 0 */ +} +void DMA8_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 8 is associated with DMA instance 0 */ +} +void DMA9_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 9 is associated with DMA instance 0 */ +} +void DMA10_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 10 is associated with DMA instance 0 */ +} +void DMA11_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 11 is associated with DMA instance 0 */ +} +void DMA12_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 12 is associated with DMA instance 0 */ +} +void DMA13_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 13 is associated with DMA instance 0 */ +} +void DMA14_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 14 is associated with DMA instance 0 */ +} +void DMA15_IRQHandler(void) +{ + MXC_DMA_Handler(); /* DMA channel 15 is associated with DMA instance 0 */ +} + /*************************************************************************************************/ /*! * \brief Common platform initialization. diff --git a/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_uart.c b/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_uart.c index 51f5af827a..aab5bec3b2 100644 --- a/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_uart.c +++ b/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_uart.c @@ -38,8 +38,13 @@ #include "board.h" #include "uart.h" +#include "dma.h" #include "sema.h" +#include "uart_revb.h" + +#include "wsf_cs.h" + #include /************************************************************************************************** @@ -65,71 +70,12 @@ /*! \brief Control block. */ static struct { PalUartState_t state; - mxc_uart_req_t readReq; - mxc_uart_req_t writeReq; PalUartCompCback_t rdCback; PalUartCompCback_t wrCback; + int writeCh; + int readCh; } palUartCb[PAL_UARTS]; -/************************************************************************************************** - Local Functions -**************************************************************************************************/ - -/*************************************************************************************************/ -/*! - * \brief UART Interrupt handlers. - * - * \return None. - */ -/*************************************************************************************************/ -void UART_CommonHandler(mxc_uart_regs_t *uart) -{ - const int32_t err = MXC_UART_AsyncHandler(uart); - - if(err == E_INVALID) - { - const uint8_t uartIdx = MXC_UART_GET_IDX(uart); - - if( uartIdx == CONSOLE_UART || uartIdx == HCI_UART) - { - MXC_UART_ClearRXFIFO(uart); - } - else - { - PAL_SYS_ASSERT(err == E_NO_ERROR); - } - } - -} -void UART0_IRQHandler(void) -{ - - PalLedOn(PAL_LED_ID_CPU_ACTIVE); - UART_CommonHandler(MXC_UART0); - -} -void UART1_IRQHandler(void) -{ - - PalLedOn(PAL_LED_ID_CPU_ACTIVE); - UART_CommonHandler(MXC_UART1); - -} -void UART2_IRQHandler(void) -{ - - PalLedOn(PAL_LED_ID_CPU_ACTIVE); - UART_CommonHandler(MXC_UART2); - -} -void UART3_IRQHandler(void) -{ - - PalLedOn(PAL_LED_ID_CPU_ACTIVE); - UART_CommonHandler(MXC_UART3); - -} - /*************************************************************************************************/ /*! * \brief Inter-processor communication interrupt handlers. @@ -172,23 +118,30 @@ void RISCV_IRQHandler(void) * \return None. */ /*************************************************************************************************/ -void palUartCallback(mxc_uart_req_t* req, int error) +void palUartCallback(int ch, int error) { int i; for(i = 0; i < PAL_UARTS; i++) { /* Find the corresponding rqeuest and call the callback */ - if(req == &palUartCb[i].readReq) { + + if((ch == palUartCb[i].readCh) && (palUartCb[i].state != PAL_UART_STATE_UNINIT)) { + palUartCb[i].readCh = -1; if(palUartCb[i].rdCback != NULL) { palUartCb[i].rdCback(); } + + MXC_DMA_ReleaseChannel(ch); return; } - if(req == &palUartCb[i].writeReq) { + if((ch == palUartCb[i].writeCh) && (palUartCb[i].state != PAL_UART_STATE_UNINIT)) { + palUartCb[i].writeCh = -1; palUartCb[i].state = PAL_UART_STATE_READY; if(palUartCb[i].wrCback != NULL) { palUartCb[i].wrCback(); } + + MXC_DMA_ReleaseChannel(ch); return; } } @@ -283,8 +236,8 @@ static void PalMailInit(const PalUartConfig_t *pCfg) /*************************************************************************************************/ void PalUartInit(PalUartId_t id, const PalUartConfig_t *pCfg) { - uint8_t uartNum; - int result; + uint8_t uartNum = palUartGetNum(id); + mxc_uart_regs_t *uart = MXC_UART_GET_UART(uartNum); #if defined(HCI_TR_MAIL) && (HCI_TR_MAIL != 0) if(id == PAL_UART_ID_CHCI) { @@ -293,30 +246,50 @@ void PalUartInit(PalUartId_t id, const PalUartConfig_t *pCfg) } #endif - uartNum = palUartGetNum(id); - PAL_SYS_ASSERT(palUartCb[uartNum].state == PAL_UART_STATE_UNINIT); /* Save the callback */ palUartCb[uartNum].rdCback = pCfg->rdCback; palUartCb[uartNum].wrCback = pCfg->wrCback; + palUartCb[uartNum].readCh = -1; + palUartCb[uartNum].writeCh = -1; + - result = MXC_UART_Init(MXC_UART_GET_UART(uartNum), pCfg->baud, MXC_UART_IBRO_CLK); - + int result = MXC_UART_Init(uart, pCfg->baud, MXC_UART_IBRO_CLK); (void)result; PAL_SYS_ASSERT(result == 0); - MXC_UART_SetDataSize(MXC_UART_GET_UART(uartNum), 8); - MXC_UART_SetStopBits(MXC_UART_GET_UART(uartNum), MXC_UART_STOP_1); - MXC_UART_SetParity(MXC_UART_GET_UART(uartNum), MXC_UART_PARITY_DISABLE); + /* Disable UART interrupts */ + MXC_UART_DisableInt(uart, 0xFFFFFFFF); + MXC_UART_ClearFlags(uart, 0xFFFFFFFF); + + MXC_UART_SetDataSize(uart, 8); + MXC_UART_SetStopBits(uart, MXC_UART_STOP_1); + MXC_UART_SetParity(uart, MXC_UART_PARITY_DISABLE); if(pCfg->hwFlow) { - MXC_UART_SetFlowCtrl(MXC_UART_GET_UART(uartNum), MXC_UART_FLOW_EN, 1); + MXC_UART_SetFlowCtrl(uart, MXC_UART_FLOW_EN, 1); } - const IRQn_Type uartIrqn = MXC_UART_GET_IRQ(uartNum); - NVIC_ClearPendingIRQ(uartIrqn); - NVIC_EnableIRQ(uartIrqn); - + MXC_DMA_Init(); + + /* Enable the DMA channel interrupts */ + NVIC_EnableIRQ(DMA0_IRQn); + NVIC_EnableIRQ(DMA1_IRQn); + NVIC_EnableIRQ(DMA2_IRQn); + NVIC_EnableIRQ(DMA3_IRQn); + NVIC_EnableIRQ(DMA4_IRQn); + NVIC_EnableIRQ(DMA5_IRQn); + NVIC_EnableIRQ(DMA6_IRQn); + NVIC_EnableIRQ(DMA7_IRQn); + NVIC_EnableIRQ(DMA8_IRQn); + NVIC_EnableIRQ(DMA9_IRQn); + NVIC_EnableIRQ(DMA10_IRQn); + NVIC_EnableIRQ(DMA11_IRQn); + NVIC_EnableIRQ(DMA12_IRQn); + NVIC_EnableIRQ(DMA13_IRQn); + NVIC_EnableIRQ(DMA14_IRQn); + NVIC_EnableIRQ(DMA15_IRQn); + palUartCb[uartNum].state = PAL_UART_STATE_READY; } @@ -334,13 +307,13 @@ void PalUartInit(PalUartId_t id, const PalUartConfig_t *pCfg) void PalUartDeInit(PalUartId_t id) { uint8_t uartNum = palUartGetNum(id); - int result; - result = MXC_UART_Shutdown(MXC_UART_GET_UART(uartNum)); + int result = MXC_UART_Shutdown(MXC_UART_GET_UART(uartNum)); (void)result; PAL_SYS_ASSERT(result); NVIC_DisableIRQ(MXC_UART_GET_IRQ(uartNum)); + MXC_DMA_DeInit(); palUartCb[uartNum].state = PAL_UART_STATE_UNINIT; } @@ -378,9 +351,8 @@ PalUartState_t PalUartGetState(PalUartId_t id) /*************************************************************************************************/ void PalUartReadData(PalUartId_t id, uint8_t *pData, uint16_t len) { - uint8_t uartNum; - uint32_t irqn; - int result; + uint8_t uartNum = palUartGetNum(id); + mxc_uart_regs_t* uart = MXC_UART_GET_UART(uartNum); #if defined(HCI_TR_MAIL) && (HCI_TR_MAIL != 0) if(id == PAL_UART_ID_CHCI) { @@ -389,26 +361,69 @@ void PalUartReadData(PalUartId_t id, uint8_t *pData, uint16_t len) } #endif - uartNum = palUartGetNum(id); - irqn = MXC_UART_GET_IRQ(uartNum); - - palUartCb[uartNum].readReq.uart = MXC_UART_GET_UART(uartNum); - palUartCb[uartNum].readReq.rxData = pData; - palUartCb[uartNum].readReq.rxLen = len; - palUartCb[uartNum].readReq.txLen = 0; - palUartCb[uartNum].readReq.callback = palUartCallback; + WsfCsEnter(); + int dmaCh = MXC_DMA_AcquireChannel(); + WsfCsExit(); + + /* Save the channel number */ + palUartCb[uartNum].readCh = dmaCh; + + /* Setup the DMA transfer */ + mxc_dma_config_t config = { + .ch = dmaCh, + .srcwd = MXC_DMA_WIDTH_BYTE, + .dstwd = MXC_DMA_WIDTH_BYTE, + .srcinc_en = 0, + .dstinc_en = 1 + }; + + mxc_dma_srcdst_t srcdst = { + .ch = dmaCh, + .dest = (void*)pData, + .len = len + }; + + switch (uartNum) { + case 0: + config.reqsel = MXC_DMA_REQUEST_UART0RX; + break; + + case 1: + config.reqsel = MXC_DMA_REQUEST_UART1RX; + break; + + case 2: + config.reqsel = MXC_DMA_REQUEST_UART2RX; + break; + + case 3: + config.reqsel = MXC_DMA_REQUEST_UART3RX; + break; + + default: + PAL_SYS_ASSERT(0); + return; + } - NVIC_DisableIRQ(irqn); + MXC_DMA_ConfigChannel(config, srcdst); + MXC_DMA_SetCallback(dmaCh, palUartCallback); + + /* Enable Count-to-Zero (CTZ) interrupt */ + MXC_DMA_EnableInt(dmaCh); + MXC_DMA_SetChannelInterruptEn(dmaCh, 0, 1); - /* Start the read */ - result = MXC_UART_TransactionAsync(&palUartCb[uartNum].readReq); - (void)result; - PAL_SYS_ASSERT(result == E_SUCCESS); + /* Set Rx FIFO threshold */ + uart->dma |= 1 << MXC_F_UART_REVB_DMA_RX_THD_VAL_POS; + /* Enable channel receiving */ + uart->dma |= MXC_F_UART_REVB_DMA_RX_EN; - /* Enable the interrupt */ - NVIC_EnableIRQ(irqn); + /* Start the transfer */ + MXC_DMA_Start(dmaCh); } + + + /*************************************************************************************************/ /*! * \brief Write data to Tx FIFO. @@ -424,10 +439,8 @@ void PalUartReadData(PalUartId_t id, uint8_t *pData, uint16_t len) /*************************************************************************************************/ void PalUartWriteData(PalUartId_t id, const uint8_t *pData, uint16_t len) { - uint8_t uartNum; - uint32_t irqn; - int result; - + uint8_t uartNum = palUartGetNum(id); + mxc_uart_regs_t* uart = MXC_UART_GET_UART(uartNum); #if defined(HCI_TR_MAIL) && (HCI_TR_MAIL != 0) if(id == PAL_UART_ID_CHCI) { @@ -435,25 +448,63 @@ void PalUartWriteData(PalUartId_t id, const uint8_t *pData, uint16_t len) return; } #endif + + WsfCsEnter(); + int dmaCh = MXC_DMA_AcquireChannel(); + WsfCsExit(); - uartNum = palUartGetNum(id); - irqn = MXC_UART_GET_IRQ(uartNum); + palUartCb[uartNum].writeCh = dmaCh; + palUartCb[uartNum].state = PAL_UART_STATE_BUSY; - NVIC_DisableIRQ(irqn); + /* Setup the DMA transfer */ + mxc_dma_config_t config = { + .ch = dmaCh, + .srcwd = MXC_DMA_WIDTH_BYTE, + .dstwd = MXC_DMA_WIDTH_BYTE, + .srcinc_en = 1, + .dstinc_en = 0 + }; + + mxc_dma_srcdst_t srcdst = { + .ch = dmaCh, + .source = (void*)pData, + .len = len + }; + + switch (uartNum) { + case 0: + config.reqsel = MXC_DMA_REQUEST_UART0TX; + break; + + case 1: + config.reqsel = MXC_DMA_REQUEST_UART1TX; + break; + + case 2: + config.reqsel = MXC_DMA_REQUEST_UART2TX; + break; + + case 3: + config.reqsel = MXC_DMA_REQUEST_UART3TX; + break; + + default: + PAL_SYS_ASSERT(0); + return; + } - palUartCb[uartNum].state = PAL_UART_STATE_BUSY; + MXC_DMA_ConfigChannel(config, srcdst); + MXC_DMA_SetCallback(dmaCh, palUartCallback); - palUartCb[uartNum].writeReq.uart = MXC_UART_GET_UART(uartNum); - palUartCb[uartNum].writeReq.txData = pData; - palUartCb[uartNum].writeReq.txLen = len; - palUartCb[uartNum].writeReq.rxLen = 0; - palUartCb[uartNum].writeReq.callback = palUartCallback; + /* Enable Count-to-Zero (CTZ) interrupt */ + MXC_DMA_EnableInt(dmaCh); + MXC_DMA_SetChannelInterruptEn(dmaCh, 0, 1); - /* Start the write */ - result = MXC_UART_TransactionAsync(&palUartCb[uartNum].writeReq); - (void)result; - PAL_SYS_ASSERT(result == E_SUCCESS); + /* Set Tx FIFO threshold */ + uart->dma |= 2 << MXC_F_UART_REVB_DMA_TX_THD_VAL_POS; + /* Enable channel transmission */ + uart->dma |= MXC_F_UART_REVB_DMA_TX_EN; - /* Enable the interrupt */ - NVIC_EnableIRQ(irqn); + /* Start the transfer */ + MXC_DMA_Start(dmaCh); } From eeb59b53912d2831e115f18a2a0dad9b5e3f21af Mon Sep 17 00:00:00 2001 From: Sihyung Woo <75494566+sihyung-maxim@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:06:54 -0600 Subject: [PATCH 05/13] fix(PeriphDrivers): Update the info block unlock sequence for the MAX32657 (#1288) --- Libraries/PeriphDrivers/Source/FLC/flc_me30.c | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/Libraries/PeriphDrivers/Source/FLC/flc_me30.c b/Libraries/PeriphDrivers/Source/FLC/flc_me30.c index eaacb6b8ee..555a2b4422 100644 --- a/Libraries/PeriphDrivers/Source/FLC/flc_me30.c +++ b/Libraries/PeriphDrivers/Source/FLC/flc_me30.c @@ -183,15 +183,44 @@ int MXC_FLC_MassErase(void) } //****************************************************************************** -__weak int MXC_FLC_UnlockInfoBlock(uint32_t address) +int MXC_FLC_UnlockInfoBlock(uint32_t address) { + /* Flash Controller only accessible in secure world. */ +#if defined(CONFIG_TRUSTED_EXECUTION_SECURE) || (CONFIG_TRUSTED_EXECUTION_SECURE != 0) + if ((address < MXC_INFO_MEM_BASE) || + (address >= (MXC_INFO_MEM_BASE + (MXC_INFO_MEM_SIZE * 2)))) { + return E_BAD_PARAM; + } +#else return E_NOT_SUPPORTED; +#endif + + /* Make sure the info block is locked */ + MXC_FLC->actrl = 0x1234; + + /* Write the unlock sequence */ + MXC_FLC->actrl = 0x55bcbe69; + MXC_FLC->actrl = 0x7688c189; + MXC_FLC->actrl = 0x82306612; + + return E_NO_ERROR; } //****************************************************************************** int MXC_FLC_LockInfoBlock(uint32_t address) { - return MXC_FLC_RevA_LockInfoBlock((mxc_flc_reva_regs_t *)MXC_FLC, address); + /* Flash Controller only accessible in secure world. */ +#if defined(CONFIG_TRUSTED_EXECUTION_SECURE) || (CONFIG_TRUSTED_EXECUTION_SECURE != 0) + if ((address < MXC_INFO_MEM_BASE) || + (address >= (MXC_INFO_MEM_BASE + (MXC_INFO_MEM_SIZE * 2)))) { + return E_BAD_PARAM; + } +#else + return E_NOT_SUPPORTED; +#endif + + MXC_FLC->actrl = 0xDEADBEEF; + return E_NO_ERROR; } //****************************************************************************** From d47fb2f89e188b8340cc490711d2b1cb31aaa378 Mon Sep 17 00:00:00 2001 From: EricB-ADI <122300463+EricB-ADI@users.noreply.github.com> Date: Mon, 16 Dec 2024 09:12:24 -0600 Subject: [PATCH 06/13] fix(BLE): Improved MAX32665 PHY (#1271) --- Libraries/BlePhy/MAX32665/libphy.a | Bin 531176 -> 600448 bytes Libraries/BlePhy/MAX32665/libphy_hard.a | Bin 114324 -> 604674 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Libraries/BlePhy/MAX32665/libphy.a b/Libraries/BlePhy/MAX32665/libphy.a index 012c56a7d88335b1416aa2a668dc975fb0f63cb7..29d3f5c98beba317c0dc3f83a381a91f8b015fc2 100644 GIT binary patch literal 600448 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

Tlvng2#Nf`{ExLRg7wg+p_&HY8266RDJ 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 E56!t2SpWb4 literal 531176 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

e7*6u+jRm*=k_DE=#m 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Ïyx_>O>p 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∈A{W*$|7#R) zQj~A}5x<=@(l-&2o-3s&FW>wFf1&gq#pe~}n}6{CjWp8lCnEjF%5PQtLh)~kA;?lc z_e&%e5OH=RB7I+tAD}o?akyf=;uyuLM4V?6k$!>3%N_vGzf$ST6&n>dDBeuOxs{0Y z_h|eN6n7~;s`#YhQ;NSK;@nF_`rm2%pA_X=f7l`4`UBt$3?p6FqF^DljeLWS2DNa>f zta!EJR>dDE{#;SMHHV%*DE+x&C){#Te?P_1iWeweuDFqic|pGU2HvamPZXafV(k5v zh2T(#a}D_M)7q;-ltIhcZz>f{EOlt#V-{9rpVVAOvn2dVxA&j zV~{>cu~e}_u}ZO4k*_f*&+mJP;}rP{gY?;ovlQnlav=rz7c25L25H_O5wB6aUXhDZ z8NXF=ry^f>FrG`yh%Jg-Wk&k9id<4gnhQ~h`0-RQq{xM3jPI_9`^niIE3NFF6;~;)R$QyNQSm0l&5GL;?^4{Uc)#MqijOP)LUE7cvx<8aUsrrnalhgRM6|=l zime)dSTRXNeSfJa_w70Et5Md!jANviy?9an+t@E4FZZ9|7cdB^W zPbVT>gVIueNdKSuW?epcZu`Zn?fdAo$Jfkg?~(Py@pyRsfBmawJWk59KgSf08W&Q3 zG3Ce+$6rjBcpdB>nR4Xu=z}wY^PkC8K!$1j`Lap9!^^i05q>$+-YaVaWo#2i;Kc2S zj7icp=uEsWv3%%SB1gOa1*czM4l-iAcX;`pi3q>GCB0lZ>OEko7Utd8x`W9#C zTjkToe1bS>$3~pg=N-HTeTDlF@9=mV5aG9PE%eQRVYH9pp1y4edub3fiuv=DS4bc4 zK3^C?qd1CH-BhB7r{iwW{(N6YLvBW6GheFq^4*QFmj*%O+Jf|NNM^Sw#5t-2{D&U{W7$!BhI)M%YV(pz#vsA%4g09Ukuu zMELdP3^t4y;;0WMr1bq6VWvTLa@>I*Tb8k-=s_M&-h=t&B5}hQuQCKrj!Rn^_KxY0 zTjCKwuW9~@u;0E4*jI-*+Q)g-YmaOwL-Cd)N{&6y2hr5wIBxDP^{cX;|bA;K@W1eq3lOz^y5+R_MobokG{IUH79RXr469LB!JH;0Ga zj*|N3aI$fR(P4sFvVPYy$$9bDaBc}7`>jzz%G_e!8R#E+*PifNa-q5BvxpJcwS0_u zr&(=oJ#@g3@7o4^*gEFbq_L;Rr1z4m-=ExSN6hlvmWssgW68rijd`bUYkBx!(Ajw~ z$1(a$ZZ)%}CHpo!I%-?X(Bk`w&py4jW!7JB_&n>7nN{1;ocP(HM8{9|y|TRiC#N=B z2gih$|7`8*oJ;bPUFs%YVjnr&**>y){-vjzhl

_dWSR>-9$2e;jDs(f^jlDXm)z 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 diff --git a/Libraries/BlePhy/MAX32665/libphy_hard.a b/Libraries/BlePhy/MAX32665/libphy_hard.a index 16756f514412a51a4b00dcc61bdcda59c89816cb..d97edfd8fe49e013f88592af342ec2cf30679db6 100644 GIT binary patch literal 604674 zcmdqK31A$>wKm#4n`WeuEcM9yHkMbgwR$(U(Pr5~vMprU*oI_0(u@`?X@(iemVtl? zgpjaYLI@$o1OnM_Rs#v-hL8lZkQK6BLN@+O63B9MO%jNcn;YKuovQBX8Ocfhy!-z9 z-fO#c>YO@t>eQ)IOIP<)E!rH<^bKw;u8rnj_3KyHuiIF+diACt?K6Dt`^VofeE&bW1Bp9~|E>EI7Z`!U`;~7Pfhq2yg}*V1YWpYOscxgl zeSh>DMv?n|@>539-*dlmi%~Si9bEk_28t)y};ntyS4rw198dEIoS;dr4XlE*(Xz3qN2y$x~&t#ILV?9G7S`27JvSaa) zwBqVc4h&_-l9{edYOFnTnIb}O!L``t;bbmLAa2Eg=II6;saxY?@ve9#K9W@e6?J!d zGOcAWK02BlmI#MeWk4Yp4GxVZM~6mrnVihKGQHXQwN8Sb2{OCTo}vD19;rK@qkCc! zM@xLPFF8!IBS(?)KRMU71ey-O2t;GCSCjJl52YD%wN8%HwxgUde!VQ|skK{}q+s9NpRM5Oe5` zCx%kQC%XH);$wp?DdjIhr!Pz*f_cw)x@W>El(2Ru+4SyN{kQmiOy1HM=Ggs74{vm{1}vPJnitYwCTZPIec(@ERi}o zDugt;fK*><*j6PkrBbgiHQGNkKm{BTc@YCTLJ^O|hsTrI0?yIYQHL@dhuvTRva3GH zHk=)k?N6L7cC0X+GVR!S7FJaC1{R3Tqi8Fuc&RdB%EzTbY$3uVvUARWG{cEhzAtE6 zA~l+H3aDxMl>lOaQ-G516d(+ZW|NsQ@eQ{)s^;LV&asKK^dq+A`r^Ywy_xt}P6={l zk^>v_l7Ud);82iXf#-sf&|{7*IgLIyCxjM(;NJ26e)M8C50XK$j3_AN@Nh4>N29M7 zTB1Pc!!qOPu^5_LV%U|4l{`6>EfN_`j)X`mfP|C9s<^Y!>1(O+v8mIs!A+TPARS8{ z!B9FytgWYX^(isR;pDN{&=JQdt{B)Mt;WSEl1U_olh|-_bYN^Sc6l znCv?ogJZc!PPgtVgsZQ2GD68GjSXjwbZg>Hn5PXbzyZLKf*xB47(vB#?Xl3topI16 zIAb6QePfwn^b=DLg6a5Z!$52dy4aaaqQp{Zj@DU2q>rIrh-VV9Y&w}t2x)L=V9&jN`sjVZ^C^reAfl zHcvJ=%#lCS@5~-l%w$fd%}|tR6OYNrD3wqsJJ)?vo;{}9RL*Q{4bawfpY5X9eYQ=4 z@e7#f8oFb*na0!bvZO)%T;+j7Zrg(aXeeVam>n~+<0CpWFpgewbwkUbks3?u(qu3Y zs9_8f4u#Ne9C+LqMxAW@NHPZ78+P#+PG=xes5Hq4W_vNrelIg}p>*6X3qp1oB$`h% zxMRITqp&bn%nY$uj1inUj=@z2VF+bONy> zIbv)ydDQ41i4DY&4dhdf3)Lmi`KaP3B$mOPM+SK0(u3TnU0*A+Z!`MGhaoA4!!?Fj z9i*uzfu{asOMG}IEYjN7XLL2u<1$V<8SLp7wji5eI}h~YxXr(KVuDoV&&llg@R*>w z$?bnlOK?rz@OCJYW@b2$XEj!kqO%}_iXUbn*7P-4Q3qV&kSEj~2df*!&S zqYuF(tp!~a1k~Y)fTovVrr!y=`~O5=EY*+4KN^7aM6y2)BT0qlsO*!ZhthO%A_bhD zA!+Tl0M$j&U$PQOx|*Jo^=SNX($IOvE{iqnbdVu8a#^h29Rq}75=a=wqs|ewTZN8g z;-gv23ouQQ4iYV0v|-lq=1b{e+u>ChU;%dm-Th z$!?tvoAN=T9GEf6XEGv#qXQ`!koag(KtwZjDB#r7W)TAv|J@mhtURV{8ZBFukZA-x z%4bgznnPp#co50a&|&C-d1Ty`JPiypD=8C#_Kbr;c6~$rYL24jiR@td)bdMgOg-B$ zp^8+NRqZNAWs+Q*%F&g5a>dBWfTba1U;yUJjVQTj+V-zRV@`Y4=&=+co#awxEtfGl z!G$q7nG)lg`RX|_i{+w@O+c2O%etcUq*Pm5^Xs~{>p)XAtFDa#R!zmof*GOILQI}4 zQ8ZSvng>mag-U-Vmb1Ks_RC30`}#06oh{OSh!E3EN-FM{Ih#%xcyr0(V`Fg)Eq%Q? z5;7$Tk6byLYvh;Q+>J#DIiC`ABtD9@7kR20OJQ)vV&X7H({}s8Et?a~HjW2fj-l~m zMsrW+wph>pSnKXx+hXnA7w*sxctS^K-rcgVbrO9~TPuczo+;@)yC;z$X4|gqQ>NJ7 z72CFN+pfu?y4%{e#rAZy@0=v9rEPK!d)lWK-?Y8uEb>w0rfqvB35Tjvk=u9ei#2sM z$C_GOyCU z%oo#_cvh`0jE{`45y+B`L?rSlDK0@cq+CizPy*8uigF9dg^_#`r)G#MySsZhwNb^Is?4@+Vrg0Ba@5pS>Z00Z zb#v`P{{oJKmtq0z}iET8rb7IJoFlHGV3!t!ik43>>Y>{k{4 z2l6p$3tyAxzcinO)o<9KX@`pK^%#z}F#broCRHm$bdC0kRo13)2I)!|>m+SrD~`qdlOu8lR+HLR(wudl9O%k*dCUbA7%hSlrW z7jSEKB-EwRUkB8$NAc?G>hNiR^LO1kd>4RE2Ua%-@1f$Ww{^CerfJxhX{<1Em|?to zlf?Mf2v}j%8MQ`wyJ2`%-2IrRW7Z)vYD9rQ#%Qx+)}S3O>S+A!x0>f90vF6lcwTy{ z`M#IudG34V+U_|CFDT%;)zf(YC0B3y+^OIl!H3M~tAF^*t7eB;b?|ubQKQ`7SllsZ zaQErsEe8iq3|E~tJtq<;2Ah9>yy3(l{{@i=b9E%`6K*>{=FfD&hsqHD_{YujesC(1 zzW2z^6}Jy$4(4ZiCpBXWo&q;zQd@RlP34>)8!S9pP9Al z@iWG%6T^?6DX*k9Ws6QE9zQc!>3#Wzmd#aj;&X}miOhSweH*gdGH73pTBE}wMZ-ONSzKDbB7M6R6e9V`r?L0z{gabNSXMj)o5gS z?i?)t{qefUQx~V6E%JUh)N$AF#YH9GVa)zi`RQ^a@RaxE`xf6hY@9Yx&!(zd*tK%8 z?*i}fI~HFHtGv4Uv%fGGr??Pf-&-c=7uDzw&_ih!=l$&z@k6ujtRn*BkWT0BPP}(Fefb^ZC)d z8Fv}tJpD{sX)R?=Pcl3!vH@ZL`$%{LQ!lCPCgEZH2|PjS`6Zy%RSuK-4N{-QpQ0kO z6~I?hHWPUTXZe8y_u;P@3^AYJM=3nG2_^Rh{{!0l4bKyZ@ZDX$7zskYbMUvgB<#C4 zG>%aC0{rp4tBkoC;X`D+uT*pj_dt;Eeu?pgS0M-Ay9Eh^iz)oQA?g$~Jf9)o`@H8u zkk<@uMwX>NLCl@N%Wg-&Gy*h>p9J|M(Vw)Vy++`Dj3J?<$KMtDA&eLPSLElvFhW5_ zcqvTn?~btezHl{>J%R+oYl-v-5)N-6vR9Du@V`SV|2{z~!@nhRks!0eA0pd+LFR=Q zG3J2e6Ahn3jHQ_5^7=KKV4dHhX zIV8yD@JHcH{mXSk0@Qjjjg^9QQX@BJLjbVHyk z)P=eVUxM5N7fK#R_!@8oY%@K8QUf3wrY`(*vRxuEjo~*^8)c=| zu#bqc(vI*?Q2cO;V8Ia2aFz1xbfLNZkem84KS`WKfWa@Z&^=B-1OW4W#Rgz@-v%Jp5;7dRUO_ zlpnKAh#z~50B!Ck!Se}PaoGDJe6^&ts4Mh)5W_!%Dn)i}ypD*jjcI+OMv?8aHzA9n zo=6C)hQmjpNs;o|CE;~w@J0JXtrg+7!(>Gl39>4DA()HyM-~9og%7~YMXEL$m5x5p zMMu98peBA2O4(kRLSnpzpT_aria$jMy+^=RUS|gPhyE3MhChpP1P?@>Kneq$D3F7K zc)}~e7`#{v;tT(bF_%PMK$2kiX(FnE%fo*p@>+?h4Bv{%3dTghyzqsvRPc}>3&PK% zxItCH(eQqX>6J7~!lfu~P*w1%FuS~9LSpK|b77UBs^AUbUr?QXk+wPfVG0-!WNY|M zuu5=HkjC)kC}nU+kmm5$VesIkg0zOeMcoby(iZ+0kzpy^j&L;<9g&#MaE#JM1=$s@ zBwI?@y21-sgtQ<%;W5TsCdmHqr`WFmYXk;?_SGJFpWa)ltr!+&8lUMX5%7k-8LyiSno z!(}YoRf60Q{xx;GT97w~f607~3vyHV6BK=oAh(3CAlvH&xi$PwBG(FXTli^K)^&p1 z9v+~1-w-hY?x@(o%DP_EG0cj`Sh_a~<})i^rhRS@j}Dp@VG4Yc#D&d@uTj}IM`l1s zxmmG|aW@JUHI*aN=k##mr^}W;3041W6W17lUnA@%q4WX7P>`@sGyDOBJw;UPCT}ft zD47+qLhk@E{3YlYiiGY$0weq}M1?Ag--oanwh$efE{G>g-q4IPj(5KB`9^8v} zmHivA;8Msif33X-|0f*JZ@B*Ta-N5Ra-a;mK;m80Zo5=!L`CTj_DaB9u#I)|11aPN$~(F6MN*y=N~KVqh4?7=joHX`k=bQprn>NE5X~dP z^^9;`glexEf`yB22EGY*1CwwH$*9?PAaEZNEq*V_kVHSBv^rz<2SHj2(&A4c(11Xz zit~hCF=l@Tw09ukoG&79J|c|;(`nAvO6IG8nD|V(xZoSQY0Z zkiBdx3%NVWO1m2O6}XLsrTAlZ@UM2hZ-I3=)}hRfDsrNVR!|dOt+>sTtle`+sw0hm z7!AYDW_@%ZcJ=}UST^I_N8mKPONNTieGdBaE?E*-$@vZMlAF!I$`J_QU2@zEoclD| z0Pk>FVC60FGu|a{h8vj`=F+lAiMMQS+1{BIX8BBLJj3voZ7MmhWMfHt1Qou-C@I+r z4s;PZi0u4p4Mql*2`KWJTT4p7u9BIE39f*Yc_?;h8q$-uc)GD16U>r`SyGbY3zxcb z+W`Jj(`=7WLfIn7t_5WpSc0}fWGROTe@;Y2o(R;3wZs_h*&-{Q*gSi*%=S^kSeZvcEuoF%E;uV5)Vc_y z*&00r$kFf_zcah;K|n6{)VPhyabJboW7OS4_-5RGV`IjccMpR%3A%|WgKx{lB9wQb z?J;8l=9r(`b)axuBHg|euDD5KTj#Y(0g=Ms2939B_>6|^-g&WXyf}dHvT<9!4OOhI z$N%Ac(V=>cEl|Z{{%2V!OfSY~CDhc^*3=lagQ<~ZZ89^|SKT|F?HjD^Nu`FfwcB^? zRe^YBqv5k-l5u|(Z1pFM6z}SuXFI3@jsY4dn{{6?odGg@8r9AzRIs{NoDYP zZ*3Z%z4WItBX*X5CBe=;?R#ollShX7lC?YI6GJ1lc(K2_Vcoj5wfHob`s&13_^jni z;99(6u9c5)))t7Lii6*OC_T>-3u{bBcA5=~wY6D%1%X%mI$g4Ne89k`KwM?5>4Uc# z&g=WJW9ekJW{^&bW%UFWe1KrI)XanQ+w9OtiZ8p#hi-SEFXO`c@vU$!j%&N}-IFGv z`tjw=coJWaXOJ3$S#OG8F{u~YprF0li_3jj5KoPQhUo|2I8bX~Y*_wfhF{#-`xV3V zFE>3VJjrj`#BYM=kNArM0D-0ca)Dd?VZicvesihEm&g8n#cl>79*m4GIr!C+-&^UA zAe}d`Q^Q&f#|4_To}#=oPeOn<;x_{oe($2d`Thk+Y;N&*^O$}>rb_=z5qz2tFR$@W zUq+~?m6c9eb{ifaG{tfnL4*K;1QlL?DbNOQagD#!d!)ucs~%!sQ|F&SYK?zcjlZqN zUmNvD$Xq)$d9A+;k^|mjC>!K^11tRV1)Bc3gea+?iweopg}lIDMu-v%iXqYGjRu

8p!W>|=NJLaLI|{t-Nv4^ud?pIxvR#-B1x){@1k;Zp(Ol^FFNz{SUkbyp z2uiZ0QI99DkY_w*q@X#zfi`B7P!YL40pF3he*@Gzj*ma%_}CdA{tRYfaif6HYpBmE z@YV@Ga>;$_&QC1lbJCQNMMq*}_=AiV`I;Irs{7$bCwQeFOAH?~VljS^w;?w6H{|i# zgbey|dDX}F!u%+5gdaJj@zybY6yM?WLk+%xluTGKI}e*CU%MnnCEq-n%}BWe_@ojA zg6g~W?u@mzcSFUgH0&E4L!QHjZ6y%w!b+$uS9(Z%_Q#J=Quw%!KLCXG=Q+{pk-qf!7JR}qmYk>_Sp$4*aD1c}aCm5J zY#8JCXksWn3cP`xzAQ=Ls$C+gRM!jBcVUsnz}XVO6p^okAIt84&x&N99K^)meO!%Fk&* z<9EXj4s+^n=yC=cAJyier5yj&?#FxESK7+-yk^c}{6EIx4?9nSY@$72#hM`D*5wi7E%e3Kt) z@#DJKcv_s4EQw*;!!VT?gImJUAYZkc)eVyxj{V&%zi`pN&M`2lLi46HerjRM>*5dh z>|fqBH^;iVclX4a@j*;$&rauUI$cZND(5^KElW3|jPl_=_%N&~^6<9Y{o}n%{~mt1 zhfhZ1$M&L@VOv-2!C050EbIa5*P$e~uRGu8pS_PsjwUk$_+B5~LT_(t<_LZQDD4VT zM33%*p9iA(6k1nYDo>vzemjMqdc^UYM{SN>_%O&oCx9;}(4P$!6lO&IKvFW?rhY(0 z_jOXkm_{$mr|P1g6SwBxF8*LKp*}69O6;x-=G=!#AzQXRYeP}^I|{t7Pi5hmm?6el z3H)BTFO}@icP{%AE$N93RWWs%C8D!DxOu1oKY!g$!Prfxg(+eFwkW^w%?&7E8lS#yQxsyOpL!x z%NfYgf{u$XbmZrNPU~0wO{^Kua=F$hLrq$Ltcq9zie4|=GWt$b76|~Ua!Y12SNPq*#@3ByEoM+_fTUr&WSf($1BMIHb ztBw&v7V8(E|Bp%;;h_Acjw4ST-4&AAzw^*WkY0uTO>?))eonWxcc+m~W;jyS*@1e; zY29vwfDIa@oKB%i!0F zb*PxJOuh1kc7DXBDyjiL8eor!URQUTw*Fn+&3o)$QNw8=+nz=0AyYZIq|SNIQ2H#tEsO$=j?MeJXdq+=~Y~K)VQ(?OSJY<6qk(n zyzR!hxaGzfcH^snlgGXoZYm32>$%0u|kWjyV^vO&0j7xUQIYxd}ewrB~gNSRrtuSagvU4u|IDGK}l; zVkw4eA-M}nGp-Bo#|z^92479s%Y$6rbYEVq#^lQ@5`M0rstc<%uFH#cnSB0`@JAgU ztlPLQFSzshiwpG0kM*MF@+o2Ar(dbdU9((PEGytI6MlPnRK4%A(~`fufWKV$zwEH& zEJc#nunPDs;ivzq%d!Iky+)*fKO+1&|HB%&>+-@g^UGT){JB!*QZkv>m{Gt#qd@)) zmvr*aD&VL0=Ps`?yC9yQ1?4U;-VVyEEr&G6@g;hmsa_#Ev0h`Yu~=jDY!i5X`ne7- z172fZLHs;<1IRcfe;$L*tBIyaxt-#wDvsy8OFsLr@burXF3mu|6veRGwLN{#uE30+?j6{43m7&)=wAi zrKN&rfr3d~;lsC#;r5e@YX*VooJ8s8E(zN+Nr%n;owrTEJjq!^krXo9uw&ixlETmG zorMUM?C;;c#ulENsEY(VC->M-5~?7DPprb0oBBvSdhi;aV*nxBVKJPI{_4S>I>K7K zDkXip`hK8zhw=~7cah$#{I+---cl1s`u7rok6-5$Utkz~ZC~7G7+(ftx~~yJ{!@gV zhVgm81s!TEXFOgb7z?_P2C#Uy8q;mMXPxH5S49;}4>(;z_Gq4shOvln6JAkj`Wg)p zCHyFgKhF56#dJW&C;oCJlsp0!Id_==t;2Xt-a)q=p#{uh#G;4f&-p<-S+L2Q>VwhF{n4 zSq)#%@b?;;n5r^;nTB&UT%qAw4VyLGt>Gma4rzEq!)rBsi-z}T$nQ0o&%bE+q=x)N zpY(bSw`$m-;eHL18fG-)S5-{MFKP)-X!r>YpVIJq8vanj=QTV{h<^HIje9T!XTMlP z2ze0=7izeQ5dCbu#y1jTnzKXW`!zg7xWX_}8ox@zn>D;!!w(QHHH?Qf{siHA^y?aa zUB`c4$NyAA{4B%pRN>iE!w@=l>RUmGXoja8#B^}4h6gn~tYKQis|aaN4Nquz zzlI+q#5DXNjenXD6P2%O_ybMe>Otl+sDI9{ z=@*TJu;&g!)H9|W;&=NA;g^R9;kTj(%9SP#VH1Ss;twJ6L$@t3NQiu4CV|LG^5=Y? zdWc@|2eA)elyopH(Ga3VuT>h>5kfzizW|Ef&~r2CfQ^I@)~ewSLg?M8VHY9v@6k}o zg>qa%9Pkh!G8KCR4iZPXhBfT;07v=agecdogeV7pE=0eU@f-T%-LmMtl@NN$cnkf` zz%bOW6EdjRal$IYcn{%Hq$fnaGVUN>u@ed>c0!!k1vpqFf3X8_u>Q|1{w|JzoX?*N8*^XLS4z2~mz0HU4Wt zl!p&Tl|25(&z zwcv5b9f5~{PG_4<#a;OLlVg|X0sBFyfUF;a3aIwuPytzK;J{a&yjZNclk z$+5YI8kexbM;ljE?g58}teN5^hS1ab3$SAP8rSosD5BoE%g$UiDje_a#YY2%D;8Up zx>0OtHadV!Vq6@PDcm&^wassyu*jP+YWP;0o0Ygy$*XOnrm1^p4K_K*4E2s@(c*_5%m2bJ_CV42qlYI^a{4<9g8D`LY0ZInb3k`M#?_-krc{8~d{Jy&D9#yddPE z%M-h>+~lMDPvUm#_Z09}-1cS5djJHtyjhSp3pCof47V-s8wk7Qv2S|@H2bpUeFX%! zygCT#0*&&hr!DWt2)pI|8VI^j=d$Jfu7Ga^oQnF{m(5p<^lo{L;A4LFW%C8V@qT)9p+D33;95DE<1b@0fzsUypL->TR`9^Wu`Tn>-UXum= z5N}_$yk`sKJq&phV4}P#+_t=z3gkTrdE~P%Ti(AH$g5k2UwnXx@|NJX<#}NPI}ON2 z6Xr2K+bMwCaa_}Jm$w|x5oyFz-ZI>_ylGlq9ca9^VcxSF&ky!RdA#Qo@ZAojF0h$2 z5BZiC==U7><}pHF%$L_<@VWIn4*i}3o%)@N+tzOl_~3g~U9LZ4UgaK>Y|(^Zb*?%T zvJnG94Jha1ro3|8%+vN|1da4c{G`Vg0^APr8OF_bXao95R|Ym8rVZS@0^fA2JtqFv z{t|1}u3b|X<@LAsmw50!)X;GDm)K?OG=dLpSX3l?9HdSM%%FrGeKFWrxhTZ&W91Ji z+JY4|PtEM)J_Gk3ZaMAq-rslsjdz`r(6yv^9123$K7NCF!{aaQ^B$O^WG`5xr6{S8 zu~?@doa>t#zW-Y6U4Xq0>K+Vq1a=sUW~T!kaMY!b|H9a|rmF7K)J3${f4Ij%`9ssb zY<6Dv;xt3;drUSG^>>{*jy)F^pKkQF z{PK9@K2Yv^`FQuKGlO+^ozm3uLH>Qa*5Q#WHi!-r6E(X@ z-ypFJ@jka>?u5DW+>YJYL1Rw(t~0ahK5;7i*zVJw;@zi>;?)nl%TDWTYSUAgP!x6+v-Kn9Unh$@cEC2 zqW+IP`r_%`v$iwE&t6z|gJ-L`W%}t?{r;y-9fz35s^0Y6;KxsqXU&=5`3qWq{eqPjBa7HgTcow};_^MM!0@wpdDM9zILc|1XpWh{cEdP<74 zegB0HSbl}rV(AT@E#~<%Prq6ef|Z%J412+dMO%Q0wLjokdw%PSFNkgFZ}8(hJH!9- za3Iyc_(Mxsn@@70>@7RD?!KmNP<-qC^4C~2D1J96z8`H{-&xP~8+pUZ0M3+Zi@=iN^h3{$a$_04v(E694eW`v*Vr zaSWBW-9K2-W=21@-AmuRmeQVl!Gj%Qme)7dKl6f#P;s5V?)ev#?GD3>e(^Lt!(92Z zrzMS8vCuAV9KN~zCucr;+}EaB?K4=2P`ionbY8l<({Wh4{E_S=d?xJlzqxk<1E<~ z(7x>H)oAG@PouPKhmYB1eO&zN`!9h0#)AE6+=bEM@`s8$7f+lh@_mA%nZ*q#yLPP5WBWuC;B`zA)`;>Rvp!61kU~b#1x4Jv$6gXg^iHx`!m) z&Ri=01x#lwj-6N)DG)XYdIw{CMUP_s?FssC1<`kk;i1`>iD9P> zj~Vup|7IviDH< z>tQw{bU%`tp@C@-Zut6Xw%a_+JLorQao_D_-vL(ag$~EBF1`h%YpxDeR`JK;wz7|x zy-a!CBJTj|!3=G}b0Fk>0lE9WA|%qsgXGx4IF zM(8&9of&$CWe$0vqBnFoy(;u6$_V`qDg;7L!F)xb4^F2+6El%0bQ}VTLr>xXq9pW9 zm^*A#)R{&5L$8Cmt*Tp$G3C|{%;1Y&D>2xLstQO<1kAHeGUkvV3#>Iv6PGkm>k)`4>XkH0tTklolbBW3 zJm_7NkeE8_&rrW8DKQ(YFQJNy`bFAi>r3#dq5(m+S`SgtK|va=e?kQm4GGe0y`Q$Y zRFGC{U^bA$g0xv|8%4t+dWZE4%3d@gF`X7)d=-rfvdgk)kd&}>S=>*gC@n~j^$c~p zOpyK7YgmMgAeUIn@bp)d737fh39^j|lCV~z;)=!v8MIzuK1T!@w%$&*qk^QZ+ZZz; z$e0y|TNWJ?WWw4`BVI1Zl~x5>c+nMt9Je;24=B1)w7$;rQ0vzTa=o>jT3;o|4c3dS zpQ{CVvvr2ZaY1gf?xsPm5#$!@ra3@fFUYOd%WR?73UZs(15YcuPLSKJx1r$_y&>{G z)aD(L&%hsxt`~K%NyR(hHAQa}%x6Y^Kvi#u@LQ#z8TmD9@=X#KHX|2Ozc)wt-n-n4 z9H%?pC|J}qD(QUmx#_D>McDL`p`^Y@H^e{JzXu27_UDBI;glJ;;3Gku}J((z?A0NUtDEtX-&c>`ug(HP-A! zKoWwqT0QU+>`p|{J=Sij(=RdmtV@Xu2-0ueiE75~L^Q_{>*w$~>`ufq6V^NmP=0^8 z<%ervcOu4IY268T!tO*wuCn5&OzciXph{y@+I<#Z#PDJFS^?Cfo?nFf1Y5jYo=$R`U}$>$3L*Gb!HUhuJE_y{f}tVyQjfO@R%S--rd{q349#*j zZT@z_EHknc9aQj6!79zjmFSd$?+|Q;8R7Rg!4sm{EHiQ)9r3Qn4Jgh$GZLoElfqeJ zMi$Wf?iQ@hjC_!}zf-UVGx9S1?;gR{n2|wZ_X@VojBKEzzDuwTX5=>z9lTE(!6q|u zfcC#%a^Gx5vNZF%1#2`T6Xbl4V6A3kKTGsp!FHIDf0_a8eS&qGkq^+i?-#7gj66pl z{ea}xgYJqh|3Sg_q3lfe&%(LijC`1u|BzspAa~~QVZjcWkq2p|k4UyHWNpc&aghx)i+!;r$xTI2zEJYntFaxuq(~TD%ShMf?Z`se#_h+iQEnI95*AEvsOMOGH>ui4zLyei*VlL zi3C}OPYZU7C-MZPJSv>GdLrLrX+I;_?Vd=$1MD&3ywekThEhH&*a=VMDSFT6g!7~) z@=ezfz6Q0Nmtj#9{`=TdON||2~&M$i++Zgv%iTj!-@*u7BHIexZPh^<2`E`l= zo+q+_W%!0*&v+vBQDEN`>{*Xd`3f2;`*9g}ii`k9n984l$PPz{AtSKSCbF-wN2pyS zGC5nk5V3b47-!i4Mr zt{p8eWDjuslrdxvaJ8tZ&?RDzpvB!GLu!BvTg)e<2DmcodNid_OxVh;anyWBP3$VI zm2k9BTud>;@-j_tuR_| zNKNb-t*^q$AvLjUwx(0`kZ90qT>>8pT`I^9i=XI)4hzz0T>x8#)Bx9I^;1zbz;#>y zNw!g8>#_LRRY*Mz=WaZ>|vv%vw}fmHh%b6va{k(2$x&0 zhdD}iRTQIL&$2#)zNKWhAhWH{L)VfnLFQP;(DF(ytl-nqTu{ z$C?QwYGt5cNsk~)X7d!FlD(2=&fYsALY* zOjm*6R8H_BJi~hqGDF`lsRJJJV2W+1_>u!&nqbzBa7*Z$V7J03S9qJ`XIQVmB;hte zOltwsgtu3G8Uj4lyO1`#Lmu{g)?=_)xLrN@SqGqF_yS22wyuKgaEBnJ)&%5-I|V7T zR-(k=oq|lWw!;y^%9!QW!^~6}vtl-OdNIOX)_f$bG<-c#L>=&+1I+g<3=_Vj+(Z}P zyA$phj+LLsj$2i2xX-L)`?(BCql=T0lk9f`kp*eG2)PZV@D4c`+81wh0on=At(#-6cq|wE&e|x=)a>6-UWSUn@wN;rlsq zElosELxUpbJdfX(n%icwWNHh>d9~<*&9-^8lBWC~joI8jhlSOY=V2GKeJ1N#Q~rd8 zZC+48Z?)w>yxHNVY=j?}ozv*+n&%#r&fMvye2Dt&E~mK^&-@eU7tG7Ns3!H*g?TcI zdS0-UN?qn%K*a1?@JE8nyfw79dEvs>z)8%kxAgl+1YPBd{s?w4k9gbj$Ig zB9)wjO3pun`(3z|oP$cvA3*pWZe#u+x(T!0%Z^okZ(*K1;7DlqHc=DqfV~iR)lh=0 zyJ;ux1j)uz#oh?Si%C2I!X3Dc`M;z^H!8iLC(3s-q%JN-Fo0&Z#OzXrUSeM8_mTl= z+7W9uC{0#?V4i%{(WJrKNKL)~;s3&1sY!!(7c;Fut1iW@G->c2Byk-G4Y(IC0dlq+ zmtI?iTo!u+^Vd<`3Z-tVWX-AYq9>_Qg?BYA{~AcUh!WShB|+?g5Ct9n7_w{QMk~|V2m)vwPhEfU*(1LpuOVpJ_qq!1u-m`bp`q{ zW1+IIS%-?-#cr6Ka3RC|gU7p^wq6B}#T2?B$7;;yi+J-#Do3P6j@Ki{b18z=X7Y~& zp7Z$kA!a#TSVVC+c8gj`B}Hfckt9F$_?J_2QIe)|DQV3A6vkKcE|v3l5NV!_qn#~c zX9jW=Th|XzVD2;F41sY3IQ1jbdQ>ksSG^weYe3(o=pOuF%)HPuj-+o! z%q@tiekTGiLFwfmLf`}_#{5QPZkDK`@e3XEg|ZDq5*3+K)i^KJJ>tc+xP-JYfzxuY&NOQB-rozA zmSc8foMNB~fzKeY>RbfAg1{_jrV6{9_5ZJo+l&B9y-wn~yx7{%Sl$dG4Z6Gyf#(_6 zhk%&zQUqwm<<}$dE!bk!oe0qAN0kK65zrn6?KEgN3hhGAQNyVH3TTM@uwpaoMUy3F zw^_Hu^E!idMc1HJSDi-SzYuuR<~6E=umnwS%;#>w=3Ur>6c^^6u=rb02aBrNFz+&} ziEM^t8gN%(Cj=6=(qwN0;Tqfv|CwF$JIyew;gcZnM>7k>7w<8{tg!zD!gom=ge}c` z&G2e)Heh00gL`2NF(A$(kq-%7B+|U*yUZC}k{<@4pTyrnee>I<)Z$$r@K-Z+mmnD( z_BUvaHR9|KnzA&{-^_docMUg3FdtIHe*@t;+{+IkNhpdQ0OmEOBLK_!#*Gb2mzaC} z<3{j#$dm>v&cLR)2u$L->;#s-7nB-MR(%73O$;D`a&SmurPV)&nDd0%Wo|Tu?mre%z`Kn^hft1cdjKD0SGP>kx#0 zB~j|IRn_4#WLt$>)nTiu!!{83E=$$nHnZYAQ0Nc{2XWV3gvkTDY1dJ=XTo3u^IT5g^MsBA1kv2;zX#ZgJwg0}25iRa zZ?a2#Nq8%T_gr)lYYrjae5r=>>vIrXj9UiIYojzvZeqgDj?N$40a3T3i#5M3qL2l$ z-Ahq*$lLt(YK9L$%wF8^;fEl3HHS#^aaV%tnIJ=r9$(M!RbakcCAbs`*1keVe;}~# zzi6cQ1kBYxs6ya&k+4FtWF;=9ac+s`Yl=RSdaf~y_2uln(xv9Fz`J1#n{Q6cWe{3r zAa`RQnv6M!XDiM{5j@G^eN{1n?4zSV>@m+1++eJt)fll+M{Jg`SV&vrb}Ny>{iCU3u5lU zy&MV~?}$RbHUyX(Uj>SO#;RSK^es)IX67zq#Xe1U6a(W52s7RjRcYZg=ijc?@_=rh zY=fk(p&Qz6rA|-ldt@jmIE@x9{R&%*H2gES}p*9J6rQRGc-FzumZ>+l9mAYJc$} zwZC|9^8Vr>dw=m_383yv?2X35)6M0wad)X-b|)`$rN-{i+>&~l&Q!MaMt!+A16Lb{ zSLE+8ZsqMU4h1851lXd|-nV?Zy>Iyp2_R~w&-9iRZje4Je;@SOg`1quac59cQd$x& z;oj$SBar3ZKz*KDckWI;-`R{Cr7PIV9EYa3_9h4OLY-O+q4(yFx@q&E|DwE9YDe=b zy@9toq24cCZ*9KBwY&IIXY+8;39Vs1w)>WS&-cz$yPmUJmSe+ly-oTGd+%}d{gZg{ zwByjYXLwG+$|>mRmuz9oq*`U7wX8v5xe>X$9JPx5t<89MgsDRbd>NbHB3Q2?kd#=1 zgVoE1^{XAjPu_KXjW(fs5A?N;QG_3J_k05Pcwb+G>Q-CbbJKTbyFqI#qR`{JIr278 z-=ueu7wHss-lRR&H?P6=^XTRat%j}EnblTCYp*!J24P3OVKnCLx{f^X#d#hH7R8Tu z@<<@42Vy|@4PR2mfoW{3jhAk=FT|<%1*#hSjx_THpC$@M3su^ zx`%-}+*6lb$>N6&4%3B`3ayyB-Avt+m>>a{VinymUsSyc#!JAO1?P6;P_&n5xSEZzX0HczR`x5uA`<55YTe ztCBNxN<|QS$B957?^1#;B(RzCO|k?rlpVxcWAN2E_2=AU%g#~qBx;0>5E>G&p_oPw z!Fh^Gz~zsrt4Srjkicfj*Xc^cJSCDY`W}D}l1$?wgq(|o{v>W_@Nj~_7FUWTj|UY-*BK@1YB8|RG2(b7g7{i$#&sA46$$pdeh@n zetVe%f4E{AdlAZAS}NNnOJN#(vXGxHd5ke1XR;LHHI7^*y_Ax+?>W%ciL`xu+Lo0N zV;_jlMU524-W-RMwdr9zZ;w%5&{Xe(43*7+-y*1l9LNbNF!6iA^A+4MFTvMw`;7Eo zuDXYbXCMbeAS9Ppej9!SVL#TnH{{xq&xr^iBJ}*60-f-EsTPq}mrsC*DkJzJZdGLr zDR=52c*Tie=+C&3f`Cg8XRBm87pZ1SQPs@Q_e8>83bQ5TyE7)|h*PTVqcY!+6#H`7 z?*qZUT=l;aGz@42l;AZcuDT~DYClCihubvv{}e!#WIsaAMfIM;4JRT8Gei)7A`JXgKxcb0PwWn4$(nf@@%02ZAy`Lmjx` zCotShfN8)J*K#L>57b1f}n(JZlQN7Q_;ipOwj{mIDIIGvV4yyjY^0XOj z(>B$?EV;v7aG1eZCN<2nVeF$@{^pS}|Jz5{U=Lb#3QhhQF*X&yW7KEUXcee6h*&eq z{m>E1SjOKzL&n~gPHoVSqg>FcTnD@0iIe-`x{d-L z+_^RIG&>E90~YjKo4FbFSoP58R%ttU8RVB%<9$(%S+UQE={R5?7vjUpX^!i(I(>!* zy##R3%VwOIveNIJgEKv*`=j%5z=uA8B+#KwA_*MS(8e$J@4;yu$*6yK)bFjS3DkD% zbaV9kaZ(3%opoh-I}kakqrzXl$nUN4moMN!B68G+H$Xi>U5NEtccS;0lTQ42JSV4g zQFQY8H{VwAB>__+^UM8`lQ`-RE~@e4h@E_fYvgE>K!0Ee3O!m7`3^+l>>r+6QnZN2 z|6mobwqr}Ze-&)uhpmax?nLe|!7N3%P5zS+P;0YD1lR7!R zWnqUufRkDJ14|^bD9WQ+0#u>MJF*$+y+@-wI)(=cRZ`xfN`J8#i1GlJ72t$hZNf20 z-eWZv`&WWzMh!5ESi0F$mRIzaGS21oRSyqAh?+M}WitYr23i@ggrOZ9`H6cOGD zz;)26O6nI(#kU4yG2o+WSe z!IHKiFE?@6&l=PwYOtb*98En7Rb1QspyS1j>+=LP6Oj+LnR7UXjuOi}5tAiIh! z1u@X9sazi45gHsCGc8BvWQqZS(J%78ntPGFUp0+D~9OPEU0ZWf9opn-zw zt&WPf`8Nj^JAO7mM=NEM^1kEh%`o5W&C*T4$Ljn+@3a~}6Vsa%Y#^l3Ankl+gR`-4 zKo=UMiT5m@W@Z%2-jooZ7#^RY4cQJkC?7NM%W=jYc%?M|1ftYWCT68U<2Yn;-q zr6p!=uF3BeeZu! zdEsPkCrI-C{BoS$7Q1o ze5s1|Wi5?EQV06_nu5;$E&m-tPAMU@&9p@|7tlRv+btYh^1J#+z*!V2(Ba9vFNx* zxm*0fYJUj6TMzQ|CV%~0U|Vry+I0W4sK0DJd}47#j@UA*JUp3AA7aql9NW{=)U$UF zj)aNzwC~)udv6cV3gCHEvI$g-M@raRB4>@x&K7d++}*k@wx@m9_ReiQtpTU{^d3vc zxpkNvbC@@On?hQD!bor9xe+Zmp9O~}iP)a~v98@0ZNnKK+xGM*3iRPwH8{6wPg66F z^674C+ZL;fwQlQdI$&!VALv^f%cPFRhEqo&Dd|3rLXNw@xg_=(LH0ZfDsgw@-f^7W zm0$())NgVZI`>;&ZQ%iyFF9_P@--MgBHldU)$rwdzdjo`!tn-Q{bSVUiP zm{M`91r8ib_4gyW(bd!$gSFe+_9*MMbat}{cFy4CNj2*DC4T2YOS3}60NZxu%3rU` zkAqd3#>WPEbd9dUmhP5VTT^@IwpQCXwsgB(j_URyC90-*h!IMUR3-FdVmg6@;I6s>MX9bbPMSo=`Hmrud^2~MXD*GnB>jfv3q0%b}d82prO>&hf*6a8fU}!0semK0DZvJl52YM0#7`LxyZMmS)f^$T@ep(P7F# z&(Sv5dl#Mp1~bB?3p$egR+Z}pa*aw#(I5wJVKhj>8_^FX&oW`s$2h7I6k4Z$2*U(h zb{gA8f$8v0)sJYZ=KgR0;So!P@=$uRE z8vBulOs|YIMq{XQSL2f>vGZ9Vs3}AN&t8-nY>d(6} zy;+>RmQ$)h4&F@Arc>xT6?Mb6p6Al_>_4bYgr5CV8r7UAKl$TRdOb z8GU*5V!rVTTY)_d%0GcNKaGACaXtTv`wZZiJ2jil@1UF$N?iwAYHK-G8gV8C^1R%# zdsk2UuD!eWvK7FcTy7`NTGAaR`}>FbhVW>dbw+hqMGdxk4(lFlWw>Zp(XY7;w-~DW6HyJgvffV)BYm0NO4GnV? zhqvJuD+5@Ln8McXiLWu5!tw}A7{T{zX9@E*?GWsy5SV=fD&r2@2Zn3>DD+Pa%|ZYz++kzXcza5p?$=6A3KHD`N&-jJO? z$AEJBc>*d-KD!%coZKJf^;kI$ib6jpi;A?A_&1Mb)=q3MGH^n;X9GE;!C)N=D^YkJ z#_Cg|UoWdN)*cTrvVqZQj5Gk(zG6d|uIX0{;HIlPQE20?UP&!NtX4IZ8wB$@6!6`ig@!ObLLqz| zGH^_-qBkgMdP!ZY;}pGHEjih}qn?Oy3}VsMI;J*huH6{gi`>BjmLi^1-EZ5Ai6totvv~sn37( zRnmEI{iN;@!=$VP>c*GrjnE%L3REZB@-Up_UdA1XRNh(d#tN{7hb&Sx{$6=zmc#zjQX`*YizURDmFek zHiRB@x1xSq(^4$ zCRlDL8155CN8RH+-H&S$+Njz=?E<=LqfXUEb}*G0i*l+C3)`I&+(x~_V;7?yRMiAk zuUT*%0p4Y#o5%ZY(JI3%rqHe@Kdm)PQ`iUDE0cB~#`;C;IT}BlME8MKa?CYE?b+MX zvTe^ES(;~u@3tLZD9Dh)p+(P6+5O6SLAG+V2o~|vSb!THi;bdhaJfg%es%(C?GG~? zJbmV!R#X8>Z~zFz`3=-Hu(~kS9Y@!KjMXl{cxh-zo9X`j(9w&weI- zw0fj3J-!8xE;#L~dSngovBB|?Uclj@F-$S4x!@ch1>O%29;?Rj>|3zTpCADV`_o6( zRAhnZ|Q+Oj% zEsdZ$okCqEGa&YlkM?nasXB{SDu77cPZxLa+$x#7zEOep!=;SsuGLAbU&}C6@alOF zXD&_6dmP)cyLMitu|dJAlb0-{k9M_OJox3mLa;j__CRn4wu05D+`MeCBri`N+C6Od zhX(Rq51!W|EBUspo(VLTR=iDw9G%8J%i>c3+d$!58vQrf^QN8o)3HLwvFBs1Ox$Y( zZgT3N!-nci3Z^{nx6BYOzK`b@E;w}OFE}_) zMXvd^c!X_3-F35t!unjJm}=J7U=LktK-k$N-M=$Yv==O)i(atQMRs{aI-yofSya2& zd7YSiKQUHN#ht06>T3%v&|SZ|0YLg9dtDY23)LUlT8WxkFT2<>L1dpaf;Bw*6A%Yi zZ#ZZ>xT#u3NR1}>Xdgf3S`F22rPvOg$uqsp)vv8qL&8)8(Nxc9EC_GRGHlnCmm_`g zOlAmQMrbRzJjwC0Eax_(siADrp55sFpT)-yv|Cy>MOU!rYs!p7w~h2B6NzLZ`hSu4 zCIE63<=XJ+?&+SMp2=jJkcALB8w5xulaLhxOjfdygd{*%WU@>)NixG^0zno7gb)@X z0s>cZ0R<6}i-2q@To6!D5u>LG=56^{<)JPrdcN z_11Fg)TvYJ;+B?mxbbT@SY%3~@oMKMge-9=Vq|d0W=@L8dstDfX z+WficOHy;5e55v7hyZ6>?hoEp@M3;Ax!>H+OU?PlqqVU`0?9=Kq`6?g87?4jIvFo# z+`d*%Yu z)sS9WsO>-H$&#ixJ%x)?+(HZL;UbPHwZr0i(#=#-y~Ni9*#>%$c?vkCwzxHaUgfsj z`PuCi7i2C(4AOH7Pe#dLV19nnzsqkw-?)H7`8$jEy}!aBFwIkHYqn<2OK(dZZMm~s zzJD)y&wYJid6B;Pp*~-p_uh|N7-y45$&2e^K2EN!+nPPEVq4~XmdxGr{ji49KNo#2 zTZu+MklGK{?D**;jtFvHDvzj27jiu+>QcQ@y)%8V#Yw-^o~iz+0TqK7Ow9NW6~UYD z`Ap1~_em@+u?hW=TLvz^$za_8*T$Aig`G)HEk#_|&9KCR4co6K@C3*CH5Oj!zLaeA zm4S3zzBVBr=Vq`hDeltE8vyDw#~sGa=v8+faqT*()jUe02e!RFX;`QD*^-cU2xLc=qepl?FHugP=wtk7U14$owQJrnYK zn*3dn40Z$YOa{wR1fz{#av2>=6fqN+0^c_oER|>d zQZfey;o_xmfnds((wDdyy#3VVT zP;i0xq5gvs{tpt@$#Wro$z*~PjpOT>Y#xI#nFr!4kmWl3G=$r`- zPw;04S9vb1ZEsJ|-%8Lw2FBR*9f5hjTvj^Tk@5Jcpz@5*^uzH{r6`_p! zLb^5>Bf8G`-GaGf%1~yJ_`GvH@Yf=GiP1fStqJ+76ZFjq`u+s{{RI6IXgaY?+5_*0 zw-WqnuZh6;6%+K>1idgppOm1tC+L4m&|gl_k0t1zf@T!i=Iw#^)0+u?#%sbbzC9E4 z&;)%TXzF9zw+G%|Qxg2e3HqZ6`uqfaeS&@_9g{ueNk6kNZkzsm< zBxr6lN%;m`J@9^l5-{jqwKuKNZbv?-2|QUKh>h zWl*qBfQ26xAI7x@o}#@)Gk$~cJ~~h|>&qT^-*690#y_O%gOf$`P1A#^YW3IY4r%v3 zn{BQa*xm$aH>YR_W)-6wA}D=QyKyNekKROl1xFJO{GO25RM4m=+gZXn`L4&1J#B?9taC=m zH1s-@rW-qTVH`Ad&83N5cy83+cSB!A+5R^tgARn!-13B@^$)vHHMh8v4io2-(TI8y zeMdLi8$|{Icbq)ud}tU+!<(4SlVF6Yb>mBp36)_Nv2*A+Ey$Zy&_Nmw{y29j;T+iG zt%za~mMo6;xRBtNc$tCX1a?Uv| zdY{R0PLY>>t)1!MyUeshClhr~!eMF~7wwm3Iy;%NbIW~suc8QbAl_xBg+yM!exE40 zsUfI``ITO13)?V6evc0T@>Nkl1C-wYg?9AKNN%=pp^)1~>_W|r%LVty`!*~?V!N!!-2f3NR0q08oys!;d*oIAV z>F<2(Bt(QBeiKj+Ta(m7|Ap6fO?8f#T_i z{C;Nme33C76-1_kh;-Kwk=|}Zq`!{1GTbU>z$c)a`Vn8glNtUAM1+ehws4UIi{EF7 zJHp+L7?0OTBOcu3sPIXomk520M8u12OU7#n5#gUeM7)*~5wA7G%h4Z0M7&ywh*vui z>EO;w11{73K>TVL-lvrRh|~bm$k%;{Tfz5Em5)e=`-sqgKM~}4k%;@)037f+$swM+FCF9%FDGZuCHxoVkKs{YPPF3>qdW9lJmKGH z$Qh0JP#^g*cZ6^5P9E{4-t^k={-ifxKUva1_CgW+64wRjr2(#&KDdt)pI@7lnKi8Hc~{iGOt@ZnzVH*m%Z2>5v-k)RaJ-QF^i%Fg;fcbNgqwxu2`>{~C%jeo72!99KNLPM z{I&2MVP!rHw@x@vh&?+jJ_ieD3b{`_d`p87G`3Tqs;B+#uvB zp_IQ+c(w2*AN=hUlD#&_(S3I!e0yD5mt5y_0$Om z3hRXj3ug+C5-u0E2+t5+AiPp|gYb6Y1Hx|$e=K}a_@?kL!s^;Eetm>Pg`Mz~3Mj_^|9PT?1Xj|g`OpA&ZJ7U~@!JW$vuJVJP!aJ8^qc((8o;WfgW zg?9^g37-|dDomr{XZawk74{PDFB~tNCOlHuBs@)cf$&PKM6{nD68&A`avWkH z`e#J6pI;RHCUGV9R~4P<2^x*wJQ4BfMa1_*KhcATv#}Ap=tkju;qk z8T-3 z#wh}#_a!3y1B3?)4-+mBE*2g~gr4QZLvgU2@GK(o{e0miM95u9#K*o!uuZ~&#)x@zrtLfknSrSBpfen6wVSZ6do^Z7H$?^EWAy4 zukhQ#r-+E>v&5l@m*_tdk^XmuHTaMx-A&kw2!8`b4;Ah&_i>^R5*{Y^Iilwa7t4LA z=w{(sxo;AEn(!>SUnu$#;pIfc|5nkr3%@S>hVa`&$o)|Gy6|mb3LQD*7lb{9BZQNL z(}gRAn}uf!uO=dYt|tycc@h0JBJ%M;;V$7*!v7}1-%Fx-QV`{TBlmYi|3!#XLruOb z5pq3+edInw^f2KFxla^*h;RxK@jPC1ldx6TF62SUlsiXwt?={0+l5~dJ}mr>@G0SQ z!k2}w3-{_D>K`r~E1W4jmWcdWM%)|yeWK4GBK=#0=ZSxb@G9Z;LY{F?|6e9T-`9w^ zzAgGkMCkj8@OinvLPS~lgXk2dD^U)cI~o><;P)n?zCM5m{iBJfvnGq4ON74#!V~1a zf{1r#o9HveKU??-xqnJ{t?+Y1wCV2>ew}zU%DMQz75<5sMLPo>zr=yUgM{;mi0=~N zN+P}$&lH{`ypo9ce_D8*+;0|sP549MtHM7M(Pphg-ZPwPVNYRiVNp0lI6^o|I8k_r zaE5TUaG~&M;fccK!jB3!2u~4yOn8oPoA6TM<-%)(*9ku_{G#y7!h3}e3Lg=ENBBMA z)52$kFA853zA5~@@Gru2G0ew;uvWN-u%B>{a3A4F;eo<~g@*|b7tRqb5*{OL60Q)Q zBy16$Dm-1dRk&Svsqk{)r-j!FZxY@jM0c09e^C?-@!4UBW|`p#BHFiT3K>oiP7+QR z&Jr#Z;t?_VCgBR|n}&SNL<`%R(Ne%XXjj{{wr9?kyZ393&hrY!HqY9xR+LoF(LGUev!>xIx$^ zJWY6}@OnA z_vb{vAbeH$nviWiwuf`VF2e3Y9*fI%?g-%+;RNAf!l^=@earUmM}*D7H9{VB%XaTM zLL1)z{Rz>ZA>#U+5Vs*nuL;NB*^b3$s_~0Nw1bBc(avljLXWiv5PlG1{~+nv_#r|Mst?1w5K%X}j}TEbx+okXY#<`tV}uikP-5*JU?XWLL(qmZiO7$+ z!UaU+%VOaYBJ$@1;Zh>Cn7(22sHEY4kGgJ2gLqC@H!Fs zW$!oS(+uch{_J3Vf_%A$&mHpPROn_te4U8&S8-en>7GYKdM_s;oevO^z8?^guId61 z>6k`DI?f~_{&kFhi=GdJ*&uoh5n;>}J(q~|G>cwCWV%G#{q3&%34Pn?j`Z670)0Jc zr2AIM+xU7DYn|NqzoI_pCNmG>Lj&A;8M-7~5=oUBoQFH3Rk0vjd^&OkW91k^& z3e}fpF?ZAvo6p>lt%=9w7}3Psj!f-KQ;zXIzPx#<9esvOn|<1miEQe0lg9UvE;Gq9 zo`uou)0mRvJk%I7oM2pTx8s;tq@!%vc)wYyWz>|PuNo7yXt|lId=Bbu8GzaNY=raR zjdTkFjBw8gR|S|uv@{?_g>(PSDYi%;baAT*VwAk_X>7JVo48#B9#pe0TfV$)@%K?F*|*xP6W4hZm_I=XO=Y^M>`K~T>vK(N)1@5?q&2O0Jg1NzNsB* z{|d7wWKm59Y&+5L9pD>OS!M>}mvX4G%p~Q=quCc%9@p;V_|8d&TZEf4F5Ka8!0Rk% z6yxdB!uQr3&=tBE-Yi_czQv$haXCX-n(4TFeQ!V?ULkf)B=dlB)VCIwukTUNlyk=E zTL}kWU!RW!K@o0@AN4qWXTa|3dkwTpBdn4AlL@)scsyV3iwQZtGrLhh#>MaRp#Atw zK>Qdl#t*OdD1P68-H#uMa{3;FoUgCZ(^u>1`(;8O=l0gY%^4TJm*C**n+bgkm+>RI z{A1sjAHN|WCV=mZ)5pFrUygI5mpCDylVjhRAMO%_+Wh1EXPmxe34Iez58G4Jhhf1;AC9PxrFR+>FmIf3 z`Z%Z5kKfbK_Yj1r4^6U2-!%z+YqDYc3?gQnzN-@Yu0{dh0SW43okBU5v-=YICgCAt zK0D*|F<<@o4MQg@pEv5m@I<8VzY_Y^L0>lU3!a%07Rqu^odUNu`kotceST)u%~Z!LZ8iLbddwP^sY?E z)m4_Suh0hwjgPKy~Ci-)z8cy7eDs>(j8!?8;F^*6P&(@W#r1;x0z++ z_&#vP>EoR0WVq$>c~u!X`g6wF`AwYE$9!_e*}4AqgUJ0`895ggbvpa!%gDK~DCg|| z2{~t{JM;O@B5k2@ystvezi$n=Z)@V za1NUAo%{wZGLH97Lf@Ky$9oV=>YIYg>FWlI^FtN$$D@A({S(eOUJc~@eC~5y*l$LC z({MR`{iV;m^4IGF_CG9-1Eqnxo~O2MSXmp8KxJVU~xOf zdGM}w#_2=%OiXU+XE4v5N@ScIzLc7!SAnMy5-L6 z-_2yUblEbY@y^!6DY$x7j{PEodu~b3?zts&qx+kKGp!Yat6S+(G3U#F3K}w7GKSTZ zdXO?S={bG2r01lHeLcUKVfnl3o=pv_do~zW_mgw`*ZpMbUcG)&-SEVNEpJq%Ti&Qm z_r2r2KmO&tZqugR*=$YcqKjPtyh9UzkQ|Uja2$|{8pr2dnMSf$8+gngP>*5 zvs3%m|0K27en08we0`0d)&v<1)>v>rZiSGPB7yLNwu-0sh$_v-P?)c!r6LFn-R z#Df*Zbg}jD3S7j{2Vw$$2*-X?_zl3b>)qhpCs8cI8&{EH4^_=~kyI`b^od2a5VBG{4 z+@<|xrH%}`P%gDT2P#0f zD$@;z>Qflh`h93mEvU8+%=MFuIx?uOpx-X*Dg6=i$T~Q+^AdX8%pCa05Zd8!8P$Ab zyixSXRCWC_9l5T@MYY>N`adknjUvgN-6vAVX30odhnJ)bU&G|p$PAFXo^B= zqbY=7k3Fr9{D6>HS2V3e>) z>#Aj&a5!x{j&0dkzlJ%BO)PLcU^@ujmTW4>T6Sj+<0;8?*@3xk+1g^Z*Pv|efNZaZ z>_M}$se$Pn(peJyZa`U_nGC>r%|x7-&BKyQGS7uFJWZPi&g)d|R7~dAp-c~xnUf`^ z<|M-UUq7soVOWE+y?9RZAe>j-GZE}I!~s#uQ`O$t{6HKkZRcqN!*k2aV=tV`O}Zx_j@K2bVyE$IjB+&cuQk!G!}ftgnxpqZ@=aa#ec>D-?7fPeYoe}q z&dE2XbBB`nTg5Tr)u3}V@lM`!)@1Nr*2yLW?>^^{@p((5UyY@aH17@R&iF&XFYFtR zOQi?M|6uLS17xX7134C$9vB4px4BpQ$bF2EecP046wVVa5-t<25wd52@}~>W5uPvn zl<)@O&BCt;?Xv>@zc2bZ;V*@M5N1%o7!Jpo)A$nWC7N9{X%ygnMUN(;fKL|9@md-K3sT$a0L-nW1HwL!cPfpE*q-m&x^j3 znAO?_=(D+O2%qECj0c}p<|DiqveqQc+KhNO5&6gNM&d#ty9G!u6*db`61E6W6P_vD zD%>u-On9Y`U6j=O8Q~X&UlQIUWG5%(9u+<={GRZKLMvyGdqMQ8Le@p}Z{-g7j_4Hc z7ifI$8Fm%+6tcUJ{08B8;laY`!dXHqkC0z1`b6P!A^Q_qZq5{1c?4~9BY~I6{Yv4# z3qK=d7b43S$LEO;3Lg=En~3L#y>%=H&kAjCsgbHj_EP-=zSTP@3`OP#%God?$|F>m z{s~0HtC5Iw%_O3n&``gXCm>V=Y5Z9I21L|MpVe>BYvDjI-*VJnBtmG2a2OHc3>RAX z2+!&-pv42>P9h)p6cORRM?`ponNEarI1&1-BOLl|?GyCoSpK2sW+MDsyb!p>3wkUb z__26EpM?wB!iC;x37C}2xAq$^V zw(uK8uS1!~V-w(&V|4=MNb~*S>*I4%hsznKkL?j(Upw^Su`+#(i_^Crc3&T#H`n!td8$r*+ z<%~haufy)g?={eExSVnNICSXC@%`lTg0fC-tmIsIvGESCm<1QBRb=(=O*Mn zin{*yjtOCBW&6+%_bt@fObEl>1D7iYd_Oxsa1NR()W>&@)AzZA zzI&n1F9%K^-~WF6CPB#->Fej|yEmclJ?P^)S7)3)wr_oX_d{PJgcv_QCoX<$SI`gZ z1)BTuuw9Y~?ffN=*OLjk*|p{8XFMZ0`lY!7a#x2|`(?N^KZcwizdw8FErRdj_bTKN zomTpx8Q%4S&Cgg0InE0i0za%9sjnL@hUq0QXzda1Ck$sZ2+j<93w*gV@B#L=V}j?b zZa->F(7@~r%*NQw{EV@q#(m)V8B34`m}q{+-sm&HT!;t#>vlvW%+re04%ln1LSbMd z*f;4^?jkr_deR5TeB4=c3Xe&#ylQUI+(apmcUUwKuj1sM#p!tZ~;CB;Rqq2|<1HWqWon5+5a zOK3JO^LtIq@2QA4Mx4R4SfzF{Iyt_1QauJU+>N+eaGBrF`+f`m1!rCr`{xQM#^Lin zB*!hR16~yaa)rZzyej%&fU3;+dTBsC6CY~#$JgV-($Ro5N62%r(eQADyfPdR|J0Pe z923ujLdc@3E<7g{r2Bkw3L;$KK=`D-8*1J7JL2gK%M3xhy z$#7i64>}SnGlJ*x45yHn5BcvnGUtuQ#p4GgbJq9jM98;x5|BB`aT|`)I79w9xJvp9HcsR7qgpI1 z%@}oY#oKCBRiLgmbPtCw6IFdqD01+nq6*tdMGj7?v)Yj!>^SGn1S~lN*m!~&zz-fG zKU9bq7hx$%<5u(Tv;U3lbE1950eP3WukAo0Zpbk4M+j|v1aebE&k~~DXnKwkqB1c0 zqe9*bhVyaZR^blePT>tibO78b`T-(};@5@W6n~faKPKX1G#(vPsT(FBBdt{D^QP5$QNpc$SdQ1l_G% zpreG(327D~>MIhV-^u|yW=Ml?@da9ZA!p?YX#OG3J|FrsJ@CgO$aK9c|2BRA`N2#- z98Lnw|>pDxQ-IeoL??(3`b z^zk`z`qsnl>zmYxzO@N`{XKn*m(zD~LSLhJ05dMV+d=v98{+9>E5PZy2X@BKnQ5?a z+{_tgWnJv+8xDO}gUS5kbMN#$47>9KtM&8TNQ;c)Jq6m?$>P}T6_O!19_x5N+(!}E z7Pv87){idSU%>ACz=~xvVZBH@jpO|cc3J0 z!okc0k_@&%s$MVDa_c3VlV$Qy<^YPG245=%)b}&5ywF z&mSd^*WL-a3s8Tu>^kG*ICe|BGfzQofg^wnmu47*{P;cLrI+mn7r%*+LlRrf6MlxE z5VPKP#)U<6WtO}pkb47;7+UWy zDrV4q%l0Atoa~Kn?voqRuVGR!yy989&41&)hSmofOfLMLen)D=@4jC(ci4<&Ybf!; z+KT7*n-PYv-we}kAqT~uzrvV7Cf4uy2yR+5uVWR$#uM$&!KiJ z^?P22dzVgUH$fotDy1g&wbn`?p1BtH|HTLHrT|t`BrE9fs7+U;u~G-cYv`_H1R!YUVzv+V6qPamYHz{R#r9pz;gwU$JK@ z{bji2L&0pHT9(Khi*Jx)pKK~Ok15H08$L5RRy`Ft9^jhIeTIU$zHqP19gp99ZW!FF zAdT+5+(uw^?sd4=1XTwEy5$DszXUIZ-%<6@YIgAkg|CwsVMMy{E;WudqN4C`P>?&s zh+N@eXwJm;tLxD-xZ*(;q|;c4Lfo9-(ROlrkIO6-SgC@u?i9MyFFD7hzker}_mfxLew z9>C=AJ;uNKl<*yP z8?HTgGHGf=E#-cU>xZ~{52W7_J?U21qaD3}4SP}NA3^gwq7UkuU>@SZ12%%=XxRgn zRkZ8_OB*bGN5gU!EGNJtaw&ZZ+*nL6gj=iUHWO~#pmVF-@c8syEVq9T-LUj3b!3{1 z6U4Y(jPXIArEp?^L0!eykda;AWZc7!{y}g}?c}XR=Xel&mKH|+Hd;^@20RqGFQd)~ zRN+EIEwEHW(1X6|PPg%h0NjFp9Ms@dd3vrN7LRcOSx~tt*N?9tUX|N&{r&^Dk5}dS zxqhpmgjcSuZ@&IzeysGxWCi8IPm7kmIHyBo4Rfp#KZGjG6Rr7QG_?gHn zJ1N(%39`Jh$L9L|2odB}H7(a~3=+w!3j1e%=%Ij$)S=Z}#)dU{*@@LQ0x%3~U)RN3UpE0ds>7vxHL29Bo)qXZ5KH?;f>G-) zf8(eDZsq$7OLU73L3A%ONYNuUEYZ^&mZ)rtW^`RBNGJN9LDhA&ZeAN?}H8QI1k*DtYrg+cu;x8 z4sqt%I@~Kp%T9G}TG7(h1~*hxbZc4BvW`9Da>0adtk?sA`ig2+o`Q|eLJi))5eJ00 zcB@-9J194D)aW_37A-p>T@f2gI)GzDy}-k&y+Na~7Hl-vlNGrYtpj4 zdiKQ9zEn0}pDkdmTGdDh_RFR+y}8OQ(_G9Ia}9@OyJQNJj?J7_KPR_O?vUQuT(4}l zf!Y#5{?yjwCC0RVQO@zza*pA$zjPYOm^Nif)8d6onikJGV*0|S#Y>u|%~~{h%G~Kq zWK5erck;2N46<=9o|@gZcJ*qUSAWW~b(>ZOa9FuvW!vi0npd`C^lCJh-7H%d5_T(E zHYJa(FOA~F?ji2khE;1<2k|%|a%JMg6U^7QG_S-;o~D({+SZ-cw6^W!s9Y^uy#hzJ zZ)|UATiIj_ytGKl)<(gH9V5P}H73u_rcjoVvVyc?Rf`*f>kubq*!-gwcZ}@xd5QcB zkA{!JLVj@%L7hDw9%vqg*fHWA0(P0PaK?=3O`~*=;-h3yk#1Vek;zSMZ7AMN?Fb7i z38R%}h=|LFxpSvBA)k+!KW%!`qFM6}pF2H~E)9Tvbc0Ibl@u)Rz44=n{Ztqls zMZBSG;ac6AC|uEypsnJHvZ-7icE~72IF?UwA+NZ{r2Lg*?Q2(@w9y-djAF!b)@Vgq z2Uja;uGVrnt@;zrBg3jQ8nCm9utQz{;g>;{8SC}$@znYA7SEb@)cm6s1^<%csHF!0 zbwFzq@?Uips|zdiO)aZd;fd!ep6Q#{woeU>wc@6^cO?3^PmC6lopQ=ev! zamjEEWF1H}VXd5%8(U{rg)@x(LPr2euS?KpgQh-~O|F@|EWy7%L4PqpKc1j}kf1q^ z>kPy1#=vAq4+KpomK2WlAClnnO!^YP5OBQK8Tvmv#;*ykO7L%s@oR&}6a1)}vKMK% zK+}8ss_wNG3n~`;doI@aM->=B6fk#!wM1cWmN#G#ov6S8K;xqVXDv`bZhYP6;Waqf4y+Luu*8|d4bPPe9E0HJWpunbHUxt5dnUk?g-~`BKlQqSPA&N=wAwd zE41^sz_)X^;BPQq4)lM3aHMd&@L=Io;o-vh!bQU4g-ycMLOYKO`ZtO`Rrqn?xk5Xi z3v!o=zDjtF@CM=MgH%%{2ma@ZUOwS9p1T{MBqS z|GbM;E!Q~9)XlCN__0{1apllHrpKqscHSE5=hr|Pz zaq(LL%Gb9J`WT-gE~3-Ny2{u0sCWP~PTvKfe0}YnK0Jz%zFT1T^*t^gz>L#(6DVKb z8J<2o%8|Zr!|v;QLOg&Or|+Afe0^IzeW(f|eZPU7`kdJX%VX{)!0vdzg5B50Gt=Kj z;VHtMRf)?#&YyLDU=28d;|kBgS!-Z%cFG-q`mEqNIBOmjKisXTY~O%<5f|TIE?lu8VGquxL&o#hxe)}!)a#d_2g zq$(=^6KXO4%D(XOl|O=GY5vu(L1m8MPq+p(I~f@tPNB;6$*}^;?a5n_{Q+%)Ih_&3B1U4~Z>{<)T;Y3GEiWV*W{Tsz}+brAxC#xT!QI>4dXI zx_GlwYD0!J+g{Rt`x4qCSx#AW;?pW0$rRTnu|!?FMu@QmlPjZQIf)G{iyk2)sbu zt>73WtKM*84P29h#_o>)-yJvpmmMIsj_IfXHQBzfQU9~c{ODF4zMyIP(bMNG4o+Qm z(n?Mp>9FWJ^1Bv01(!-FTR=82YUOy*f>}p2Eu40&cfZ|p)`TM!u?cz8isdD7jE=^I zQ6QRHTHDvQYzRlJ`G9ha6eHH_xORMH@b?@dwZ56o#zQ^;$lKw{= z=VW`fWWv2@8zYDKd!^i7w2>$*9OsPd!$*i`IL_&tj%$9q_-yE7Ph!dZ?Q4F~sP_!l z0P`CPRlU7YIS$EooHP6`IM5M5(sL7ZQ-WrD&>6~K>Ifj|FDB^kB5VzOa;XfUj@J3hE&YxXkF>5An|m{5XeaAjNDrq=c*tVwQO zx3VpOJNoE4bKkhCxloo?EieUzM=Cu$Pd}xusiZV<||Njimtjtx3M!S0MX5NKX*XBO-na zg~tj%B4qhZqY$y~pd5;_`7aVxJ=5Ld0fcJfTe$;a{vcN;`9qmL$gL)VZ)28@k4T$- z@Ea%(+Qqj~v^^IL_itS%jW$Ndo_hC)m*Kca`=7k){vWB|ehF@)Gb}$e!*NyNYQ#lz z1?sR?AbT_@!;58XCN2~qt6u@O@2b;58jpvWY54W^Rp42sf9hk|cKVjX?(5qj9>9## z$NJ9K$2FQxAJOSM6L#uz<_cK$a!O!#ywhO!_0>V&t6(yIEapz%1)d*RgFB$>H?+t& zeb<0?cCxNRPeO}i2#$9Z?0&d^M#ZrdZVVS$9))`g?9LCYI9DuuHfg7EyqjS6^__qR zzX&(#W1ZyE@c``353IqVU=(SQalEg9_Vt|seGPDT z$yoHiG(YaE5$BD+7Qa#X{_(GxykKlbfI5ecs!yNG##TkbyR z_TWogIlOu4p>wV|>5$n|->Ar3zT)6H*IabXod+3p&7GH@J084opwi%tG2Vejk$3u< zXSVm7ar&A)xA&a($eTxJj!*T~%H#QOwVs@}UU1r~%vKy&Fg$(D@!RVTq-?b$u0OdZ z;!xi;+ke=v*(AcA_4#jIe{$HjKL4$yCx^Z3#eo&lYCY@k1p{-^_Ri$6U%m=4&(9ug zG0$1dD~w{yg9r2DADFS_0rbar%QmLxOntl9&Fi24O3kQQDWik*oJDUJgT^X%4(Bx( z-wMkf`sYy**3{ze{s@KLH|U=q4yVk0;FbF4SHK_o=bvXuybC|2b<^XZ2z~V*hd443 z_GsPoPHM0pQD%jNle#AjMFX8mDZIf8mBJ*3dNdCLH|63E0-EEApbdXmYJVo z{&MgmmMqHTRi+Qlch>P=&kvQ9kOY*f0=Nuz;m0`fxu3(Hr9&4slBmeU zy9U`m!!fg+fnS^%ikNp{)iS~f)C64@A}Xo93d{*k9z+x-z?xb-ly;jsu=6IAhwkkd zO*n2ZTA|TQ58S?B8*V{Qwj9U7vK2n-xJEtbxkgUc%4tGf>c~vtA5iyU|EQoR(@duW7~{Z5H3YqWE_Z5aF#Q3V(0f$O z!?V!)EW|%`M1e7+VY?-@^BHL9^9Jrl>WGo7aQB7lU}Nt`{=s0QZliT4lNE{{d;mq~ z!gVIDzMD2e@L=ja8P|GTwxU0ENG;ti$HjNip437eLH{lINsVR$S+U@)4ONdGOx0|+ z-i@mdqmmkZAoctd*H3V<0tzmJ2c{3pve9ER1uncQ+WHRQSTe8Nq`zT=bZmI^Zn$i} zGP%A#pIqNx)p1jRf*Vh*?wP92mi7jyiTTAH>Ebp8sCAnHboH0phv)ewj?j$_%JK-^ zaSTo}G3ST|Mh$#z&{hJ_a*1eW&r2(Obwr9>eD zOICRyRz%njfDkH0u?r1~npIPD&f)fiDC?Xpu-(PTHXm?8rOgNUnS#m{ z##N4C`sqSx8m5EB(INH0>Yr;Gr6U}=+$F8ZVM28ZGG^eY+LH$ zR{Y~`xUaVN-7Nr*JbSur|IW6RtF;?|H_ZKGE}cIVOaB46!?JrDt`=@h(A%;L!Ec+C zZN+;2Nt1FTk3D`)_82%F1-h6!_ITrOoRmEobbanvu;(0cd`wB|T+G(?htD}wUYFe~ z3_n+&IQ;ft4y5_-LZajomROAZ5vN%YS=t+9DY`<3PN?%W5T=JI$*{6O-;?~ zn%46aq4LBs+0xqj*b?B_#s;BcTT~uX91Z+B{2PL$Y;HkG-pANW+BwDL52I+rbLE*+q3^JYrQ z5W(HA2u}#P#q}K`?V=UCol%ajT)t^Fsv?fhwrpr(h0xyO6$dX_G5;*2>zA$FfZN4l z`ZrDa!R@mZ`my`z-c8}XP^F5MpkCZM$$-^J4IgLKW{fFkgQ#NsJ5B;}d1%GV728gB zl!)rn4z)z=$y|Xwgql{YJ4xAU@jp<{2Y zQl)_E*xd{|Dre$KqPmmn;`M5j>nbD2@eb9ID@I{?@9>cMkE?qUotjwrh>jj-T~O{d z5_??TE)S)uA^AXdl)z(AR!2NL{5;iDALZvME88|==9KrSmFm7&Ex_8dztcmuV~3H^*;MtQ6oBj+JXq!MXMjvk=UaS$8#NQ6SBoF_SPomELOK&~kwm5CZeNE2RrVGt27Z`uiuV6N zQY`vz)0TLA*t+?9PI}`vtv~0j=)T&3{J_PWxAU>@2ets2+@&&oR&9QAmoD_<3_tdK znje8aP5wX2TsVGIGrnnjZ4Ur)K1ygxAHAf@&5fgcDc$@QFPRTASFU?W9JYdmU()A3 ztwSNsrDJ#{Q<9_`&t>;b$GLU!PxOv^gw*-op>K}_&C%DA>3B|h-x3oxo|`@p$n0d9 z;@rD~JPF2zU3$)t{s=D0Gv(Z4;}p^4^?)n;_Gs8K(VaOTYifjZ-@;mo-(EwSjo;}^ zH%eObF8tcV;~4r4TP$(ikmJT}_H7so)G^q;=}<|sL~tJmb{rMZjo2*QAY}UJzD>A8 zc(d?M;r+r#g--~d68==k62ZA)40izLni)dB@6Pr0M&ov|{Bb?7%`pS=4szcH-nTSv z_b~BC2oDyr1C;&_7ak=%LAXrVB4j!#j}BtPi-b%s-9IC|SNL7wPlT@s-x8)!Na(Lt z$hCWeKVUHE(9yTTMY$S7AS>>{-N9pK(ibc4{=gTsBcXpT_QzwPG$JX!Qv zLY^&X=@N2173n*L4+@_U{s$0Nn#UaMW8bJeW8r2pUBnPQQ3(077xncUZjZWV4K!r%GgUnIO-c$E;h z$MPjF>?-7ZBIeh=M5O-!;b`GF;ano(yFhr1@Oa_L!cD?6gj<9hpQ8V(gr61OB>V~y z>EK`~@loO9Le}$i|GDs&!e0w<8*C0H-`jNgZz zD_ZttUz!|RY8;f@%D&Foe%Or&-}v>*H*T!&@Y??;pK*%&iCchMZ0!d?Y`z+4+-5Ta z@k=>Wvu4H!9gs)E=ZeqV?&KOElMI(_M`u`GX@=uMu?re;(G>RzC)fe3OjC~GEyCsN zYXrfv?Tphm9}d309Z*C$>f7*S7$K-%5A+vI26xzU!fg@u5DV({~~4zP=MW ziQhKJ`TB15^f7#=?+dW|`MeJL{Cnck`-s8?n4#Qts3VUQL2uMe!)TFlJjU7AcOUdM!j1Y^_c?vN68a8< zzGGb>ft=IV9Ts2T+t618pZfN|<@61dz6Q9_T#dT&DX#!hAFtsFxpjE=&ZY+$CpS@Y z&iy{fH9G>xaB0|{_T$%QNGZLj)}#1w9%{y$>)Ibozx**=8lsmC!2-y!4a@IarkUaL zJ~K?{i_8|hfUb`yFaO}?%Pm3tj&^~8=d2?eiZQd>GruQJ{J?uQ>|jB{(-Ee37-qVL zXMT6Hvv|Ujc7Cz_p?=*S;QUVCb;b5R)4DxyB+?(|cSWim_8KlkdD3*2elWlDKqM4r zfFA@$%;~I#WabgtC-$9TPL-DtDzY_@%k+hg(s|&_63pqew|2g=83Ls_o%}S)^rE&Q zb<~~7(7(#Hfe53WJDY%7L72%{R$VK4-ipr&Fk$g$20QbQumRFc|xJvd!x zWzh`soGg^;7s-U7zXeANeJ=~08O4`L7<$n{XJe2J!+7YEOy?H3r}l_+hT$@X7Vb>S z)bity7iJvQ9suN(J-ASNIhc2c31hb8gK9#W`X0Z+Vg`xHL>DJ98yNV(WtB2=@L z;e@69`_AI2Dl=cGP-ezXbvR>(hkVqy`9WP`vv_JdnVrKshuGi=UqG;%VoU8ngod}8 zbxBRop1vYoc<;S_t-+w{=n@Jq2*twRzeXK~9dn_={^iuM9^m~e70Hr~A=9|R>gdq5 zqkB2IM^Fqh;VGj31V?PJUH$=gd0-pe#*EOPhcsfmXw@>#jA%ctbtR{;AXCv--i)C~ z5GeChT^g!|8*+ulr6;7YvNfFuooqJ!n_sZ^{ z>zdtra5jypF?E<+lE$GH6LQ_NsX@gerR$ya;7+vc`vJ7Lua9-ha3VUoAZu;*0~AXs016a?vmnvXP1II6@Zl zsxD(It(|XT5ot$(j@_HY#Ea6bmT08W-BmX%^e;JL933$co!e3NP9w9!JMGU{faC6u zW+}~YiIsw~p}2Wff6w7I>sRr|+xSj$hIKo?8Jyv}0ON04%k8`0ncP3(SR1air56I9lij{Q-1{rimZ<8=K5Wq=ovc+mz6JR)A%b5rOs%P+-Rw%m93Z#@scQ#=cEHyIkjPV`o5?L(=$kE_;ssNb#)?8FB}Uo+V`a zlm3qqvguCxqeAOb2K{l-TZKD>JB42m-XnZOxJ&q)@K?e=3M)`386Ni?Ar2ODUp$^~ zZhM$_4T3qOf$a05oGljw-6Z#B$@AO;`a4r{+lly)ze@NSx!+1epVK#p(8CSvh);_D z-=d!r{+tN;{}KM4hCUSWYaX;ZG;aH)KnSsycRFs<~JVMCl zi|JtvL_`z~A!^8vOS5&1fdi1290xA+1rzL2x>3N-(a=R1V{Ob`5_OU3**GC$#OiSpORKp|&ioscts z_%VNw8$y4eEqv&=bc1e`{<-2WAToX*x=$a6+G%8-&C`y(@*S(5&Sl~iODA%%TI8R- zGyfl{FP~-889ZKQhT|8-%*qWNcA>1Z?6O=^o)>ABClt+SOkx7;{&%y}Hxur@zNhu< zP#>Qqr>_-uU*Bx;0A`%Nb)bBGuX^!gyqvzPVfXdT16?kDS0wbk;l;1u>APS00A`lr zmkVZ`VOTWx;qv3hjf>s}lj*I&<>L1^?9LCY!QIfscY-sH_Y*icJ9(Gk6Z={x(N)AwiCogY|(HDFNA z8OM7Y4!*wYp|25c)W^Ep>Ej#{=LgQg4lo|`9GtZPi?8o_=qo~=`q&0=`uahRej0Gm z9D_o4HS*9I@^}qR$h{8bEQ8KCxzUny?vqeRmO28+aB29y_T$G)YlJ)F$F_-!-(iqL zbXwtLW+(KGaRiXz(h$Ak7VKi-gaiBMd*h-$WPye0B`?^;Lg$otR^CHjt`QFN%gC`k zx2b*YI&7(Ief7KRqn|i-oO<To&GenTQx?-RhTV~w zQ!z8Of1d}LQp+`@b3a@h!&1IkbWGjc$%__ubVXq08D3CQm5dZJ$DEje@PtoaFzMe; zgN3L&<beD9LCViI+p~USZ zfP_HDBtXE$ppyU`yYmoY5`GZ8e|Q?3W=>n!v|#SErulQMm^f!TOCV;3xLnlX9S++ZKnb^JEqJ9j;mrop>v8=j zuAkvzUAH%`$+%YFIvdw#aXo^I-z?nmdk)0d?r*0&44;RQxPAa$SbtZfeum1Cd-Vt0 zp~W{C^ZNm4jQRbPkk0-WB(cwWBjhm7x0H?*m0d{XvsaLpuPgvE6_E5_ zvfS6CI(sbaHGz%drDtbOf+iQxCAGf?m3;?4L6#p8sq9)9zH^-5gj6j*L$mz$3$jl@Je9o*zv=9SaL!~$T5i}NTaf=0WYUMF(wo7m zS^^)bBfGo|J53Q6wwec3SPAz77<`@#n(B(*fyDjeei}8e!Cqw}nKL8reIS+E$uCuU zpE;J9F#~Q>=)H==v8lrn!aVYa!iOEeY-Yx<#uZe(2d}9i3E_`Rc*wrI`8#l3Y{Hyx znA$5Le5-`_8p&+F8-gq#K^IOwO?6KQGYZ{DG85TuWSfvesiCz!t24EG)*jWnd#W2+ z3+W+2b@iceLaxe+?5XIumqFI;Wsut=aLe{*p}AJ+iDoBOr{IJG983ZvC92+cB$AuO zCwDHWc0-Ld;aFyuPBmDvNFbG9l<=6MK9R(o*@B9C4p|Cl& zfbb!Mn+C7A_b@2GGE_ygJ1m-1>1TKHj_>>X9lU4kdD#6n0oJQ&%|{zNbe)6#GWj4o z+6~-wvw^$OxnpojeW94fE*_~8v%fJ@xjj~ejA(E$9PZoSeD#&DXe{th^HopgzM;Pf zF0{u`yI{0&g2#)z?J{0&b~b~3=7*qvCzUF_&GFXi&>$(hs8oZwK{t{mQVhjbj>tHN8%P$uTXSypAxM~Kbqwe z5``9>c+k0Kmjj9BDB7v~{&Bad^l4!&{bVU{0s1)?YZR7765~a%l(Y`vTT?drP%Mq{ z{!0$!`We?*d%R5h-T#s+t*7_zU7}t>u{J*)oh`fL&HE08t8|azC6|xY|FdylzUlZ< zcII!Ti%|5BI1cR6N6g@p!%s6B-PTvgwo_=(AoWZJCp!6t@?nQvD9!X>Al5UPV4z2lKPW*DNznTw=wS(Z{{%feK_8Hy z>w|G{!RL?VUk{Y$nK3%Ay~7;8+Rmyh$=3#(WAfdDPlzr8dvMf^b(9)*;n5CL7ag;B z>dg94fh=R3Wt_82DAQi(Sk;*erkb^(ITtnq{6-_Wj*ePFk)zrUh$G8B&o^Mn43seA0<5S47hTv~Ykl ze~r9_2Y(hGuqgj5LDa*NLS%^`HV6S_!|BW&!vWZuSMi1tKJjTFl5WVPrt1SM+3ArA z7kpTa&+3dew+OchFBV=Vyjpmz@J8V+!rO)S2=5m@Ec}-6 z7s6i(Ul;yC*bNT>U!mkQ# z{y{&Cg^|Y1eL=`6*Yy7^VUEYnZP?Dk3IjuBKgoaL}=kauggEnALwr*ANnpLLeI@a_zQv-K5D~9t(QAlI?_V{)qJ>qutz3+KRo3H8FbZ#$_{4~q2zVvW z*1=$10q|Jfb4(=e*}Z!@@#xqwPwth}X?UJMS&!~rRz6VY+evj)5x)7}$G2XME}Q%u zRnA2(aLeYn;~0dva-H)m$#LZzCxnjw%!iWye>FFS&oHWWjQ@s)&mNzDXUOBlx{!#+ z)y!P{`f?R=KLUuRPS7a29WQg%FMMb7i-vM}Tx)Up;qn;W!@UA@xo|Ip zyC3dWFIU5CpV7w%(l@WXuwbh&U@xB1~-;e}fbo(uOG*s0Hj`!wvR zx+3Gk{R>?DaNhu3F5GwE?uUD$7cQ#IDBLmcW+_gRF?_bbD7b3a(V?n~%vhCV(^&bV}N zNYmF>gF?Xf7WJ{c>(cSvgubi6sBy|9N0M_zeSPiF=kkU3+3Dl>EB*tQ-Wxm7_tS*F zi#>g4>PPziD1C7HKkU5;d{x!eHh#{Xa&qq_<{43aPk20|DFRFFA>fQ%{#8Ztp5 zfy5+?q9UT=P({R{it{{Hoa#gsXRWoUtwXh~Q>#_mqO~nnTfgU7XYG5>y$Ra)|Gn@3 z_kQp1J#g}zwfEX#%d}}p3X1(agdr21Gr2O{3$>R3_MhA-63ce;j=*4(> z)o1Cq!lueAgl%(?x#DgDO%7;GDXCfzINp6qVMU zeV3o_8|ZhgF9H)UU;E`N+_m0US>N|f*3eNy%e;@WzWecT(1@y&EUR zr*&I#-9hmqyFNa<&Z(ST>{KQnzo_o5UJIAe_m#S*_RUXrs()(V;=acFyt5*(B19}|e`XBZl z5h?Fjeo^`5`|?BH$(Pqqf%{P~z@|6k88r>pn3=pS3Ym{vYo zTvI4H6x!|L^ykHqwYgr|)5?!Tf9 zdG$PGpNO^;pABk=zcxXEz%cY^fq`9y;yGwX_M#mJrla%1*+i4Y$@u_OFc21tJ^bmj!VK&&uzLq|r93Hb1bi#`fYtYF#8=-U`JN)?hWgrTtV6sy` zu!pb2pFmHt7P{<{0+S#Ro80H}*(PIIvVn|G<4WUdj(M}Wn1))E5Nm)obExIUdW?ushpmLw}3&k_!N$kla7@~ z`&Kzc$+zLuVT&_6mv+J8{gL<19G5l5il2a_Idg>w#rq)(oq0ky9h+8I&U|@}$6tT| z=V+HpQTcHWUd}P%QyAw6>KyCd0iPamehB0&5TCyB!=RV5P>2C>8jN#}6Jk)D*0h{O zE*G%M;@>dN#o{wQUPEn;7h-ap#w45*gqRvX3(7hbLd=N&9LaE&xU4s`6jRcaP5E<4MG*zDEjM#z^kz=vSW^DrF(6Buhl@b5@hhxxg) zbFW2Q@m)xN?i>+o#ji(%xu!I3C!wVgzn6q5jz>rwEfMC&e~eV-dc~29KSttM@hOa- z3ypKV;^+}CVLS^Zp5pj$62}RFf+Dd#>Wptrsq}(F*zVGw6=Jp(s7C(e zE)AYZsZXPbA44`tX2z|&pTN=XmADg5`8>nP-iy3PGs11}2;n(VhP<)&7V_5!y7KD8 zhe0T1*Pe~jaAqTHDdl|X3)>gZN%D;bpOsI;hxYG%{*#UWWbwZcO!j*|e_EzX6jP)3 zirM4`;_ioAWXd;F`FkmomgtPWcc#L;Q^YVw;XV?#gjp={9F5|z-|&Tb3D4qRC;rbd zMq0ZwGWo+};z{PgtG(C{wcu{VEn!+E%x19LcT1Qt@UeG1jxe2@>YCwN#P0KQ-0X@I z&(ZttQu=c$!IjX&CTeu|xTo>_K5njlCSGOA?mnIa2}g?{?gB=&5q~xzu);m4x^Q6~0KFa%ohiZ(z!ICj!wlvT)AL-K+oi`6y6tjeE(N@CyUOZY(O zHK18O);FMloS?K+nY8xuJF?+@{ivud2GmJiCZXhaS=0tubkW>=w;yIGRpiF=+|+3`YawteZB=v^O#-+E}qS>y^x3l zaC;fJxSqrIB+%pNwu~9Qcr^=g8ECc&FD;9=Ff5ndIfLlVy=C?ZGE8vE{SMqcPGJ$B z;F2%eoi=7F51`&p!tV*(2PENfBhq>R7me@1Ljkk-F+2PJkdo{V27AZf z5aIyRv=AjHS-r~#u9JMmhfa8K@Q|uT?`agQMs}IiiDIDbfNJ?Wj5dBcH8gAxD3&~9m7IB{7LSC^znQzJ()}n_cGrT`;Gy_a?E}V3!xIo zt1-URMJFX=VEbR{()a&ICR9j9N8qT_zD^#Koa$wm(x-YMlw7FJkVI3rDM@qrqg}@3 zNt)-6ZeAOv|3DVZ@n>dRojgf%{Y-6jqJpRc%mzZCJRUW8!o6r92^`@`U!ocb$OR9 zX)XnU+%S%qrr@!ArlTjFEa?c?JM$VZf4v@^kL>w*F$^ygf|ZGvq5q@kg=S88*LX#f zb^n#|_Jy)R?^pi+2kd3R+FoHuRWkjb^H>#J*r%&c5nzhcPD2@8e~8#(geA=6e?H>|3uwdCs|UGMw% zY;c(cLjQO6wD^%aY>bAxPylUgb>Ri1rS_y%wJWP@o56xP!?NmT*!hve>M(G()URmt zkqqBh-Ppj@NU$R`V-e#dUIf0w?fTemz_$FS&A}d5Zs)KIQ(mzn!yRDFYj~t{xTy31 zc^-o2-X(bK?aG08xskr%u3+t78tz&Q6JbNb{Xxm&P&u*Ao`uhy{Nl&SVRm*TKRmj3 zxXUISsmB-)W&s|@hKJy>GarYfABRa4_H_B+Ka6v5rDX(P!fpVZi$_t=Wk}i3q1Y7= zal_%kflx-2?~u{$49~pMaPJc#e3%@Q7aJZvs4VOp2`iB6is3rkb>$enaHM~vI8qjj zkEsiHSQHr%83Ko~2oiL0cwR50K3G#adm%yun@Y2icN@}*%*#A`?`}E9L3JtNAhRXAv>Ig2^HktBmR)rNSy zMFq~-X>G1wwhZ3|%2_{FZFO};H4f~_`1pQ(ZF6Hqb#r424lArgd$h6~s> zaL}69z|zLKnt&aWqqsFRNGv=yn1Dsc^GOA zv8%=bki&*sP1VbB+LS+NhC(&xH(a=$CD?+=qCbRORx)`o><@f3YRjz7nsI~qRcf5G#0FJ7*8ka6b zDy$WiYg^4xR{p&JvWY`&0-C~UYOZQQlGRQjtoIoYW(TT|RF$e#)ypdySFs_{VxW+f z4Xh`vb4Sq@d%4%OKX-T^b-NXgR=D=`Yop@(J=L*cf&Q7bjLQscHp2Gfn9rM0oi z*CM5kbHA0GTcfre({wvW&@^MDmlMI*ig5xax)j;n({=+zX4z-;WM;Dt8wVRj3nnNQ zD*!vR>g;~T*K20(u1am>;r5yTkvm{Ab1|#KHM!V^$?PgyQQ5q#KHVpwrArT1*;G|g z*|KhBwakZD&A;F1VP+iZ;-tHG8mzw_=r+67wX@eWPg=Sx)soN@n=4V>TG2z*EalmK zwbkat&f)A@hA%}gq?H0aDtkrgLA`@qQRmP_dky>G(O@4roE>(v*LPRc*R0L7+sTTb zs?KVOlvPDlZM&B%wTZF5X?dlEKULq;)0rZWn2?d)=0!d7$)6)AI?a^qt`%c2&Ur*S z>l+#?YtV0aSfyC4SmQg+)bvIeDmfEx#d(lAd})U+-y3SLzH-%yimG)usn#0=GWvgC z&mbLJ)==%`bQv>M47RE@STic>$d{5Rd#!wiR$JD!;9SF0dRhInQ}e~k9tl1=N3bAc zNKZYW>RMp=G7R2M;S7hEHjQm&MJ+wF8Z3cJ$?^^Q=jkd$G8d z;MeoNg8uKgKaT71>5HjOU)(R3=^vK;BBN6*cmwub+%K2OpCkM;QapI2_FX}IDU`|2 zg}(F^gl+Xq|Cq?zm}24Ap6QGG1)PS52lrK4kP=L43`a>Cdkl(--%@W%^?s-FI=nTc$r3-O?BLw`KbCYr^#P-*G=1 z`v&|4f^{UvJHaTfO?TKk0<}b~4ah^fx~X z(v9>je9(*ZZbJY`zmA*nu@CBm`uP#iT=f5|A%LX$!GgI+56z-yXVFWuX#QkGC$`K^ zsNdXYWG>3%#~gHGzH~zUeo$$TKVk9v7ITrGKWfs+^LH)UgE1HV|B>O}*@~IPQuxuI zKXj(Ucd>?K`A^L7?`qA@^5>7B>G0hxetT#x%D*7P{{V}2bIe75-*^mr=H8CPtf5X` zk+a<7toqdSGRqS$X&4(ZEc+*hJ|5r5D=UhrC6oP6OR{{@iyGc5RQAlz7nw|)JTCL1 zCDeXRAp4?fZ%&r!omNCwSLki#XX#l9_3@^rdfu{6LH|;MKeXT7$1ZOWhW5V>Gc0NU zRFp5K>B$W_(v)8YreKGpCsZPZE?F#?DW?=v9yl2$l($YuQ%q?mACrF$YI4fB88&ay znUdp?(k8j5isN5kIKFZsf@YPD9*m!bi6e0nM{zeduna%@5;4g32KEH9-bWAherk#y zhOJhl(cniA$9i+B=;4;dZweWXeIT(}aU(D=4u5dojJ*Oz=Gh?5n| z6{jj5si=c{&!dz^BAKoLI$X}DxYv}UCXu5bk)v2(AbwUS;-@mOiaXOo|3egyP^4(O z&r_^avU!lmpo%ANfa}+OA+@W}v;=_v1DE>k5&x-8JDeoJ_0(4xYdnnRQ7U_YC zG+0HNUqumV>x+1_qS&kkU8(dk#TAMzit7|lQ#@1gJjI_XzNz>-#V-{3kqYCDqoNVT zCN)s@iURo^Jl!WKE>aX@XK-Jo^d`j%6~%@b{BKkGLB*#PWlt#lKU3Pq52=hNPqDkA zoW}}xIgb@6=dl78slS}Z3R=!%1zzfx1&SM2F=dl9iJXWBb#|o75Sb=gLD^Sj3 z1zz_yM>Lur~0_8kbpq$4Fl=E1DatlAk>zM!~=*avn4mHvcypk@6@ z@h|EhMgwNNabhq0l&jcJ-3JkiU`t+cin{ajAMQi)IT-zs**@9*Su6$^=wa}W`74<_POX0p<=h~S^6Sgpu!)9BtnM7T9dpRBl1 z-Op3{LdEUsevQ&MDBh~>_bL5j#mChBIi-K9__pG26+a|GkFS;fRxy+dcciC-B0q~F zeUReeiYF*8Q(UjOl?b_)5%EfRv*M2wA5z?{_@d(bihm~}{J)48taEXb&L^Twx+~qA zh&D7>>7k1J@SOZ(6{jfjV>Y_aQ9N4lc*RP^dc_rrs}$EMp00SN;tv!rQv9LfRf;z$ z-ln)y@d3qMin|qGP~^TP>ibK@w-nz~{GH+-6+c%*wicKGHH@0P-VNw$C!fQHqBt@`G0T%RB+NSm`B-s}vMiVrJ3rTCm8-w7Fx`w)pTp8)c6f6_9a00ud(1G&G2n5W1O zU`cc10CA9FnIb=irTYE^gNdM)E+&@8jjUqpiB`xz1;AKi*sVFuo;J#C7 zejrQ!XBE-?TY-MwJeuvZkTlwDF%fli01^EHrrr`x>K*cRJZY5QR3hpZrnWNvEFhvD zE+L|R))6rtHW7PSVpE6pniu1f`VVwSBVL&o1M^8EencTCdO?pKq=Cgmq@%B*=n1_B zkp_ys2t0x`Q1phLV@LzX6ER*+R+Mx=?-`_lk{;+kpEOX?g>)6bMCdQ`LFhjw2panG>pSXs1rhrFhzR|jCPJULh|uFtM8qFN z#xedvVjs;XBwq3f@%E)2pe0`rzvKgG$p`2$L;WS4&`0!#e*@j2*ZJzdl?eT$e}MnB zq@m|y>i+~0`o5&}9wPL9N9lKo(El@~_Y#qgZ5}&d(8Z*YzW+=tztn#fB)qozpQ*@8qe_g${NUieer^fMUZyAb^W7VKX19BT`&KFK)VdGG|<+E zuj=ME^R~X}1%bAHsfB?3dg1-QtzY`Jzg<7`vftLzd(Rj5|FwhRt?Qu{|J&!Sqw2G1 z$a(?8N&Dr4Ug$>TIud{Vd~Dz2#mD=D?m@0{{KXV4<+tG=ug@IxkRv_Z6P~@*dldeq4|7%NygHWwXk|l43PafC4jJ%_=a`vy{BEvgGaAk38&e$dFg#lZW9jCGUnTdB50?JkDeN`Zf6E zVK`06dsOAYNiME~eHAs7SN5cSoF%Un^72ukS^qE`r{r-SjQ^?YmAH3yf^jf@JQL15 z)9=1KybGDe1KRlg5)b}#Y#wfjoi)bW8@H(kA7{zif=avv{^m0BKFpFA!kRJrEXwPP z+sNa_G!uq0@-e3&pSg_R-?QXxfV_9XM0xDDjJys=n+XGFYYXHJpr>BOFBg3N^e!Id z&4nqC?cK=ZIwZre&*OCu7NAeeDmVJ~&Eo6U%d(D?5Z)j1@E)3_Uk&)USCop-E>7OEn*=3(=T6wr^or6FLo$wTATRRd6<7g)32=SzLORmtm48WV6{T{?CFK6 zF!uBXsb}|r=nQ-74I4rw@jVP3>~ljau}@u}o%ZE{dnl*yh`>EY&fW*+%pmvK_Z+r| zwlj=%42H4#

Lir}&&mZJ%$vWeMWF9G+*u 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 From 4ccce6f2342e7c8f8b6e424cbedb779b3e29dba3 Mon Sep 17 00:00:00 2001 From: Furkan AKKIZ <94184469+hfakkiz@users.noreply.github.com> Date: Mon, 16 Dec 2024 18:49:07 +0300 Subject: [PATCH 07/13] feat(Other): Add Zephyr hwinfo driver's dependencies (#1292) Signed-off-by: Furkan Akkiz --- Libraries/zephyr/MAX/Source/MAX32655/CMakeLists.txt | 4 ++-- Libraries/zephyr/MAX/Source/MAX32657/CMakeLists.txt | 4 ++-- Libraries/zephyr/MAX/Source/MAX32662/CMakeLists.txt | 4 ++-- Libraries/zephyr/MAX/Source/MAX32665/CMakeLists.txt | 2 +- Libraries/zephyr/MAX/Source/MAX32670/CMakeLists.txt | 12 ++++++++++-- Libraries/zephyr/MAX/Source/MAX32672/CMakeLists.txt | 8 ++++++-- Libraries/zephyr/MAX/Source/MAX32675/CMakeLists.txt | 4 ++-- Libraries/zephyr/MAX/Source/MAX32680/CMakeLists.txt | 8 ++++++-- Libraries/zephyr/MAX/Source/MAX32690/CMakeLists.txt | 4 ++-- Libraries/zephyr/MAX/Source/MAX78002/CMakeLists.txt | 10 +++++++--- 10 files changed, 40 insertions(+), 20 deletions(-) diff --git a/Libraries/zephyr/MAX/Source/MAX32655/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX32655/CMakeLists.txt index 3dcf1822f3..f8362fddee 100644 --- a/Libraries/zephyr/MAX/Source/MAX32655/CMakeLists.txt +++ b/Libraries/zephyr/MAX/Source/MAX32655/CMakeLists.txt @@ -132,7 +132,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_SOC_FLASH_MAX32) +if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me17.c @@ -176,7 +176,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_CRYPTO_MAX32 OR CONFIG_BT) +if (CONFIG_CRYPTO_MAX32 OR CONFIG_BT OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/AES/aes_me17.c ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c diff --git a/Libraries/zephyr/MAX/Source/MAX32657/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX32657/CMakeLists.txt index c037d8a699..13d76e95a0 100644 --- a/Libraries/zephyr/MAX/Source/MAX32657/CMakeLists.txt +++ b/Libraries/zephyr/MAX/Source/MAX32657/CMakeLists.txt @@ -119,7 +119,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_SOC_FLASH_MAX32) +if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me30.c @@ -142,7 +142,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_CRYPTO_MAX32 OR CONFIG_BT) +if (CONFIG_CRYPTO_MAX32 OR CONFIG_BT OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/AES/aes_me30.c ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c diff --git a/Libraries/zephyr/MAX/Source/MAX32662/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX32662/CMakeLists.txt index 11214a2930..49b168a68b 100644 --- a/Libraries/zephyr/MAX/Source/MAX32662/CMakeLists.txt +++ b/Libraries/zephyr/MAX/Source/MAX32662/CMakeLists.txt @@ -129,7 +129,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_SOC_FLASH_MAX32) +if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me12.c @@ -152,7 +152,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_CRYPTO_MAX32) +if (CONFIG_CRYPTO_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/AES/aes_me12.c ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c diff --git a/Libraries/zephyr/MAX/Source/MAX32665/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX32665/CMakeLists.txt index db5517ccd7..cea33cc479 100644 --- a/Libraries/zephyr/MAX/Source/MAX32665/CMakeLists.txt +++ b/Libraries/zephyr/MAX/Source/MAX32665/CMakeLists.txt @@ -153,7 +153,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_SOC_FLASH_MAX32) +if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me14.c diff --git a/Libraries/zephyr/MAX/Source/MAX32670/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX32670/CMakeLists.txt index 398df229b0..940d130133 100644 --- a/Libraries/zephyr/MAX/Source/MAX32670/CMakeLists.txt +++ b/Libraries/zephyr/MAX/Source/MAX32670/CMakeLists.txt @@ -23,6 +23,7 @@ if(NOT TARGET_REV) endif() zephyr_include_directories( + ${MSDK_PERIPH_SRC_DIR}/AES ${MSDK_PERIPH_SRC_DIR}/DMA ${MSDK_PERIPH_SRC_DIR}/FLC ${MSDK_PERIPH_SRC_DIR}/GPIO @@ -105,7 +106,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_SOC_FLASH_MAX32) +if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me15.c @@ -121,9 +122,16 @@ zephyr_library_sources( ) endif() -if (CONFIG_ENTROPY_MAX32_TRNG) +if (CONFIG_ENTROPY_MAX32_TRNG OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_me15.c ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_revb.c ) endif() + +if (CONFIG_HWINFO_MAX32) +zephyr_library_sources( + ${MSDK_PERIPH_SRC_DIR}/AES/aes_me15.c + ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c +) +endif() diff --git a/Libraries/zephyr/MAX/Source/MAX32672/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX32672/CMakeLists.txt index 96cee524cb..a0a9e3eddc 100644 --- a/Libraries/zephyr/MAX/Source/MAX32672/CMakeLists.txt +++ b/Libraries/zephyr/MAX/Source/MAX32672/CMakeLists.txt @@ -126,7 +126,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_SOC_FLASH_MAX32) +if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me21.c @@ -149,11 +149,15 @@ zephyr_library_sources( ) endif() -if (CONFIG_CRYPTO_MAX32) +if (CONFIG_CRYPTO_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/AES/aes_me21.c ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c +) +endif() +if (CONFIG_CRYPTO_MAX32) +zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/CTB/ctb_me21.c ${MSDK_PERIPH_SRC_DIR}/CTB/ctb_reva.c ${MSDK_PERIPH_SRC_DIR}/CTB/ctb_common.c diff --git a/Libraries/zephyr/MAX/Source/MAX32675/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX32675/CMakeLists.txt index 897a758cdb..94d88e4124 100644 --- a/Libraries/zephyr/MAX/Source/MAX32675/CMakeLists.txt +++ b/Libraries/zephyr/MAX/Source/MAX32675/CMakeLists.txt @@ -120,7 +120,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_SOC_FLASH_MAX32) +if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me15.c @@ -136,7 +136,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_ENTROPY_MAX32_TRNG) +if (CONFIG_ENTROPY_MAX32_TRNG OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_me15.c ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_revb.c diff --git a/Libraries/zephyr/MAX/Source/MAX32680/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX32680/CMakeLists.txt index 03458b6a9e..b4fe6f283e 100644 --- a/Libraries/zephyr/MAX/Source/MAX32680/CMakeLists.txt +++ b/Libraries/zephyr/MAX/Source/MAX32680/CMakeLists.txt @@ -135,7 +135,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_SOC_FLASH_MAX32) +if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me17.c @@ -179,11 +179,15 @@ zephyr_library_sources( ) endif() -if (CONFIG_CRYPTO_MAX32) +if (CONFIG_CRYPTO_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/AES/aes_me17.c ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c +) +endif() +if (CONFIG_CRYPTO_MAX32) +zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/CRC/crc_me17.c ${MSDK_PERIPH_SRC_DIR}/CRC/crc_reva.c ) diff --git a/Libraries/zephyr/MAX/Source/MAX32690/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX32690/CMakeLists.txt index 53afa9fe03..4cb6e30306 100644 --- a/Libraries/zephyr/MAX/Source/MAX32690/CMakeLists.txt +++ b/Libraries/zephyr/MAX/Source/MAX32690/CMakeLists.txt @@ -144,7 +144,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_SOC_FLASH_MAX32) +if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c ${MSDK_PERIPH_SRC_DIR}/FLC/flc_me18.c @@ -188,7 +188,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_CRYPTO_MAX32) +if (CONFIG_CRYPTO_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/CTB/ctb_me18.c ${MSDK_PERIPH_SRC_DIR}/CTB/ctb_reva.c diff --git a/Libraries/zephyr/MAX/Source/MAX78002/CMakeLists.txt b/Libraries/zephyr/MAX/Source/MAX78002/CMakeLists.txt index 11839a856f..2b37c76678 100644 --- a/Libraries/zephyr/MAX/Source/MAX78002/CMakeLists.txt +++ b/Libraries/zephyr/MAX/Source/MAX78002/CMakeLists.txt @@ -142,7 +142,7 @@ zephyr_library_sources( ) endif() -if (CONFIG_SOC_FLASH_MAX32) +if (CONFIG_SOC_FLASH_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/FLC/flc_common.c ${MSDK_PERIPH_SRC_DIR}/FLC/flc_ai87.c @@ -158,18 +158,22 @@ zephyr_library_sources( ) endif() -if (CONFIG_ENTROPY_MAX32_TRNG) +if (CONFIG_ENTROPY_MAX32_TRNG OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_ai87.c ${MSDK_PERIPH_SRC_DIR}/TRNG/trng_revb.c ) endif() -if (CONFIG_CRYPTO_MAX32) +if (CONFIG_CRYPTO_MAX32 OR CONFIG_HWINFO_MAX32) zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/AES/aes_ai87.c ${MSDK_PERIPH_SRC_DIR}/AES/aes_revb.c +) +endif() +if (CONFIG_CRYPTO_MAX32) +zephyr_library_sources( ${MSDK_PERIPH_SRC_DIR}/CRC/crc_ai87.c ${MSDK_PERIPH_SRC_DIR}/CRC/crc_reva.c ) From 0a0bb83b7c4a52cc66a46d744dad1c74e736d6ba Mon Sep 17 00:00:00 2001 From: Sihyung Woo <75494566+sihyung-maxim@users.noreply.github.com> Date: Mon, 16 Dec 2024 09:49:41 -0600 Subject: [PATCH 08/13] fix(CMSIS,PeriphDrivers): Add TMR RevB `CTRL1.async` field which allows asynchronous reads to the PWM and CNT registers (#1294) --- .../Maxim/MAX32655/Include/max32655.svd | 6 + .../Device/Maxim/MAX32655/Include/tmr_regs.h | 3 + .../Maxim/MAX32657/Include/max32657.svd | 6 + .../Device/Maxim/MAX32657/Include/tmr_regs.h | 3 + .../Maxim/MAX32670/Include/max32670.svd | 6 + .../Device/Maxim/MAX32670/Include/tmr_regs.h | 3 + .../Maxim/MAX32672/Include/max32672.svd | 6 + .../Device/Maxim/MAX32672/Include/tmr_regs.h | 3 + .../Maxim/MAX32675/Include/max32675.svd | 6 + .../Device/Maxim/MAX32675/Include/tmr_regs.h | 3 + .../Maxim/MAX32690/Include/max32690.svd | 6 + .../Device/Maxim/MAX32690/Include/tmr_regs.h | 3 + .../Maxim/MAX78000/Include/max78000.svd | 6 + .../Device/Maxim/MAX78000/Include/tmr_regs.h | 3 + .../Maxim/MAX78002/Include/max78002.svd | 6 + .../Device/Maxim/MAX78002/Include/tmr_regs.h | 3 + .../PeriphDrivers/Source/TMR/tmr_revb.svd | 1324 +++++++++-------- .../Source/TMR/tmr_revb_me15.svd | 1322 ++++++++-------- .../Source/TMR/tmr_revb_me17.svd | 1322 ++++++++-------- .../Source/TMR/tmr_revb_me21.svd | 1324 +++++++++-------- .../Source/TMR/tmr_revb_me30.svd | 1322 ++++++++-------- .../PeriphDrivers/Source/TMR/tmr_revb_regs.h | 486 +++--- .../Source/UART/uart_revb_regs.h | 299 ++-- 23 files changed, 3778 insertions(+), 3693 deletions(-) diff --git a/Libraries/CMSIS/Device/Maxim/MAX32655/Include/max32655.svd b/Libraries/CMSIS/Device/Maxim/MAX32655/Include/max32655.svd index fe453eda1b..f4aadcba9e 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32655/Include/max32655.svd +++ b/Libraries/CMSIS/Device/Maxim/MAX32655/Include/max32655.svd @@ -11168,6 +11168,12 @@ 14 1 + + ASYNC + Allows asynchronous reads of the PWM and CNT registers. + 15 + 1 + CLKSEL_B Timer Clock Select for Timer B diff --git a/Libraries/CMSIS/Device/Maxim/MAX32655/Include/tmr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32655/Include/tmr_regs.h index 55a40a62d9..339d28299e 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32655/Include/tmr_regs.h +++ b/Libraries/CMSIS/Device/Maxim/MAX32655/Include/tmr_regs.h @@ -383,6 +383,9 @@ typedef struct { #define MXC_F_TMR_CTRL1_OUTBEN_A_POS 14 /**< CTRL1_OUTBEN_A Position */ #define MXC_F_TMR_CTRL1_OUTBEN_A ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_OUTBEN_A_POS)) /**< CTRL1_OUTBEN_A Mask */ +#define MXC_F_TMR_CTRL1_ASYNC_POS 15 /**< CTRL1_ASYNC Position */ +#define MXC_F_TMR_CTRL1_ASYNC ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_ASYNC_POS)) /**< CTRL1_ASYNC Mask */ + #define MXC_F_TMR_CTRL1_CLKSEL_B_POS 16 /**< CTRL1_CLKSEL_B Position */ #define MXC_F_TMR_CTRL1_CLKSEL_B ((uint32_t)(0x3UL << MXC_F_TMR_CTRL1_CLKSEL_B_POS)) /**< CTRL1_CLKSEL_B Mask */ diff --git a/Libraries/CMSIS/Device/Maxim/MAX32657/Include/max32657.svd b/Libraries/CMSIS/Device/Maxim/MAX32657/Include/max32657.svd index 0beab42655..919cf24974 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32657/Include/max32657.svd +++ b/Libraries/CMSIS/Device/Maxim/MAX32657/Include/max32657.svd @@ -10081,6 +10081,12 @@ 14 1 + + ASYNC + Allows asynchronous reads to the PWM and CNT registers. + 15 + 1 + CLKSEL_B Timer Clock Select for Timer B diff --git a/Libraries/CMSIS/Device/Maxim/MAX32657/Include/tmr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32657/Include/tmr_regs.h index 94bf7f6dfc..b1fe8a68d0 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32657/Include/tmr_regs.h +++ b/Libraries/CMSIS/Device/Maxim/MAX32657/Include/tmr_regs.h @@ -381,6 +381,9 @@ typedef struct { #define MXC_F_TMR_CTRL1_OUTBEN_A_POS 14 /**< CTRL1_OUTBEN_A Position */ #define MXC_F_TMR_CTRL1_OUTBEN_A ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_OUTBEN_A_POS)) /**< CTRL1_OUTBEN_A Mask */ +#define MXC_F_TMR_CTRL1_ASYNC_POS 15 /**< CTRL1_ASYNC Position */ +#define MXC_F_TMR_CTRL1_ASYNC ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_ASYNC_POS)) /**< CTRL1_ASYNC Mask */ + #define MXC_F_TMR_CTRL1_CLKSEL_B_POS 16 /**< CTRL1_CLKSEL_B Position */ #define MXC_F_TMR_CTRL1_CLKSEL_B ((uint32_t)(0x3UL << MXC_F_TMR_CTRL1_CLKSEL_B_POS)) /**< CTRL1_CLKSEL_B Mask */ diff --git a/Libraries/CMSIS/Device/Maxim/MAX32670/Include/max32670.svd b/Libraries/CMSIS/Device/Maxim/MAX32670/Include/max32670.svd index e9dc97607e..fa418eaef4 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32670/Include/max32670.svd +++ b/Libraries/CMSIS/Device/Maxim/MAX32670/Include/max32670.svd @@ -8541,6 +8541,12 @@ 14 1 + + ASYNC + Allows asynchronous reads to the PWM and CNT registers. + 15 + 1 + CLKSEL_B Timer Clock Select for Timer B diff --git a/Libraries/CMSIS/Device/Maxim/MAX32670/Include/tmr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32670/Include/tmr_regs.h index 7e88a04ed0..436c2ab548 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32670/Include/tmr_regs.h +++ b/Libraries/CMSIS/Device/Maxim/MAX32670/Include/tmr_regs.h @@ -383,6 +383,9 @@ typedef struct { #define MXC_F_TMR_CTRL1_OUTBEN_A_POS 14 /**< CTRL1_OUTBEN_A Position */ #define MXC_F_TMR_CTRL1_OUTBEN_A ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_OUTBEN_A_POS)) /**< CTRL1_OUTBEN_A Mask */ +#define MXC_F_TMR_CTRL1_ASYNC_POS 15 /**< CTRL1_ASYNC Position */ +#define MXC_F_TMR_CTRL1_ASYNC ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_ASYNC_POS)) /**< CTRL1_ASYNC Mask */ + #define MXC_F_TMR_CTRL1_CLKSEL_B_POS 16 /**< CTRL1_CLKSEL_B Position */ #define MXC_F_TMR_CTRL1_CLKSEL_B ((uint32_t)(0x3UL << MXC_F_TMR_CTRL1_CLKSEL_B_POS)) /**< CTRL1_CLKSEL_B Mask */ diff --git a/Libraries/CMSIS/Device/Maxim/MAX32672/Include/max32672.svd b/Libraries/CMSIS/Device/Maxim/MAX32672/Include/max32672.svd index 98e5cbfeac..b8b9b25399 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32672/Include/max32672.svd +++ b/Libraries/CMSIS/Device/Maxim/MAX32672/Include/max32672.svd @@ -11666,6 +11666,12 @@ 14 1 + + ASYNC + Allows asynchronous reads to the PWM and CNT registers. + 15 + 1 + CLKSEL_B Timer Clock Select for Timer B diff --git a/Libraries/CMSIS/Device/Maxim/MAX32672/Include/tmr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32672/Include/tmr_regs.h index 5bb43b39ac..b2838ddfd7 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32672/Include/tmr_regs.h +++ b/Libraries/CMSIS/Device/Maxim/MAX32672/Include/tmr_regs.h @@ -383,6 +383,9 @@ typedef struct { #define MXC_F_TMR_CTRL1_OUTBEN_A_POS 14 /**< CTRL1_OUTBEN_A Position */ #define MXC_F_TMR_CTRL1_OUTBEN_A ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_OUTBEN_A_POS)) /**< CTRL1_OUTBEN_A Mask */ +#define MXC_F_TMR_CTRL1_ASYNC_POS 15 /**< CTRL1_ASYNC Position */ +#define MXC_F_TMR_CTRL1_ASYNC ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_ASYNC_POS)) /**< CTRL1_ASYNC Mask */ + #define MXC_F_TMR_CTRL1_CLKSEL_B_POS 16 /**< CTRL1_CLKSEL_B Position */ #define MXC_F_TMR_CTRL1_CLKSEL_B ((uint32_t)(0x3UL << MXC_F_TMR_CTRL1_CLKSEL_B_POS)) /**< CTRL1_CLKSEL_B Mask */ diff --git a/Libraries/CMSIS/Device/Maxim/MAX32675/Include/max32675.svd b/Libraries/CMSIS/Device/Maxim/MAX32675/Include/max32675.svd index a1951f062f..e08e578281 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32675/Include/max32675.svd +++ b/Libraries/CMSIS/Device/Maxim/MAX32675/Include/max32675.svd @@ -8547,6 +8547,12 @@ 14 1 + + ASYNC + Allows asynchronous reads to the PWM and CNT registers. + 15 + 1 + CLKSEL_B Timer Clock Select for Timer B diff --git a/Libraries/CMSIS/Device/Maxim/MAX32675/Include/tmr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32675/Include/tmr_regs.h index 9fc3e78122..2b4abe9e83 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32675/Include/tmr_regs.h +++ b/Libraries/CMSIS/Device/Maxim/MAX32675/Include/tmr_regs.h @@ -383,6 +383,9 @@ typedef struct { #define MXC_F_TMR_CTRL1_OUTBEN_A_POS 14 /**< CTRL1_OUTBEN_A Position */ #define MXC_F_TMR_CTRL1_OUTBEN_A ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_OUTBEN_A_POS)) /**< CTRL1_OUTBEN_A Mask */ +#define MXC_F_TMR_CTRL1_ASYNC_POS 15 /**< CTRL1_ASYNC Position */ +#define MXC_F_TMR_CTRL1_ASYNC ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_ASYNC_POS)) /**< CTRL1_ASYNC Mask */ + #define MXC_F_TMR_CTRL1_CLKSEL_B_POS 16 /**< CTRL1_CLKSEL_B Position */ #define MXC_F_TMR_CTRL1_CLKSEL_B ((uint32_t)(0x3UL << MXC_F_TMR_CTRL1_CLKSEL_B_POS)) /**< CTRL1_CLKSEL_B Mask */ diff --git a/Libraries/CMSIS/Device/Maxim/MAX32690/Include/max32690.svd b/Libraries/CMSIS/Device/Maxim/MAX32690/Include/max32690.svd index 5a67f4cede..6a19424aaf 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32690/Include/max32690.svd +++ b/Libraries/CMSIS/Device/Maxim/MAX32690/Include/max32690.svd @@ -19454,6 +19454,12 @@ signal(s) on transition(s) from low to high or high to low when PM.USBWKEN is se 14 1 + + ASYNC + Allows asynchronous reads of the PWM and CNT registers. + 15 + 1 + CLKSEL_B Timer Clock Select for Timer B diff --git a/Libraries/CMSIS/Device/Maxim/MAX32690/Include/tmr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32690/Include/tmr_regs.h index 3d01330a99..88f7530e2b 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32690/Include/tmr_regs.h +++ b/Libraries/CMSIS/Device/Maxim/MAX32690/Include/tmr_regs.h @@ -383,6 +383,9 @@ typedef struct { #define MXC_F_TMR_CTRL1_OUTBEN_A_POS 14 /**< CTRL1_OUTBEN_A Position */ #define MXC_F_TMR_CTRL1_OUTBEN_A ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_OUTBEN_A_POS)) /**< CTRL1_OUTBEN_A Mask */ +#define MXC_F_TMR_CTRL1_ASYNC_POS 15 /**< CTRL1_ASYNC Position */ +#define MXC_F_TMR_CTRL1_ASYNC ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_ASYNC_POS)) /**< CTRL1_ASYNC Mask */ + #define MXC_F_TMR_CTRL1_CLKSEL_B_POS 16 /**< CTRL1_CLKSEL_B Position */ #define MXC_F_TMR_CTRL1_CLKSEL_B ((uint32_t)(0x3UL << MXC_F_TMR_CTRL1_CLKSEL_B_POS)) /**< CTRL1_CLKSEL_B Mask */ diff --git a/Libraries/CMSIS/Device/Maxim/MAX78000/Include/max78000.svd b/Libraries/CMSIS/Device/Maxim/MAX78000/Include/max78000.svd index 3ea4a1309c..97003bf57c 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX78000/Include/max78000.svd +++ b/Libraries/CMSIS/Device/Maxim/MAX78000/Include/max78000.svd @@ -11101,6 +11101,12 @@ 14 1 + + ASYNC + Allows asynchronous reads of the PWM and CNT registers. + 15 + 1 + CLKSEL_B Timer Clock Select for Timer B diff --git a/Libraries/CMSIS/Device/Maxim/MAX78000/Include/tmr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX78000/Include/tmr_regs.h index 33e8ce74a0..cbd908bcfd 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX78000/Include/tmr_regs.h +++ b/Libraries/CMSIS/Device/Maxim/MAX78000/Include/tmr_regs.h @@ -383,6 +383,9 @@ typedef struct { #define MXC_F_TMR_CTRL1_OUTBEN_A_POS 14 /**< CTRL1_OUTBEN_A Position */ #define MXC_F_TMR_CTRL1_OUTBEN_A ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_OUTBEN_A_POS)) /**< CTRL1_OUTBEN_A Mask */ +#define MXC_F_TMR_CTRL1_ASYNC_POS 15 /**< CTRL1_ASYNC Position */ +#define MXC_F_TMR_CTRL1_ASYNC ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_ASYNC_POS)) /**< CTRL1_ASYNC Mask */ + #define MXC_F_TMR_CTRL1_CLKSEL_B_POS 16 /**< CTRL1_CLKSEL_B Position */ #define MXC_F_TMR_CTRL1_CLKSEL_B ((uint32_t)(0x3UL << MXC_F_TMR_CTRL1_CLKSEL_B_POS)) /**< CTRL1_CLKSEL_B Mask */ diff --git a/Libraries/CMSIS/Device/Maxim/MAX78002/Include/max78002.svd b/Libraries/CMSIS/Device/Maxim/MAX78002/Include/max78002.svd index 0919269cd4..8ce8846d2b 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX78002/Include/max78002.svd +++ b/Libraries/CMSIS/Device/Maxim/MAX78002/Include/max78002.svd @@ -16842,6 +16842,12 @@ signal(s) on transition(s) from low to high or high to low when PM.USBWKEN is se 14 1 + + ASYNC + Allows asynchronous reads of the PWM and CNT registers. + 15 + 1 + CLKSEL_B Timer Clock Select for Timer B diff --git a/Libraries/CMSIS/Device/Maxim/MAX78002/Include/tmr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX78002/Include/tmr_regs.h index 013b23f71e..147ec9381d 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX78002/Include/tmr_regs.h +++ b/Libraries/CMSIS/Device/Maxim/MAX78002/Include/tmr_regs.h @@ -383,6 +383,9 @@ typedef struct { #define MXC_F_TMR_CTRL1_OUTBEN_A_POS 14 /**< CTRL1_OUTBEN_A Position */ #define MXC_F_TMR_CTRL1_OUTBEN_A ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_OUTBEN_A_POS)) /**< CTRL1_OUTBEN_A Mask */ +#define MXC_F_TMR_CTRL1_ASYNC_POS 15 /**< CTRL1_ASYNC Position */ +#define MXC_F_TMR_CTRL1_ASYNC ((uint32_t)(0x1UL << MXC_F_TMR_CTRL1_ASYNC_POS)) /**< CTRL1_ASYNC Mask */ + #define MXC_F_TMR_CTRL1_CLKSEL_B_POS 16 /**< CTRL1_CLKSEL_B Position */ #define MXC_F_TMR_CTRL1_CLKSEL_B ((uint32_t)(0x3UL << MXC_F_TMR_CTRL1_CLKSEL_B_POS)) /**< CTRL1_CLKSEL_B Mask */ diff --git a/Libraries/PeriphDrivers/Source/TMR/tmr_revb.svd b/Libraries/PeriphDrivers/Source/TMR/tmr_revb.svd index 4e7fa6ebdc..a05d5318ac 100644 --- a/Libraries/PeriphDrivers/Source/TMR/tmr_revb.svd +++ b/Libraries/PeriphDrivers/Source/TMR/tmr_revb.svd @@ -1,662 +1,668 @@ - + - - TMR - Low-Power Configurable Timer - 0x40010000 - - 0x00 - 0x1000 - registers - - - TMR - - 1 - - - - - CNT - Timer Counter Register. - 0x00 - read-write - - - COUNT - The current count value for the timer. This field increments as the timer counts. - 0 - 32 - - - - - CMP - Timer Compare Register. - 0x04 - read-write - - - COMPARE - The value in this register is used as the compare value for the timer's count value. The compare field meaning is determined by the specific mode of the timer. - 0 - 32 - - - - - PWM - Timer PWM Register. - 0x08 - read-write - - - PWM - Timer PWM Match: + + TMR + Low-Power Configurable Timer + 0x40010000 + + 0x00 + 0x1000 + registers + + + TMR + + 1 + + + + + CNT + Timer Counter Register. + 0x00 + read-write + + + COUNT + The current count value for the timer. This field increments as the timer counts. + 0 + 32 + + + + + CMP + Timer Compare Register. + 0x04 + read-write + + + COMPARE + The value in this register is used as the compare value for the timer's count value. The compare field meaning is determined by the specific mode of the timer. + 0 + 32 + + + + + PWM + Timer PWM Register. + 0x08 + read-write + + + PWM + Timer PWM Match: In PWM Mode, this field sets the count value for the first transition period of the PWM cycle. At the end of the cycle where CNT equals PWM, the PWM output transitions to the second period of the PWM cycle. The second PWM period count is stored in the CMP register. The value set for PWM must me less than the value set in CMP for PWM mode operation. Timer Capture Value: In Capture, Compare, and Capture/Compare modes, this field is used to store the CNT value when a Capture, Compare, or Capture/Compare event occurs. - 0 - 32 - - - - - INTFL - Timer Interrupt Status Register. - 0x0C - read-write - - - IRQ_A - Interrupt Flag for Timer A. - 0 - 1 - - - WRDONE_A - Write Done Flag for Timer A indicating the write is complete from APB to CLK_TMR domain. - 8 - 1 - - - WR_DIS_A - Write Disable to CNT/PWM for Timer A in the non-cascaded dual timer configuration. - 9 - 1 - - - IRQ_B - Interrupt Flag for Timer B. - 16 - 1 - - - WRDONE_B - Write Done Flag for Timer B indicating the write is complete from APB to CLK_TMR domain. - 24 - 1 - - - WR_DIS_B - Write Disable to CNT/PWM for Timer B in the non-cascaded dual timer configuration. - 25 - 1 - - - - - CTRL0 - Timer Control Register. - 0x10 - read-write - - - MODE_A - Mode Select for Timer A - 0 - 4 - - - ONE_SHOT - One-Shot Mode - 0 - - - CONTINUOUS - Continuous Mode - 1 - - - COUNTER - Counter Mode - 2 - - - PWM - PWM Mode - 3 - - - CAPTURE - Capture Mode - 4 - - - COMPARE - Compare Mode - 5 - - - GATED - Gated Mode - 6 - - - CAPCOMP - Capture/Compare Mode - 7 - - - DUAL_EDGE - Dual Edge Capture Mode - 8 - - - IGATED - Inactive Gated Mode - 14 - - - - - CLKDIV_A - Clock Divider Select for Timer A - 4 - 4 - - - DIV_BY_1 - Prescaler Divide-By-1 - 0 - - - DIV_BY_2 - Prescaler Divide-By-2 - 1 - - - DIV_BY_4 - Prescaler Divide-By-4 - 2 - - - DIV_BY_8 - Prescaler Divide-By-8 - 3 - - - DIV_BY_16 - Prescaler Divide-By-16 - 4 - - - DIV_BY_32 - Prescaler Divide-By-32 - 5 - - - DIV_BY_64 - Prescaler Divide-By-64 - 6 - - - DIV_BY_128 - Prescaler Divide-By-128 - 7 - - - DIV_BY_256 - Prescaler Divide-By-256 - 8 - - - DIV_BY_512 - Prescaler Divide-By-512 - 9 - - - DIV_BY_1024 - Prescaler Divide-By-1024 - 10 - - - DIV_BY_2048 - Prescaler Divide-By-2048 - 11 - - - DIV_BY_4096 - TBD - 12 - - - - - POL_A - Timer Polarity for Timer A - 8 - 1 - - - PWMSYNC_A - PWM Synchronization Mode for Timer A - 9 - 1 - - - NOLHPOL_A - PWM Phase A (Non-Overlapping High) Polarity for Timer A - 10 - 1 - - - NOLLPOL_A - PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer A - 11 - 1 - - - PWMCKBD_A - PWM Phase A-Prime Output Disable for Timer A - 12 - 1 - - - RST_A - Resets all flip flops in the CLK_TMR domain for Timer A. Self-clears. - 13 - 1 - - - CLKEN_A - Write 1 to Enable CLK_TMR for Timer A - 14 - 1 - - - EN_A - Enable for Timer A - 15 - 1 - - - MODE_B - Mode Select for Timer B - 16 - 4 - - - ONE_SHOT - One-Shot Mode - 0 - - - CONTINUOUS - Continuous Mode - 1 - - - COUNTER - Counter Mode - 2 - - - PWM - PWM Mode - 3 - - - CAPTURE - Capture Mode - 4 - - - COMPARE - Compare Mode - 5 - - - GATED - Gated Mode - 6 - - - CAPCOMP - Capture/Compare Mode - 7 - - - DUAL_EDGE - Dual Edge Capture Mode - 8 - - - IGATED - Inactive Gated Mode - 14 - - - - - CLKDIV_B - Clock Divider Select for Timer B - 20 - 4 - - - DIV_BY_1 - Prescaler Divide-By-1 - 0 - - - DIV_BY_2 - Prescaler Divide-By-2 - 1 - - - DIV_BY_4 - Prescaler Divide-By-4 - 2 - - - DIV_BY_8 - Prescaler Divide-By-8 - 3 - - - DIV_BY_16 - Prescaler Divide-By-16 - 4 - - - DIV_BY_32 - Prescaler Divide-By-32 - 5 - - - DIV_BY_64 - Prescaler Divide-By-64 - 6 - - - DIV_BY_128 - Prescaler Divide-By-128 - 7 - - - DIV_BY_256 - Prescaler Divide-By-256 - 8 - - - DIV_BY_512 - Prescaler Divide-By-512 - 9 - - - DIV_BY_1024 - Prescaler Divide-By-1024 - 10 - - - DIV_BY_2048 - Prescaler Divide-By-2048 - 11 - - - DIV_BY_4096 - TBD - 12 - - - - - POL_B - Timer Polarity for Timer B - 24 - 1 - - - PWMSYNC_B - PWM Synchronization Mode for Timer B - 25 - 1 - - - NOLHPOL_B - PWM Phase A (Non-Overlapping High) Polarity for Timer B - 26 - 1 - - - NOLLPOL_B - PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer B - 27 - 1 - - - PWMCKBD_B - PWM Phase A-Prime Output Disable for Timer B - 28 - 1 - - - RST_B - Resets all flip flops in the CLK_TMR domain for Timer B. Self-clears. - 29 - 1 - - - CLKEN_B - Write 1 to Enable CLK_TMR for Timer B - 30 - 1 - - - EN_B - Enable for Timer B - 31 - 1 - - - - - NOLCMP - Timer Non-Overlapping Compare Register. - 0x14 - read-write - - - LO_A - Non-Overlapping Low Compare value for Timer A controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. - 0 - 8 - - - HI_A - Non-Overlapping High Compare value for Timer A controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. - 8 - 8 - - - LO_B - Non-Overlapping Low Compare value for Timer B controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. - 16 - 8 - - - HI_B - Non-Overlapping High Compare value for Timer B controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. - 24 - 8 - - - - - CTRL1 - Timer Configuration Register. - 0x18 - read-write - - - CLKSEL_A - Timer Clock Select for Timer A - 0 - 2 - - - CLKEN_A - Timer A Enable Status - 2 - 1 - - - CLKRDY_A - CLK_TMR Ready Flag for Timer A - 3 - 1 - - - EVENT_SEL_A - Event Select for Timer A - 4 - 3 - - - NEGTRIG_A - Negative Edge Trigger for Event for Timer A - 7 - 1 - - - IE_A - Interrupt Enable for Timer A - 8 - 1 - - - CAPEVENT_SEL_A - Capture Event Select for Timer A - 9 - 2 - - - SW_CAPEVENT_A - Software Capture Event for Timer A - 11 - 1 - - - WE_A - Wake-Up Enable for Timer A - 12 - 1 - - - OUTEN_A - OUT_OE_O Enable for Modes 0, 1,and 5 for Timer A - 13 - 1 - - - OUTBEN_A - PWM_CKB_EN_O Enable for Modes other than Mode 3 for Timer A - 14 - 1 - - - CLKSEL_B - Timer Clock Select for Timer B - 16 - 2 - - - CLKEN_B - Timer B Enable Status - 18 - 1 - - - CLKRDY_B - CLK_TMR Ready Flag for Timer B - 19 - 1 - - - EVENT_SEL_B - Event Select for Timer B - 20 - 3 - - - NEGTRIG_B - Negative Edge Trigger for Event for Timer B - 23 - 1 - - - IE_B - Interrupt Enable for Timer B - 24 - 1 - - - CAPEVENT_SEL_B - Capture Event Select for Timer B - 25 - 2 - - - SW_CAPEVENT_B - Software Capture Event for Timer B - 27 - 1 - - - WE_B - Wake-Up Enable for Timer B - 28 - 1 - - - CASCADE - Cascade two 16-bit timers into one 32-bit timer. Only available when C_TMR16=0 adn C_DUALTMR16=1. - 31 - 1 - - - - - WKFL - Timer Wakeup Status Register. - 0x1C - read-write - - - A - Wake-Up Flag for Timer A - 0 - 1 - - - B - Wake-Up Flag for Timer B - 16 - 1 - - - - - - - + 0 + 32 + + + + + INTFL + Timer Interrupt Status Register. + 0x0C + read-write + + + IRQ_A + Interrupt Flag for Timer A. + 0 + 1 + + + WRDONE_A + Write Done Flag for Timer A indicating the write is complete from APB to CLK_TMR domain. + 8 + 1 + + + WR_DIS_A + Write Disable to CNT/PWM for Timer A in the non-cascaded dual timer configuration. + 9 + 1 + + + IRQ_B + Interrupt Flag for Timer B. + 16 + 1 + + + WRDONE_B + Write Done Flag for Timer B indicating the write is complete from APB to CLK_TMR domain. + 24 + 1 + + + WR_DIS_B + Write Disable to CNT/PWM for Timer B in the non-cascaded dual timer configuration. + 25 + 1 + + + + + CTRL0 + Timer Control Register. + 0x10 + read-write + + + MODE_A + Mode Select for Timer A + 0 + 4 + + + ONE_SHOT + One-Shot Mode + 0 + + + CONTINUOUS + Continuous Mode + 1 + + + COUNTER + Counter Mode + 2 + + + PWM + PWM Mode + 3 + + + CAPTURE + Capture Mode + 4 + + + COMPARE + Compare Mode + 5 + + + GATED + Gated Mode + 6 + + + CAPCOMP + Capture/Compare Mode + 7 + + + DUAL_EDGE + Dual Edge Capture Mode + 8 + + + IGATED + Inactive Gated Mode + 14 + + + + + CLKDIV_A + Clock Divider Select for Timer A + 4 + 4 + + + DIV_BY_1 + Prescaler Divide-By-1 + 0 + + + DIV_BY_2 + Prescaler Divide-By-2 + 1 + + + DIV_BY_4 + Prescaler Divide-By-4 + 2 + + + DIV_BY_8 + Prescaler Divide-By-8 + 3 + + + DIV_BY_16 + Prescaler Divide-By-16 + 4 + + + DIV_BY_32 + Prescaler Divide-By-32 + 5 + + + DIV_BY_64 + Prescaler Divide-By-64 + 6 + + + DIV_BY_128 + Prescaler Divide-By-128 + 7 + + + DIV_BY_256 + Prescaler Divide-By-256 + 8 + + + DIV_BY_512 + Prescaler Divide-By-512 + 9 + + + DIV_BY_1024 + Prescaler Divide-By-1024 + 10 + + + DIV_BY_2048 + Prescaler Divide-By-2048 + 11 + + + DIV_BY_4096 + TBD + 12 + + + + + POL_A + Timer Polarity for Timer A + 8 + 1 + + + PWMSYNC_A + PWM Synchronization Mode for Timer A + 9 + 1 + + + NOLHPOL_A + PWM Phase A (Non-Overlapping High) Polarity for Timer A + 10 + 1 + + + NOLLPOL_A + PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer A + 11 + 1 + + + PWMCKBD_A + PWM Phase A-Prime Output Disable for Timer A + 12 + 1 + + + RST_A + Resets all flip flops in the CLK_TMR domain for Timer A. Self-clears. + 13 + 1 + + + CLKEN_A + Write 1 to Enable CLK_TMR for Timer A + 14 + 1 + + + EN_A + Enable for Timer A + 15 + 1 + + + MODE_B + Mode Select for Timer B + 16 + 4 + + + ONE_SHOT + One-Shot Mode + 0 + + + CONTINUOUS + Continuous Mode + 1 + + + COUNTER + Counter Mode + 2 + + + PWM + PWM Mode + 3 + + + CAPTURE + Capture Mode + 4 + + + COMPARE + Compare Mode + 5 + + + GATED + Gated Mode + 6 + + + CAPCOMP + Capture/Compare Mode + 7 + + + DUAL_EDGE + Dual Edge Capture Mode + 8 + + + IGATED + Inactive Gated Mode + 14 + + + + + CLKDIV_B + Clock Divider Select for Timer B + 20 + 4 + + + DIV_BY_1 + Prescaler Divide-By-1 + 0 + + + DIV_BY_2 + Prescaler Divide-By-2 + 1 + + + DIV_BY_4 + Prescaler Divide-By-4 + 2 + + + DIV_BY_8 + Prescaler Divide-By-8 + 3 + + + DIV_BY_16 + Prescaler Divide-By-16 + 4 + + + DIV_BY_32 + Prescaler Divide-By-32 + 5 + + + DIV_BY_64 + Prescaler Divide-By-64 + 6 + + + DIV_BY_128 + Prescaler Divide-By-128 + 7 + + + DIV_BY_256 + Prescaler Divide-By-256 + 8 + + + DIV_BY_512 + Prescaler Divide-By-512 + 9 + + + DIV_BY_1024 + Prescaler Divide-By-1024 + 10 + + + DIV_BY_2048 + Prescaler Divide-By-2048 + 11 + + + DIV_BY_4096 + TBD + 12 + + + + + POL_B + Timer Polarity for Timer B + 24 + 1 + + + PWMSYNC_B + PWM Synchronization Mode for Timer B + 25 + 1 + + + NOLHPOL_B + PWM Phase A (Non-Overlapping High) Polarity for Timer B + 26 + 1 + + + NOLLPOL_B + PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer B + 27 + 1 + + + PWMCKBD_B + PWM Phase A-Prime Output Disable for Timer B + 28 + 1 + + + RST_B + Resets all flip flops in the CLK_TMR domain for Timer B. Self-clears. + 29 + 1 + + + CLKEN_B + Write 1 to Enable CLK_TMR for Timer B + 30 + 1 + + + EN_B + Enable for Timer B + 31 + 1 + + + + + NOLCMP + Timer Non-Overlapping Compare Register. + 0x14 + read-write + + + LO_A + Non-Overlapping Low Compare value for Timer A controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. + 0 + 8 + + + HI_A + Non-Overlapping High Compare value for Timer A controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. + 8 + 8 + + + LO_B + Non-Overlapping Low Compare value for Timer B controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. + 16 + 8 + + + HI_B + Non-Overlapping High Compare value for Timer B controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. + 24 + 8 + + + + + CTRL1 + Timer Configuration Register. + 0x18 + read-write + + + CLKSEL_A + Timer Clock Select for Timer A + 0 + 2 + + + CLKEN_A + Timer A Enable Status + 2 + 1 + + + CLKRDY_A + CLK_TMR Ready Flag for Timer A + 3 + 1 + + + EVENT_SEL_A + Event Select for Timer A + 4 + 3 + + + NEGTRIG_A + Negative Edge Trigger for Event for Timer A + 7 + 1 + + + IE_A + Interrupt Enable for Timer A + 8 + 1 + + + CAPEVENT_SEL_A + Capture Event Select for Timer A + 9 + 2 + + + SW_CAPEVENT_A + Software Capture Event for Timer A + 11 + 1 + + + WE_A + Wake-Up Enable for Timer A + 12 + 1 + + + OUTEN_A + OUT_OE_O Enable for Modes 0, 1,and 5 for Timer A + 13 + 1 + + + OUTBEN_A + PWM_CKB_EN_O Enable for Modes other than Mode 3 for Timer A + 14 + 1 + + + ASYNC + Allows asynchronous reads of the PWM and CNT registers. + 15 + 1 + + + CLKSEL_B + Timer Clock Select for Timer B + 16 + 2 + + + CLKEN_B + Timer B Enable Status + 18 + 1 + + + CLKRDY_B + CLK_TMR Ready Flag for Timer B + 19 + 1 + + + EVENT_SEL_B + Event Select for Timer B + 20 + 3 + + + NEGTRIG_B + Negative Edge Trigger for Event for Timer B + 23 + 1 + + + IE_B + Interrupt Enable for Timer B + 24 + 1 + + + CAPEVENT_SEL_B + Capture Event Select for Timer B + 25 + 2 + + + SW_CAPEVENT_B + Software Capture Event for Timer B + 27 + 1 + + + WE_B + Wake-Up Enable for Timer B + 28 + 1 + + + CASCADE + Cascade two 16-bit timers into one 32-bit timer. Only available when C_TMR16=0 adn C_DUALTMR16=1. + 31 + 1 + + + + + WKFL + Timer Wakeup Status Register. + 0x1C + read-write + + + A + Wake-Up Flag for Timer A + 0 + 1 + + + B + Wake-Up Flag for Timer B + 16 + 1 + + + + + + + \ No newline at end of file diff --git a/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me15.svd b/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me15.svd index 5bb17764a0..bb65faa389 100644 --- a/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me15.svd +++ b/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me15.svd @@ -1,662 +1,668 @@  - - TMR - Low-Power Configurable Timer - 0x40010000 - - 0x00 - 0x1000 - registers - - - TMR - - 1 - - - - - CNT - Timer Counter Register. - 0x00 - read-write - - - COUNT - The current count value for the timer. This field increments as the timer counts. - 0 - 32 - - - - - CMP - Timer Compare Register. - 0x04 - read-write - - - COMPARE - The value in this register is used as the compare value for the timer's count value. The compare field meaning is determined by the specific mode of the timer. - 0 - 32 - - - - - PWM - Timer PWM Register. - 0x08 - read-write - - - PWM - Timer PWM Match: + + TMR + Low-Power Configurable Timer + 0x40010000 + + 0x00 + 0x1000 + registers + + + TMR + + 1 + + + + + CNT + Timer Counter Register. + 0x00 + read-write + + + COUNT + The current count value for the timer. This field increments as the timer counts. + 0 + 32 + + + + + CMP + Timer Compare Register. + 0x04 + read-write + + + COMPARE + The value in this register is used as the compare value for the timer's count value. The compare field meaning is determined by the specific mode of the timer. + 0 + 32 + + + + + PWM + Timer PWM Register. + 0x08 + read-write + + + PWM + Timer PWM Match: In PWM Mode, this field sets the count value for the first transition period of the PWM cycle. At the end of the cycle where CNT equals PWM, the PWM output transitions to the second period of the PWM cycle. The second PWM period count is stored in the CMP register. The value set for PWM must me less than the value set in CMP for PWM mode operation. Timer Capture Value: In Capture, Compare, and Capture/Compare modes, this field is used to store the CNT value when a Capture, Compare, or Capture/Compare event occurs. - 0 - 32 - - - - - INTFL - Timer Interrupt Status Register. - 0x0C - read-write - - - IRQ_A - Interrupt Flag for Timer A. - 0 - 1 - - - WRDONE_A - Write Done Flag for Timer A indicating the write is complete from APB to CLK_TMR domain. - 8 - 1 - - - WR_DIS_A - Write Disable to CNT/PWM for Timer A in the non-cascaded dual timer configuration. - 9 - 1 - - - IRQ_B - Interrupt Flag for Timer B. - 16 - 1 - - - WRDONE_B - Write Done Flag for Timer B indicating the write is complete from APB to CLK_TMR domain. - 24 - 1 - - - WR_DIS_B - Write Disable to CNT/PWM for Timer B in the non-cascaded dual timer configuration. - 25 - 1 - - - - - CTRL0 - Timer Control Register. - 0x10 - read-write - - - MODE_A - Mode Select for Timer A - 0 - 4 - - - ONE_SHOT - One-Shot Mode - 0 - - - CONTINUOUS - Continuous Mode - 1 - - - COUNTER - Counter Mode - 2 - - - PWM - PWM Mode - 3 - - - CAPTURE - Capture Mode - 4 - - - COMPARE - Compare Mode - 5 - - - GATED - Gated Mode - 6 - - - CAPCOMP - Capture/Compare Mode - 7 - - - DUAL_EDGE - Dual Edge Capture Mode - 8 - - - IGATED - Inactive Gated Mode - 14 - - - - - CLKDIV_A - Clock Divider Select for Timer A - 4 - 4 - - - DIV_BY_1 - Prescaler Divide-By-1 - 0 - - - DIV_BY_2 - Prescaler Divide-By-2 - 1 - - - DIV_BY_4 - Prescaler Divide-By-4 - 2 - - - DIV_BY_8 - Prescaler Divide-By-8 - 3 - - - DIV_BY_16 - Prescaler Divide-By-16 - 4 - - - DIV_BY_32 - Prescaler Divide-By-32 - 5 - - - DIV_BY_64 - Prescaler Divide-By-64 - 6 - - - DIV_BY_128 - Prescaler Divide-By-128 - 7 - - - DIV_BY_256 - Prescaler Divide-By-256 - 8 - - - DIV_BY_512 - Prescaler Divide-By-512 - 9 - - - DIV_BY_1024 - Prescaler Divide-By-1024 - 10 - - - DIV_BY_2048 - Prescaler Divide-By-2048 - 11 - - - DIV_BY_4096 - TBD - 12 - - - - - POL_A - Timer Polarity for Timer A - 8 - 1 - - - PWMSYNC_A - PWM Synchronization Mode for Timer A - 9 - 1 - - - NOLHPOL_A - PWM Phase A (Non-Overlapping High) Polarity for Timer A - 10 - 1 - - - NOLLPOL_A - PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer A - 11 - 1 - - - PWMCKBD_A - PWM Phase A-Prime Output Disable for Timer A - 12 - 1 - - - RST_A - Resets all flip flops in the CLK_TMR domain for Timer A. Self-clears. - 13 - 1 - - - CLKEN_A - Write 1 to Enable CLK_TMR for Timer A - 14 - 1 - - - EN_A - Enable for Timer A - 15 - 1 - - - MODE_B - Mode Select for Timer B - 16 - 4 - - - ONE_SHOT - One-Shot Mode - 0 - - - CONTINUOUS - Continuous Mode - 1 - - - COUNTER - Counter Mode - 2 - - - PWM - PWM Mode - 3 - - - CAPTURE - Capture Mode - 4 - - - COMPARE - Compare Mode - 5 - - - GATED - Gated Mode - 6 - - - CAPCOMP - Capture/Compare Mode - 7 - - - DUAL_EDGE - Dual Edge Capture Mode - 8 - - - IGATED - Inactive Gated Mode - 14 - - - - - CLKDIV_B - Clock Divider Select for Timer B - 20 - 4 - - - DIV_BY_1 - Prescaler Divide-By-1 - 0 - - - DIV_BY_2 - Prescaler Divide-By-2 - 1 - - - DIV_BY_4 - Prescaler Divide-By-4 - 2 - - - DIV_BY_8 - Prescaler Divide-By-8 - 3 - - - DIV_BY_16 - Prescaler Divide-By-16 - 4 - - - DIV_BY_32 - Prescaler Divide-By-32 - 5 - - - DIV_BY_64 - Prescaler Divide-By-64 - 6 - - - DIV_BY_128 - Prescaler Divide-By-128 - 7 - - - DIV_BY_256 - Prescaler Divide-By-256 - 8 - - - DIV_BY_512 - Prescaler Divide-By-512 - 9 - - - DIV_BY_1024 - Prescaler Divide-By-1024 - 10 - - - DIV_BY_2048 - Prescaler Divide-By-2048 - 11 - - - DIV_BY_4096 - TBD - 12 - - - - - POL_B - Timer Polarity for Timer B - 24 - 1 - - - PWMSYNC_B - PWM Synchronization Mode for Timer B - 25 - 1 - - - NOLHPOL_B - PWM Phase A (Non-Overlapping High) Polarity for Timer B - 26 - 1 - - - NOLLPOL_B - PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer B - 27 - 1 - - - PWMCKBD_B - PWM Phase A-Prime Output Disable for Timer B - 28 - 1 - - - RST_B - Resets all flip flops in the CLK_TMR domain for Timer B. Self-clears. - 29 - 1 - - - CLKEN_B - Write 1 to Enable CLK_TMR for Timer B - 30 - 1 - - - EN_B - Enable for Timer B - 31 - 1 - - - - - NOLCMP - Timer Non-Overlapping Compare Register. - 0x14 - read-write - - - LO_A - Non-Overlapping Low Compare value for Timer A controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. - 0 - 8 - - - HI_A - Non-Overlapping High Compare value for Timer A controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. - 8 - 8 - - - LO_B - Non-Overlapping Low Compare value for Timer B controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. - 16 - 8 - - - HI_B - Non-Overlapping High Compare value for Timer B controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. - 24 - 8 - - - - - CTRL1 - Timer Configuration Register. - 0x18 - read-write - - - CLKSEL_A - Timer Clock Select for Timer A - 0 - 2 - - - CLKEN_A - Timer A Enable Status - 2 - 1 - - - CLKRDY_A - CLK_TMR Ready Flag for Timer A - 3 - 1 - - - EVENT_SEL_A - Event Select for Timer A - 4 - 3 - - - NEGTRIG_A - Negative Edge Trigger for Event for Timer A - 7 - 1 - - - IE_A - Interrupt Enable for Timer A - 8 - 1 - - - CAPEVENT_SEL_A - Capture Event Select for Timer A - 9 - 2 - - - SW_CAPEVENT_A - Software Capture Event for Timer A - 11 - 1 - - - WE_A - Wake-Up Enable for Timer A - 12 - 1 - - - OUTEN_A - OUT_OE_O Enable for Modes 0, 1,and 5 for Timer A - 13 - 1 - - - OUTBEN_A - PWM_CKB_EN_O Enable for Modes other than Mode 3 for Timer A - 14 - 1 - - - CLKSEL_B - Timer Clock Select for Timer B - 16 - 2 - - - CLKEN_B - Timer B Enable Status - 18 - 1 - - - CLKRDY_B - CLK_TMR Ready Flag for Timer B - 19 - 1 - - - EVENT_SEL_B - Event Select for Timer B - 20 - 3 - - - NEGTRIG_B - Negative Edge Trigger for Event for Timer B - 23 - 1 - - - IE_B - Interrupt Enable for Timer B - 24 - 1 - - - CAPEVENT_SEL_B - Capture Event Select for Timer B - 25 - 2 - - - SW_CAPEVENT_B - Software Capture Event for Timer B - 27 - 1 - - - WE_B - Wake-Up Enable for Timer B - 28 - 1 - - - CASCADE - Cascade two 16-bit timers into one 32-bit timer. Only available when C_TMR16=0 adn C_DUALTMR16=1. - 31 - 1 - - - - - WKFL - Timer Wakeup Status Register. - 0x1C - read-write - - - A - Wake-Up Flag for Timer A - 0 - 1 - - - B - Wake-Up Flag for Timer B - 16 - 1 - - - - - - - + 0 + 32 + + + + + INTFL + Timer Interrupt Status Register. + 0x0C + read-write + + + IRQ_A + Interrupt Flag for Timer A. + 0 + 1 + + + WRDONE_A + Write Done Flag for Timer A indicating the write is complete from APB to CLK_TMR domain. + 8 + 1 + + + WR_DIS_A + Write Disable to CNT/PWM for Timer A in the non-cascaded dual timer configuration. + 9 + 1 + + + IRQ_B + Interrupt Flag for Timer B. + 16 + 1 + + + WRDONE_B + Write Done Flag for Timer B indicating the write is complete from APB to CLK_TMR domain. + 24 + 1 + + + WR_DIS_B + Write Disable to CNT/PWM for Timer B in the non-cascaded dual timer configuration. + 25 + 1 + + + + + CTRL0 + Timer Control Register. + 0x10 + read-write + + + MODE_A + Mode Select for Timer A + 0 + 4 + + + ONE_SHOT + One-Shot Mode + 0 + + + CONTINUOUS + Continuous Mode + 1 + + + COUNTER + Counter Mode + 2 + + + PWM + PWM Mode + 3 + + + CAPTURE + Capture Mode + 4 + + + COMPARE + Compare Mode + 5 + + + GATED + Gated Mode + 6 + + + CAPCOMP + Capture/Compare Mode + 7 + + + DUAL_EDGE + Dual Edge Capture Mode + 8 + + + IGATED + Inactive Gated Mode + 14 + + + + + CLKDIV_A + Clock Divider Select for Timer A + 4 + 4 + + + DIV_BY_1 + Prescaler Divide-By-1 + 0 + + + DIV_BY_2 + Prescaler Divide-By-2 + 1 + + + DIV_BY_4 + Prescaler Divide-By-4 + 2 + + + DIV_BY_8 + Prescaler Divide-By-8 + 3 + + + DIV_BY_16 + Prescaler Divide-By-16 + 4 + + + DIV_BY_32 + Prescaler Divide-By-32 + 5 + + + DIV_BY_64 + Prescaler Divide-By-64 + 6 + + + DIV_BY_128 + Prescaler Divide-By-128 + 7 + + + DIV_BY_256 + Prescaler Divide-By-256 + 8 + + + DIV_BY_512 + Prescaler Divide-By-512 + 9 + + + DIV_BY_1024 + Prescaler Divide-By-1024 + 10 + + + DIV_BY_2048 + Prescaler Divide-By-2048 + 11 + + + DIV_BY_4096 + TBD + 12 + + + + + POL_A + Timer Polarity for Timer A + 8 + 1 + + + PWMSYNC_A + PWM Synchronization Mode for Timer A + 9 + 1 + + + NOLHPOL_A + PWM Phase A (Non-Overlapping High) Polarity for Timer A + 10 + 1 + + + NOLLPOL_A + PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer A + 11 + 1 + + + PWMCKBD_A + PWM Phase A-Prime Output Disable for Timer A + 12 + 1 + + + RST_A + Resets all flip flops in the CLK_TMR domain for Timer A. Self-clears. + 13 + 1 + + + CLKEN_A + Write 1 to Enable CLK_TMR for Timer A + 14 + 1 + + + EN_A + Enable for Timer A + 15 + 1 + + + MODE_B + Mode Select for Timer B + 16 + 4 + + + ONE_SHOT + One-Shot Mode + 0 + + + CONTINUOUS + Continuous Mode + 1 + + + COUNTER + Counter Mode + 2 + + + PWM + PWM Mode + 3 + + + CAPTURE + Capture Mode + 4 + + + COMPARE + Compare Mode + 5 + + + GATED + Gated Mode + 6 + + + CAPCOMP + Capture/Compare Mode + 7 + + + DUAL_EDGE + Dual Edge Capture Mode + 8 + + + IGATED + Inactive Gated Mode + 14 + + + + + CLKDIV_B + Clock Divider Select for Timer B + 20 + 4 + + + DIV_BY_1 + Prescaler Divide-By-1 + 0 + + + DIV_BY_2 + Prescaler Divide-By-2 + 1 + + + DIV_BY_4 + Prescaler Divide-By-4 + 2 + + + DIV_BY_8 + Prescaler Divide-By-8 + 3 + + + DIV_BY_16 + Prescaler Divide-By-16 + 4 + + + DIV_BY_32 + Prescaler Divide-By-32 + 5 + + + DIV_BY_64 + Prescaler Divide-By-64 + 6 + + + DIV_BY_128 + Prescaler Divide-By-128 + 7 + + + DIV_BY_256 + Prescaler Divide-By-256 + 8 + + + DIV_BY_512 + Prescaler Divide-By-512 + 9 + + + DIV_BY_1024 + Prescaler Divide-By-1024 + 10 + + + DIV_BY_2048 + Prescaler Divide-By-2048 + 11 + + + DIV_BY_4096 + TBD + 12 + + + + + POL_B + Timer Polarity for Timer B + 24 + 1 + + + PWMSYNC_B + PWM Synchronization Mode for Timer B + 25 + 1 + + + NOLHPOL_B + PWM Phase A (Non-Overlapping High) Polarity for Timer B + 26 + 1 + + + NOLLPOL_B + PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer B + 27 + 1 + + + PWMCKBD_B + PWM Phase A-Prime Output Disable for Timer B + 28 + 1 + + + RST_B + Resets all flip flops in the CLK_TMR domain for Timer B. Self-clears. + 29 + 1 + + + CLKEN_B + Write 1 to Enable CLK_TMR for Timer B + 30 + 1 + + + EN_B + Enable for Timer B + 31 + 1 + + + + + NOLCMP + Timer Non-Overlapping Compare Register. + 0x14 + read-write + + + LO_A + Non-Overlapping Low Compare value for Timer A controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. + 0 + 8 + + + HI_A + Non-Overlapping High Compare value for Timer A controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. + 8 + 8 + + + LO_B + Non-Overlapping Low Compare value for Timer B controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. + 16 + 8 + + + HI_B + Non-Overlapping High Compare value for Timer B controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. + 24 + 8 + + + + + CTRL1 + Timer Configuration Register. + 0x18 + read-write + + + CLKSEL_A + Timer Clock Select for Timer A + 0 + 2 + + + CLKEN_A + Timer A Enable Status + 2 + 1 + + + CLKRDY_A + CLK_TMR Ready Flag for Timer A + 3 + 1 + + + EVENT_SEL_A + Event Select for Timer A + 4 + 3 + + + NEGTRIG_A + Negative Edge Trigger for Event for Timer A + 7 + 1 + + + IE_A + Interrupt Enable for Timer A + 8 + 1 + + + CAPEVENT_SEL_A + Capture Event Select for Timer A + 9 + 2 + + + SW_CAPEVENT_A + Software Capture Event for Timer A + 11 + 1 + + + WE_A + Wake-Up Enable for Timer A + 12 + 1 + + + OUTEN_A + OUT_OE_O Enable for Modes 0, 1,and 5 for Timer A + 13 + 1 + + + OUTBEN_A + PWM_CKB_EN_O Enable for Modes other than Mode 3 for Timer A + 14 + 1 + + + ASYNC + Allows asynchronous reads to the PWM and CNT registers. + 15 + 1 + + + CLKSEL_B + Timer Clock Select for Timer B + 16 + 2 + + + CLKEN_B + Timer B Enable Status + 18 + 1 + + + CLKRDY_B + CLK_TMR Ready Flag for Timer B + 19 + 1 + + + EVENT_SEL_B + Event Select for Timer B + 20 + 3 + + + NEGTRIG_B + Negative Edge Trigger for Event for Timer B + 23 + 1 + + + IE_B + Interrupt Enable for Timer B + 24 + 1 + + + CAPEVENT_SEL_B + Capture Event Select for Timer B + 25 + 2 + + + SW_CAPEVENT_B + Software Capture Event for Timer B + 27 + 1 + + + WE_B + Wake-Up Enable for Timer B + 28 + 1 + + + CASCADE + Cascade two 16-bit timers into one 32-bit timer. Only available when C_TMR16=0 adn C_DUALTMR16=1. + 31 + 1 + + + + + WKFL + Timer Wakeup Status Register. + 0x1C + read-write + + + A + Wake-Up Flag for Timer A + 0 + 1 + + + B + Wake-Up Flag for Timer B + 16 + 1 + + + + + + + \ No newline at end of file diff --git a/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me17.svd b/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me17.svd index 5bb17764a0..a05d5318ac 100644 --- a/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me17.svd +++ b/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me17.svd @@ -1,662 +1,668 @@  - - TMR - Low-Power Configurable Timer - 0x40010000 - - 0x00 - 0x1000 - registers - - - TMR - - 1 - - - - - CNT - Timer Counter Register. - 0x00 - read-write - - - COUNT - The current count value for the timer. This field increments as the timer counts. - 0 - 32 - - - - - CMP - Timer Compare Register. - 0x04 - read-write - - - COMPARE - The value in this register is used as the compare value for the timer's count value. The compare field meaning is determined by the specific mode of the timer. - 0 - 32 - - - - - PWM - Timer PWM Register. - 0x08 - read-write - - - PWM - Timer PWM Match: + + TMR + Low-Power Configurable Timer + 0x40010000 + + 0x00 + 0x1000 + registers + + + TMR + + 1 + + + + + CNT + Timer Counter Register. + 0x00 + read-write + + + COUNT + The current count value for the timer. This field increments as the timer counts. + 0 + 32 + + + + + CMP + Timer Compare Register. + 0x04 + read-write + + + COMPARE + The value in this register is used as the compare value for the timer's count value. The compare field meaning is determined by the specific mode of the timer. + 0 + 32 + + + + + PWM + Timer PWM Register. + 0x08 + read-write + + + PWM + Timer PWM Match: In PWM Mode, this field sets the count value for the first transition period of the PWM cycle. At the end of the cycle where CNT equals PWM, the PWM output transitions to the second period of the PWM cycle. The second PWM period count is stored in the CMP register. The value set for PWM must me less than the value set in CMP for PWM mode operation. Timer Capture Value: In Capture, Compare, and Capture/Compare modes, this field is used to store the CNT value when a Capture, Compare, or Capture/Compare event occurs. - 0 - 32 - - - - - INTFL - Timer Interrupt Status Register. - 0x0C - read-write - - - IRQ_A - Interrupt Flag for Timer A. - 0 - 1 - - - WRDONE_A - Write Done Flag for Timer A indicating the write is complete from APB to CLK_TMR domain. - 8 - 1 - - - WR_DIS_A - Write Disable to CNT/PWM for Timer A in the non-cascaded dual timer configuration. - 9 - 1 - - - IRQ_B - Interrupt Flag for Timer B. - 16 - 1 - - - WRDONE_B - Write Done Flag for Timer B indicating the write is complete from APB to CLK_TMR domain. - 24 - 1 - - - WR_DIS_B - Write Disable to CNT/PWM for Timer B in the non-cascaded dual timer configuration. - 25 - 1 - - - - - CTRL0 - Timer Control Register. - 0x10 - read-write - - - MODE_A - Mode Select for Timer A - 0 - 4 - - - ONE_SHOT - One-Shot Mode - 0 - - - CONTINUOUS - Continuous Mode - 1 - - - COUNTER - Counter Mode - 2 - - - PWM - PWM Mode - 3 - - - CAPTURE - Capture Mode - 4 - - - COMPARE - Compare Mode - 5 - - - GATED - Gated Mode - 6 - - - CAPCOMP - Capture/Compare Mode - 7 - - - DUAL_EDGE - Dual Edge Capture Mode - 8 - - - IGATED - Inactive Gated Mode - 14 - - - - - CLKDIV_A - Clock Divider Select for Timer A - 4 - 4 - - - DIV_BY_1 - Prescaler Divide-By-1 - 0 - - - DIV_BY_2 - Prescaler Divide-By-2 - 1 - - - DIV_BY_4 - Prescaler Divide-By-4 - 2 - - - DIV_BY_8 - Prescaler Divide-By-8 - 3 - - - DIV_BY_16 - Prescaler Divide-By-16 - 4 - - - DIV_BY_32 - Prescaler Divide-By-32 - 5 - - - DIV_BY_64 - Prescaler Divide-By-64 - 6 - - - DIV_BY_128 - Prescaler Divide-By-128 - 7 - - - DIV_BY_256 - Prescaler Divide-By-256 - 8 - - - DIV_BY_512 - Prescaler Divide-By-512 - 9 - - - DIV_BY_1024 - Prescaler Divide-By-1024 - 10 - - - DIV_BY_2048 - Prescaler Divide-By-2048 - 11 - - - DIV_BY_4096 - TBD - 12 - - - - - POL_A - Timer Polarity for Timer A - 8 - 1 - - - PWMSYNC_A - PWM Synchronization Mode for Timer A - 9 - 1 - - - NOLHPOL_A - PWM Phase A (Non-Overlapping High) Polarity for Timer A - 10 - 1 - - - NOLLPOL_A - PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer A - 11 - 1 - - - PWMCKBD_A - PWM Phase A-Prime Output Disable for Timer A - 12 - 1 - - - RST_A - Resets all flip flops in the CLK_TMR domain for Timer A. Self-clears. - 13 - 1 - - - CLKEN_A - Write 1 to Enable CLK_TMR for Timer A - 14 - 1 - - - EN_A - Enable for Timer A - 15 - 1 - - - MODE_B - Mode Select for Timer B - 16 - 4 - - - ONE_SHOT - One-Shot Mode - 0 - - - CONTINUOUS - Continuous Mode - 1 - - - COUNTER - Counter Mode - 2 - - - PWM - PWM Mode - 3 - - - CAPTURE - Capture Mode - 4 - - - COMPARE - Compare Mode - 5 - - - GATED - Gated Mode - 6 - - - CAPCOMP - Capture/Compare Mode - 7 - - - DUAL_EDGE - Dual Edge Capture Mode - 8 - - - IGATED - Inactive Gated Mode - 14 - - - - - CLKDIV_B - Clock Divider Select for Timer B - 20 - 4 - - - DIV_BY_1 - Prescaler Divide-By-1 - 0 - - - DIV_BY_2 - Prescaler Divide-By-2 - 1 - - - DIV_BY_4 - Prescaler Divide-By-4 - 2 - - - DIV_BY_8 - Prescaler Divide-By-8 - 3 - - - DIV_BY_16 - Prescaler Divide-By-16 - 4 - - - DIV_BY_32 - Prescaler Divide-By-32 - 5 - - - DIV_BY_64 - Prescaler Divide-By-64 - 6 - - - DIV_BY_128 - Prescaler Divide-By-128 - 7 - - - DIV_BY_256 - Prescaler Divide-By-256 - 8 - - - DIV_BY_512 - Prescaler Divide-By-512 - 9 - - - DIV_BY_1024 - Prescaler Divide-By-1024 - 10 - - - DIV_BY_2048 - Prescaler Divide-By-2048 - 11 - - - DIV_BY_4096 - TBD - 12 - - - - - POL_B - Timer Polarity for Timer B - 24 - 1 - - - PWMSYNC_B - PWM Synchronization Mode for Timer B - 25 - 1 - - - NOLHPOL_B - PWM Phase A (Non-Overlapping High) Polarity for Timer B - 26 - 1 - - - NOLLPOL_B - PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer B - 27 - 1 - - - PWMCKBD_B - PWM Phase A-Prime Output Disable for Timer B - 28 - 1 - - - RST_B - Resets all flip flops in the CLK_TMR domain for Timer B. Self-clears. - 29 - 1 - - - CLKEN_B - Write 1 to Enable CLK_TMR for Timer B - 30 - 1 - - - EN_B - Enable for Timer B - 31 - 1 - - - - - NOLCMP - Timer Non-Overlapping Compare Register. - 0x14 - read-write - - - LO_A - Non-Overlapping Low Compare value for Timer A controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. - 0 - 8 - - - HI_A - Non-Overlapping High Compare value for Timer A controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. - 8 - 8 - - - LO_B - Non-Overlapping Low Compare value for Timer B controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. - 16 - 8 - - - HI_B - Non-Overlapping High Compare value for Timer B controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. - 24 - 8 - - - - - CTRL1 - Timer Configuration Register. - 0x18 - read-write - - - CLKSEL_A - Timer Clock Select for Timer A - 0 - 2 - - - CLKEN_A - Timer A Enable Status - 2 - 1 - - - CLKRDY_A - CLK_TMR Ready Flag for Timer A - 3 - 1 - - - EVENT_SEL_A - Event Select for Timer A - 4 - 3 - - - NEGTRIG_A - Negative Edge Trigger for Event for Timer A - 7 - 1 - - - IE_A - Interrupt Enable for Timer A - 8 - 1 - - - CAPEVENT_SEL_A - Capture Event Select for Timer A - 9 - 2 - - - SW_CAPEVENT_A - Software Capture Event for Timer A - 11 - 1 - - - WE_A - Wake-Up Enable for Timer A - 12 - 1 - - - OUTEN_A - OUT_OE_O Enable for Modes 0, 1,and 5 for Timer A - 13 - 1 - - - OUTBEN_A - PWM_CKB_EN_O Enable for Modes other than Mode 3 for Timer A - 14 - 1 - - - CLKSEL_B - Timer Clock Select for Timer B - 16 - 2 - - - CLKEN_B - Timer B Enable Status - 18 - 1 - - - CLKRDY_B - CLK_TMR Ready Flag for Timer B - 19 - 1 - - - EVENT_SEL_B - Event Select for Timer B - 20 - 3 - - - NEGTRIG_B - Negative Edge Trigger for Event for Timer B - 23 - 1 - - - IE_B - Interrupt Enable for Timer B - 24 - 1 - - - CAPEVENT_SEL_B - Capture Event Select for Timer B - 25 - 2 - - - SW_CAPEVENT_B - Software Capture Event for Timer B - 27 - 1 - - - WE_B - Wake-Up Enable for Timer B - 28 - 1 - - - CASCADE - Cascade two 16-bit timers into one 32-bit timer. Only available when C_TMR16=0 adn C_DUALTMR16=1. - 31 - 1 - - - - - WKFL - Timer Wakeup Status Register. - 0x1C - read-write - - - A - Wake-Up Flag for Timer A - 0 - 1 - - - B - Wake-Up Flag for Timer B - 16 - 1 - - - - - - - + 0 + 32 + + + + + INTFL + Timer Interrupt Status Register. + 0x0C + read-write + + + IRQ_A + Interrupt Flag for Timer A. + 0 + 1 + + + WRDONE_A + Write Done Flag for Timer A indicating the write is complete from APB to CLK_TMR domain. + 8 + 1 + + + WR_DIS_A + Write Disable to CNT/PWM for Timer A in the non-cascaded dual timer configuration. + 9 + 1 + + + IRQ_B + Interrupt Flag for Timer B. + 16 + 1 + + + WRDONE_B + Write Done Flag for Timer B indicating the write is complete from APB to CLK_TMR domain. + 24 + 1 + + + WR_DIS_B + Write Disable to CNT/PWM for Timer B in the non-cascaded dual timer configuration. + 25 + 1 + + + + + CTRL0 + Timer Control Register. + 0x10 + read-write + + + MODE_A + Mode Select for Timer A + 0 + 4 + + + ONE_SHOT + One-Shot Mode + 0 + + + CONTINUOUS + Continuous Mode + 1 + + + COUNTER + Counter Mode + 2 + + + PWM + PWM Mode + 3 + + + CAPTURE + Capture Mode + 4 + + + COMPARE + Compare Mode + 5 + + + GATED + Gated Mode + 6 + + + CAPCOMP + Capture/Compare Mode + 7 + + + DUAL_EDGE + Dual Edge Capture Mode + 8 + + + IGATED + Inactive Gated Mode + 14 + + + + + CLKDIV_A + Clock Divider Select for Timer A + 4 + 4 + + + DIV_BY_1 + Prescaler Divide-By-1 + 0 + + + DIV_BY_2 + Prescaler Divide-By-2 + 1 + + + DIV_BY_4 + Prescaler Divide-By-4 + 2 + + + DIV_BY_8 + Prescaler Divide-By-8 + 3 + + + DIV_BY_16 + Prescaler Divide-By-16 + 4 + + + DIV_BY_32 + Prescaler Divide-By-32 + 5 + + + DIV_BY_64 + Prescaler Divide-By-64 + 6 + + + DIV_BY_128 + Prescaler Divide-By-128 + 7 + + + DIV_BY_256 + Prescaler Divide-By-256 + 8 + + + DIV_BY_512 + Prescaler Divide-By-512 + 9 + + + DIV_BY_1024 + Prescaler Divide-By-1024 + 10 + + + DIV_BY_2048 + Prescaler Divide-By-2048 + 11 + + + DIV_BY_4096 + TBD + 12 + + + + + POL_A + Timer Polarity for Timer A + 8 + 1 + + + PWMSYNC_A + PWM Synchronization Mode for Timer A + 9 + 1 + + + NOLHPOL_A + PWM Phase A (Non-Overlapping High) Polarity for Timer A + 10 + 1 + + + NOLLPOL_A + PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer A + 11 + 1 + + + PWMCKBD_A + PWM Phase A-Prime Output Disable for Timer A + 12 + 1 + + + RST_A + Resets all flip flops in the CLK_TMR domain for Timer A. Self-clears. + 13 + 1 + + + CLKEN_A + Write 1 to Enable CLK_TMR for Timer A + 14 + 1 + + + EN_A + Enable for Timer A + 15 + 1 + + + MODE_B + Mode Select for Timer B + 16 + 4 + + + ONE_SHOT + One-Shot Mode + 0 + + + CONTINUOUS + Continuous Mode + 1 + + + COUNTER + Counter Mode + 2 + + + PWM + PWM Mode + 3 + + + CAPTURE + Capture Mode + 4 + + + COMPARE + Compare Mode + 5 + + + GATED + Gated Mode + 6 + + + CAPCOMP + Capture/Compare Mode + 7 + + + DUAL_EDGE + Dual Edge Capture Mode + 8 + + + IGATED + Inactive Gated Mode + 14 + + + + + CLKDIV_B + Clock Divider Select for Timer B + 20 + 4 + + + DIV_BY_1 + Prescaler Divide-By-1 + 0 + + + DIV_BY_2 + Prescaler Divide-By-2 + 1 + + + DIV_BY_4 + Prescaler Divide-By-4 + 2 + + + DIV_BY_8 + Prescaler Divide-By-8 + 3 + + + DIV_BY_16 + Prescaler Divide-By-16 + 4 + + + DIV_BY_32 + Prescaler Divide-By-32 + 5 + + + DIV_BY_64 + Prescaler Divide-By-64 + 6 + + + DIV_BY_128 + Prescaler Divide-By-128 + 7 + + + DIV_BY_256 + Prescaler Divide-By-256 + 8 + + + DIV_BY_512 + Prescaler Divide-By-512 + 9 + + + DIV_BY_1024 + Prescaler Divide-By-1024 + 10 + + + DIV_BY_2048 + Prescaler Divide-By-2048 + 11 + + + DIV_BY_4096 + TBD + 12 + + + + + POL_B + Timer Polarity for Timer B + 24 + 1 + + + PWMSYNC_B + PWM Synchronization Mode for Timer B + 25 + 1 + + + NOLHPOL_B + PWM Phase A (Non-Overlapping High) Polarity for Timer B + 26 + 1 + + + NOLLPOL_B + PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer B + 27 + 1 + + + PWMCKBD_B + PWM Phase A-Prime Output Disable for Timer B + 28 + 1 + + + RST_B + Resets all flip flops in the CLK_TMR domain for Timer B. Self-clears. + 29 + 1 + + + CLKEN_B + Write 1 to Enable CLK_TMR for Timer B + 30 + 1 + + + EN_B + Enable for Timer B + 31 + 1 + + + + + NOLCMP + Timer Non-Overlapping Compare Register. + 0x14 + read-write + + + LO_A + Non-Overlapping Low Compare value for Timer A controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. + 0 + 8 + + + HI_A + Non-Overlapping High Compare value for Timer A controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. + 8 + 8 + + + LO_B + Non-Overlapping Low Compare value for Timer B controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. + 16 + 8 + + + HI_B + Non-Overlapping High Compare value for Timer B controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. + 24 + 8 + + + + + CTRL1 + Timer Configuration Register. + 0x18 + read-write + + + CLKSEL_A + Timer Clock Select for Timer A + 0 + 2 + + + CLKEN_A + Timer A Enable Status + 2 + 1 + + + CLKRDY_A + CLK_TMR Ready Flag for Timer A + 3 + 1 + + + EVENT_SEL_A + Event Select for Timer A + 4 + 3 + + + NEGTRIG_A + Negative Edge Trigger for Event for Timer A + 7 + 1 + + + IE_A + Interrupt Enable for Timer A + 8 + 1 + + + CAPEVENT_SEL_A + Capture Event Select for Timer A + 9 + 2 + + + SW_CAPEVENT_A + Software Capture Event for Timer A + 11 + 1 + + + WE_A + Wake-Up Enable for Timer A + 12 + 1 + + + OUTEN_A + OUT_OE_O Enable for Modes 0, 1,and 5 for Timer A + 13 + 1 + + + OUTBEN_A + PWM_CKB_EN_O Enable for Modes other than Mode 3 for Timer A + 14 + 1 + + + ASYNC + Allows asynchronous reads of the PWM and CNT registers. + 15 + 1 + + + CLKSEL_B + Timer Clock Select for Timer B + 16 + 2 + + + CLKEN_B + Timer B Enable Status + 18 + 1 + + + CLKRDY_B + CLK_TMR Ready Flag for Timer B + 19 + 1 + + + EVENT_SEL_B + Event Select for Timer B + 20 + 3 + + + NEGTRIG_B + Negative Edge Trigger for Event for Timer B + 23 + 1 + + + IE_B + Interrupt Enable for Timer B + 24 + 1 + + + CAPEVENT_SEL_B + Capture Event Select for Timer B + 25 + 2 + + + SW_CAPEVENT_B + Software Capture Event for Timer B + 27 + 1 + + + WE_B + Wake-Up Enable for Timer B + 28 + 1 + + + CASCADE + Cascade two 16-bit timers into one 32-bit timer. Only available when C_TMR16=0 adn C_DUALTMR16=1. + 31 + 1 + + + + + WKFL + Timer Wakeup Status Register. + 0x1C + read-write + + + A + Wake-Up Flag for Timer A + 0 + 1 + + + B + Wake-Up Flag for Timer B + 16 + 1 + + + + + + + \ No newline at end of file diff --git a/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me21.svd b/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me21.svd index 03f4811b31..d591d208d1 100644 --- a/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me21.svd +++ b/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me21.svd @@ -1,662 +1,668 @@ - + - - TMR - Low-Power Configurable Timer - 0x40010000 - - 0x00 - 0x1000 - registers - - - TMR - - 1 - - - - - CNT - Timer Counter Register. - 0x00 - read-write - - - COUNT - The current count value for the timer. This field increments as the timer counts. - 0 - 32 - - - - - CMP - Timer Compare Register. - 0x04 - read-write - - - COMPARE - The value in this register is used as the compare value for the timer's count value. The compare field meaning is determined by the specific mode of the timer. - 0 - 32 - - - - - PWM - Timer PWM Register. - 0x08 - read-write - - - PWM - Timer PWM Match: + + TMR + Low-Power Configurable Timer + 0x40010000 + + 0x00 + 0x1000 + registers + + + TMR + + 1 + + + + + CNT + Timer Counter Register. + 0x00 + read-write + + + COUNT + The current count value for the timer. This field increments as the timer counts. + 0 + 32 + + + + + CMP + Timer Compare Register. + 0x04 + read-write + + + COMPARE + The value in this register is used as the compare value for the timer's count value. The compare field meaning is determined by the specific mode of the timer. + 0 + 32 + + + + + PWM + Timer PWM Register. + 0x08 + read-write + + + PWM + Timer PWM Match: In PWM Mode, this field sets the count value for the first transition period of the PWM cycle. At the end of the cycle where CNT equals PWM, the PWM output transitions to the second period of the PWM cycle. The second PWM period count is stored in the CMP register. The value set for PWM must me less than the value set in CMP for PWM mode operation. Timer Capture Value: In Capture, Compare, and Capture/Compare modes, this field is used to store the CNT value when a Capture, Compare, or Capture/Compare event occurs. - 0 - 32 - - - - - INTFL - Timer Interrupt Status Register. - 0x0C - read-write - - - IRQ_A - Interrupt Flag for Timer A. - 0 - 1 - - - WRDONE_A - Write Done Flag for Timer A indicating the write is complete from APB to CLK_TMR domain. - 8 - 1 - - - WR_DIS_A - Write Disable to CNT/PWM for Timer A in the non-cascaded dual timer configuration. - 9 - 1 - - - IRQ_B - Interrupt Flag for Timer B. - 16 - 1 - - - WRDONE_B - Write Done Flag for Timer B indicating the write is complete from APB to CLK_TMR domain. - 24 - 1 - - - WR_DIS_B - Write Disable to CNT/PWM for Timer B in the non-cascaded dual timer configuration. - 25 - 1 - - - - - CTRL0 - Timer Control Register. - 0x10 - read-write - - - MODE_A - Mode Select for Timer A - 0 - 4 - - - ONE_SHOT - One-Shot Mode - 0 - - - CONTINUOUS - Continuous Mode - 1 - - - COUNTER - Counter Mode - 2 - - - PWM - PWM Mode - 3 - - - CAPTURE - Capture Mode - 4 - - - COMPARE - Compare Mode - 5 - - - GATED - Gated Mode - 6 - - - CAPCOMP - Capture/Compare Mode - 7 - - - DUAL_EDGE - Dual Edge Capture Mode - 8 - - - IGATED - Inactive Gated Mode - 12 - - - - - CLKDIV_A - Clock Divider Select for Timer A - 4 - 4 - - - DIV_BY_1 - Prescaler Divide-By-1 - 0 - - - DIV_BY_2 - Prescaler Divide-By-2 - 1 - - - DIV_BY_4 - Prescaler Divide-By-4 - 2 - - - DIV_BY_8 - Prescaler Divide-By-8 - 3 - - - DIV_BY_16 - Prescaler Divide-By-16 - 4 - - - DIV_BY_32 - Prescaler Divide-By-32 - 5 - - - DIV_BY_64 - Prescaler Divide-By-64 - 6 - - - DIV_BY_128 - Prescaler Divide-By-128 - 7 - - - DIV_BY_256 - Prescaler Divide-By-256 - 8 - - - DIV_BY_512 - Prescaler Divide-By-512 - 9 - - - DIV_BY_1024 - Prescaler Divide-By-1024 - 10 - - - DIV_BY_2048 - Prescaler Divide-By-2048 - 11 - - - DIV_BY_4096 - TBD - 12 - - - - - POL_A - Timer Polarity for Timer A - 8 - 1 - - - PWMSYNC_A - PWM Synchronization Mode for Timer A - 9 - 1 - - - NOLHPOL_A - PWM Phase A (Non-Overlapping High) Polarity for Timer A - 10 - 1 - - - NOLLPOL_A - PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer A - 11 - 1 - - - PWMCKBD_A - PWM Phase A-Prime Output Disable for Timer A - 12 - 1 - - - RST_A - Resets all flip flops in the CLK_TMR domain for Timer A. Self-clears. - 13 - 1 - - - CLKEN_A - Write 1 to Enable CLK_TMR for Timer A - 14 - 1 - - - EN_A - Enable for Timer A - 15 - 1 - - - MODE_B - Mode Select for Timer B - 16 - 4 - - - ONE_SHOT - One-Shot Mode - 0 - - - CONTINUOUS - Continuous Mode - 1 - - - COUNTER - Counter Mode - 2 - - - PWM - PWM Mode - 3 - - - CAPTURE - Capture Mode - 4 - - - COMPARE - Compare Mode - 5 - - - GATED - Gated Mode - 6 - - - CAPCOMP - Capture/Compare Mode - 7 - - - DUAL_EDGE - Dual Edge Capture Mode - 8 - - - IGATED - Inactive Gated Mode - 14 - - - - - CLKDIV_B - Clock Divider Select for Timer B - 20 - 4 - - - DIV_BY_1 - Prescaler Divide-By-1 - 0 - - - DIV_BY_2 - Prescaler Divide-By-2 - 1 - - - DIV_BY_4 - Prescaler Divide-By-4 - 2 - - - DIV_BY_8 - Prescaler Divide-By-8 - 3 - - - DIV_BY_16 - Prescaler Divide-By-16 - 4 - - - DIV_BY_32 - Prescaler Divide-By-32 - 5 - - - DIV_BY_64 - Prescaler Divide-By-64 - 6 - - - DIV_BY_128 - Prescaler Divide-By-128 - 7 - - - DIV_BY_256 - Prescaler Divide-By-256 - 8 - - - DIV_BY_512 - Prescaler Divide-By-512 - 9 - - - DIV_BY_1024 - Prescaler Divide-By-1024 - 10 - - - DIV_BY_2048 - Prescaler Divide-By-2048 - 11 - - - DIV_BY_4096 - TBD - 12 - - - - - POL_B - Timer Polarity for Timer B - 24 - 1 - - - PWMSYNC_B - PWM Synchronization Mode for Timer B - 25 - 1 - - - NOLHPOL_B - PWM Phase A (Non-Overlapping High) Polarity for Timer B - 26 - 1 - - - NOLLPOL_B - PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer B - 27 - 1 - - - PWMCKBD_B - PWM Phase A-Prime Output Disable for Timer B - 28 - 1 - - - RST_B - Resets all flip flops in the CLK_TMR domain for Timer B. Self-clears. - 29 - 1 - - - CLKEN_B - Write 1 to Enable CLK_TMR for Timer B - 30 - 1 - - - EN_B - Enable for Timer B - 31 - 1 - - - - - NOLCMP - Timer Non-Overlapping Compare Register. - 0x14 - read-write - - - LO_A - Non-Overlapping Low Compare value for Timer A controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. - 0 - 8 - - - HI_A - Non-Overlapping High Compare value for Timer A controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. - 8 - 8 - - - LO_B - Non-Overlapping Low Compare value for Timer B controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. - 16 - 8 - - - HI_B - Non-Overlapping High Compare value for Timer B controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. - 24 - 8 - - - - - CTRL1 - Timer Configuration Register. - 0x18 - read-write - - - CLKSEL_A - Timer Clock Select for Timer A - 0 - 2 - - - CLKEN_A - Timer A Enable Status - 2 - 1 - - - CLKRDY_A - CLK_TMR Ready Flag for Timer A - 3 - 1 - - - EVENT_SEL_A - Event Select for Timer A - 4 - 3 - - - NEGTRIG_A - Negative Edge Trigger for Event for Timer A - 7 - 1 - - - IE_A - Interrupt Enable for Timer A - 8 - 1 - - - CAPEVENT_SEL_A - Capture Event Select for Timer A - 9 - 2 - - - SW_CAPEVENT_A - Software Capture Event for Timer A - 11 - 1 - - - WE_A - Wake-Up Enable for Timer A - 12 - 1 - - - OUTEN_A - OUT_OE_O Enable for Modes 0, 1,and 5 for Timer A - 13 - 1 - - - OUTBEN_A - PWM_CKB_EN_O Enable for Modes other than Mode 3 for Timer A - 14 - 1 - - - CLKSEL_B - Timer Clock Select for Timer B - 16 - 2 - - - CLKEN_B - Timer B Enable Status - 18 - 1 - - - CLKRDY_B - CLK_TMR Ready Flag for Timer B - 19 - 1 - - - EVENT_SEL_B - Event Select for Timer B - 20 - 3 - - - NEGTRIG_B - Negative Edge Trigger for Event for Timer B - 23 - 1 - - - IE_B - Interrupt Enable for Timer B - 24 - 1 - - - CAPEVENT_SEL_B - Capture Event Select for Timer B - 25 - 2 - - - SW_CAPEVENT_B - Software Capture Event for Timer B - 27 - 1 - - - WE_B - Wake-Up Enable for Timer B - 28 - 1 - - - CASCADE - Cascade two 16-bit timers into one 32-bit timer. Only available when C_TMR16=0 adn C_DUALTMR16=1. - 31 - 1 - - - - - WKFL - Timer Wakeup Status Register. - 0x1C - read-write - - - A - Wake-Up Flag for Timer A - 0 - 1 - - - B - Wake-Up Flag for Timer B - 16 - 1 - - - - - - - + 0 + 32 + + + + + INTFL + Timer Interrupt Status Register. + 0x0C + read-write + + + IRQ_A + Interrupt Flag for Timer A. + 0 + 1 + + + WRDONE_A + Write Done Flag for Timer A indicating the write is complete from APB to CLK_TMR domain. + 8 + 1 + + + WR_DIS_A + Write Disable to CNT/PWM for Timer A in the non-cascaded dual timer configuration. + 9 + 1 + + + IRQ_B + Interrupt Flag for Timer B. + 16 + 1 + + + WRDONE_B + Write Done Flag for Timer B indicating the write is complete from APB to CLK_TMR domain. + 24 + 1 + + + WR_DIS_B + Write Disable to CNT/PWM for Timer B in the non-cascaded dual timer configuration. + 25 + 1 + + + + + CTRL0 + Timer Control Register. + 0x10 + read-write + + + MODE_A + Mode Select for Timer A + 0 + 4 + + + ONE_SHOT + One-Shot Mode + 0 + + + CONTINUOUS + Continuous Mode + 1 + + + COUNTER + Counter Mode + 2 + + + PWM + PWM Mode + 3 + + + CAPTURE + Capture Mode + 4 + + + COMPARE + Compare Mode + 5 + + + GATED + Gated Mode + 6 + + + CAPCOMP + Capture/Compare Mode + 7 + + + DUAL_EDGE + Dual Edge Capture Mode + 8 + + + IGATED + Inactive Gated Mode + 12 + + + + + CLKDIV_A + Clock Divider Select for Timer A + 4 + 4 + + + DIV_BY_1 + Prescaler Divide-By-1 + 0 + + + DIV_BY_2 + Prescaler Divide-By-2 + 1 + + + DIV_BY_4 + Prescaler Divide-By-4 + 2 + + + DIV_BY_8 + Prescaler Divide-By-8 + 3 + + + DIV_BY_16 + Prescaler Divide-By-16 + 4 + + + DIV_BY_32 + Prescaler Divide-By-32 + 5 + + + DIV_BY_64 + Prescaler Divide-By-64 + 6 + + + DIV_BY_128 + Prescaler Divide-By-128 + 7 + + + DIV_BY_256 + Prescaler Divide-By-256 + 8 + + + DIV_BY_512 + Prescaler Divide-By-512 + 9 + + + DIV_BY_1024 + Prescaler Divide-By-1024 + 10 + + + DIV_BY_2048 + Prescaler Divide-By-2048 + 11 + + + DIV_BY_4096 + TBD + 12 + + + + + POL_A + Timer Polarity for Timer A + 8 + 1 + + + PWMSYNC_A + PWM Synchronization Mode for Timer A + 9 + 1 + + + NOLHPOL_A + PWM Phase A (Non-Overlapping High) Polarity for Timer A + 10 + 1 + + + NOLLPOL_A + PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer A + 11 + 1 + + + PWMCKBD_A + PWM Phase A-Prime Output Disable for Timer A + 12 + 1 + + + RST_A + Resets all flip flops in the CLK_TMR domain for Timer A. Self-clears. + 13 + 1 + + + CLKEN_A + Write 1 to Enable CLK_TMR for Timer A + 14 + 1 + + + EN_A + Enable for Timer A + 15 + 1 + + + MODE_B + Mode Select for Timer B + 16 + 4 + + + ONE_SHOT + One-Shot Mode + 0 + + + CONTINUOUS + Continuous Mode + 1 + + + COUNTER + Counter Mode + 2 + + + PWM + PWM Mode + 3 + + + CAPTURE + Capture Mode + 4 + + + COMPARE + Compare Mode + 5 + + + GATED + Gated Mode + 6 + + + CAPCOMP + Capture/Compare Mode + 7 + + + DUAL_EDGE + Dual Edge Capture Mode + 8 + + + IGATED + Inactive Gated Mode + 14 + + + + + CLKDIV_B + Clock Divider Select for Timer B + 20 + 4 + + + DIV_BY_1 + Prescaler Divide-By-1 + 0 + + + DIV_BY_2 + Prescaler Divide-By-2 + 1 + + + DIV_BY_4 + Prescaler Divide-By-4 + 2 + + + DIV_BY_8 + Prescaler Divide-By-8 + 3 + + + DIV_BY_16 + Prescaler Divide-By-16 + 4 + + + DIV_BY_32 + Prescaler Divide-By-32 + 5 + + + DIV_BY_64 + Prescaler Divide-By-64 + 6 + + + DIV_BY_128 + Prescaler Divide-By-128 + 7 + + + DIV_BY_256 + Prescaler Divide-By-256 + 8 + + + DIV_BY_512 + Prescaler Divide-By-512 + 9 + + + DIV_BY_1024 + Prescaler Divide-By-1024 + 10 + + + DIV_BY_2048 + Prescaler Divide-By-2048 + 11 + + + DIV_BY_4096 + TBD + 12 + + + + + POL_B + Timer Polarity for Timer B + 24 + 1 + + + PWMSYNC_B + PWM Synchronization Mode for Timer B + 25 + 1 + + + NOLHPOL_B + PWM Phase A (Non-Overlapping High) Polarity for Timer B + 26 + 1 + + + NOLLPOL_B + PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer B + 27 + 1 + + + PWMCKBD_B + PWM Phase A-Prime Output Disable for Timer B + 28 + 1 + + + RST_B + Resets all flip flops in the CLK_TMR domain for Timer B. Self-clears. + 29 + 1 + + + CLKEN_B + Write 1 to Enable CLK_TMR for Timer B + 30 + 1 + + + EN_B + Enable for Timer B + 31 + 1 + + + + + NOLCMP + Timer Non-Overlapping Compare Register. + 0x14 + read-write + + + LO_A + Non-Overlapping Low Compare value for Timer A controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. + 0 + 8 + + + HI_A + Non-Overlapping High Compare value for Timer A controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. + 8 + 8 + + + LO_B + Non-Overlapping Low Compare value for Timer B controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. + 16 + 8 + + + HI_B + Non-Overlapping High Compare value for Timer B controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. + 24 + 8 + + + + + CTRL1 + Timer Configuration Register. + 0x18 + read-write + + + CLKSEL_A + Timer Clock Select for Timer A + 0 + 2 + + + CLKEN_A + Timer A Enable Status + 2 + 1 + + + CLKRDY_A + CLK_TMR Ready Flag for Timer A + 3 + 1 + + + EVENT_SEL_A + Event Select for Timer A + 4 + 3 + + + NEGTRIG_A + Negative Edge Trigger for Event for Timer A + 7 + 1 + + + IE_A + Interrupt Enable for Timer A + 8 + 1 + + + CAPEVENT_SEL_A + Capture Event Select for Timer A + 9 + 2 + + + SW_CAPEVENT_A + Software Capture Event for Timer A + 11 + 1 + + + WE_A + Wake-Up Enable for Timer A + 12 + 1 + + + OUTEN_A + OUT_OE_O Enable for Modes 0, 1,and 5 for Timer A + 13 + 1 + + + OUTBEN_A + PWM_CKB_EN_O Enable for Modes other than Mode 3 for Timer A + 14 + 1 + + + ASYNC + Allows asynchronous reads to the PWM and CNT registers. + 15 + 1 + + + CLKSEL_B + Timer Clock Select for Timer B + 16 + 2 + + + CLKEN_B + Timer B Enable Status + 18 + 1 + + + CLKRDY_B + CLK_TMR Ready Flag for Timer B + 19 + 1 + + + EVENT_SEL_B + Event Select for Timer B + 20 + 3 + + + NEGTRIG_B + Negative Edge Trigger for Event for Timer B + 23 + 1 + + + IE_B + Interrupt Enable for Timer B + 24 + 1 + + + CAPEVENT_SEL_B + Capture Event Select for Timer B + 25 + 2 + + + SW_CAPEVENT_B + Software Capture Event for Timer B + 27 + 1 + + + WE_B + Wake-Up Enable for Timer B + 28 + 1 + + + CASCADE + Cascade two 16-bit timers into one 32-bit timer. Only available when C_TMR16=0 adn C_DUALTMR16=1. + 31 + 1 + + + + + WKFL + Timer Wakeup Status Register. + 0x1C + read-write + + + A + Wake-Up Flag for Timer A + 0 + 1 + + + B + Wake-Up Flag for Timer B + 16 + 1 + + + + + + + \ No newline at end of file diff --git a/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me30.svd b/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me30.svd index 5bb17764a0..bb65faa389 100644 --- a/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me30.svd +++ b/Libraries/PeriphDrivers/Source/TMR/tmr_revb_me30.svd @@ -1,662 +1,668 @@  - - TMR - Low-Power Configurable Timer - 0x40010000 - - 0x00 - 0x1000 - registers - - - TMR - - 1 - - - - - CNT - Timer Counter Register. - 0x00 - read-write - - - COUNT - The current count value for the timer. This field increments as the timer counts. - 0 - 32 - - - - - CMP - Timer Compare Register. - 0x04 - read-write - - - COMPARE - The value in this register is used as the compare value for the timer's count value. The compare field meaning is determined by the specific mode of the timer. - 0 - 32 - - - - - PWM - Timer PWM Register. - 0x08 - read-write - - - PWM - Timer PWM Match: + + TMR + Low-Power Configurable Timer + 0x40010000 + + 0x00 + 0x1000 + registers + + + TMR + + 1 + + + + + CNT + Timer Counter Register. + 0x00 + read-write + + + COUNT + The current count value for the timer. This field increments as the timer counts. + 0 + 32 + + + + + CMP + Timer Compare Register. + 0x04 + read-write + + + COMPARE + The value in this register is used as the compare value for the timer's count value. The compare field meaning is determined by the specific mode of the timer. + 0 + 32 + + + + + PWM + Timer PWM Register. + 0x08 + read-write + + + PWM + Timer PWM Match: In PWM Mode, this field sets the count value for the first transition period of the PWM cycle. At the end of the cycle where CNT equals PWM, the PWM output transitions to the second period of the PWM cycle. The second PWM period count is stored in the CMP register. The value set for PWM must me less than the value set in CMP for PWM mode operation. Timer Capture Value: In Capture, Compare, and Capture/Compare modes, this field is used to store the CNT value when a Capture, Compare, or Capture/Compare event occurs. - 0 - 32 - - - - - INTFL - Timer Interrupt Status Register. - 0x0C - read-write - - - IRQ_A - Interrupt Flag for Timer A. - 0 - 1 - - - WRDONE_A - Write Done Flag for Timer A indicating the write is complete from APB to CLK_TMR domain. - 8 - 1 - - - WR_DIS_A - Write Disable to CNT/PWM for Timer A in the non-cascaded dual timer configuration. - 9 - 1 - - - IRQ_B - Interrupt Flag for Timer B. - 16 - 1 - - - WRDONE_B - Write Done Flag for Timer B indicating the write is complete from APB to CLK_TMR domain. - 24 - 1 - - - WR_DIS_B - Write Disable to CNT/PWM for Timer B in the non-cascaded dual timer configuration. - 25 - 1 - - - - - CTRL0 - Timer Control Register. - 0x10 - read-write - - - MODE_A - Mode Select for Timer A - 0 - 4 - - - ONE_SHOT - One-Shot Mode - 0 - - - CONTINUOUS - Continuous Mode - 1 - - - COUNTER - Counter Mode - 2 - - - PWM - PWM Mode - 3 - - - CAPTURE - Capture Mode - 4 - - - COMPARE - Compare Mode - 5 - - - GATED - Gated Mode - 6 - - - CAPCOMP - Capture/Compare Mode - 7 - - - DUAL_EDGE - Dual Edge Capture Mode - 8 - - - IGATED - Inactive Gated Mode - 14 - - - - - CLKDIV_A - Clock Divider Select for Timer A - 4 - 4 - - - DIV_BY_1 - Prescaler Divide-By-1 - 0 - - - DIV_BY_2 - Prescaler Divide-By-2 - 1 - - - DIV_BY_4 - Prescaler Divide-By-4 - 2 - - - DIV_BY_8 - Prescaler Divide-By-8 - 3 - - - DIV_BY_16 - Prescaler Divide-By-16 - 4 - - - DIV_BY_32 - Prescaler Divide-By-32 - 5 - - - DIV_BY_64 - Prescaler Divide-By-64 - 6 - - - DIV_BY_128 - Prescaler Divide-By-128 - 7 - - - DIV_BY_256 - Prescaler Divide-By-256 - 8 - - - DIV_BY_512 - Prescaler Divide-By-512 - 9 - - - DIV_BY_1024 - Prescaler Divide-By-1024 - 10 - - - DIV_BY_2048 - Prescaler Divide-By-2048 - 11 - - - DIV_BY_4096 - TBD - 12 - - - - - POL_A - Timer Polarity for Timer A - 8 - 1 - - - PWMSYNC_A - PWM Synchronization Mode for Timer A - 9 - 1 - - - NOLHPOL_A - PWM Phase A (Non-Overlapping High) Polarity for Timer A - 10 - 1 - - - NOLLPOL_A - PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer A - 11 - 1 - - - PWMCKBD_A - PWM Phase A-Prime Output Disable for Timer A - 12 - 1 - - - RST_A - Resets all flip flops in the CLK_TMR domain for Timer A. Self-clears. - 13 - 1 - - - CLKEN_A - Write 1 to Enable CLK_TMR for Timer A - 14 - 1 - - - EN_A - Enable for Timer A - 15 - 1 - - - MODE_B - Mode Select for Timer B - 16 - 4 - - - ONE_SHOT - One-Shot Mode - 0 - - - CONTINUOUS - Continuous Mode - 1 - - - COUNTER - Counter Mode - 2 - - - PWM - PWM Mode - 3 - - - CAPTURE - Capture Mode - 4 - - - COMPARE - Compare Mode - 5 - - - GATED - Gated Mode - 6 - - - CAPCOMP - Capture/Compare Mode - 7 - - - DUAL_EDGE - Dual Edge Capture Mode - 8 - - - IGATED - Inactive Gated Mode - 14 - - - - - CLKDIV_B - Clock Divider Select for Timer B - 20 - 4 - - - DIV_BY_1 - Prescaler Divide-By-1 - 0 - - - DIV_BY_2 - Prescaler Divide-By-2 - 1 - - - DIV_BY_4 - Prescaler Divide-By-4 - 2 - - - DIV_BY_8 - Prescaler Divide-By-8 - 3 - - - DIV_BY_16 - Prescaler Divide-By-16 - 4 - - - DIV_BY_32 - Prescaler Divide-By-32 - 5 - - - DIV_BY_64 - Prescaler Divide-By-64 - 6 - - - DIV_BY_128 - Prescaler Divide-By-128 - 7 - - - DIV_BY_256 - Prescaler Divide-By-256 - 8 - - - DIV_BY_512 - Prescaler Divide-By-512 - 9 - - - DIV_BY_1024 - Prescaler Divide-By-1024 - 10 - - - DIV_BY_2048 - Prescaler Divide-By-2048 - 11 - - - DIV_BY_4096 - TBD - 12 - - - - - POL_B - Timer Polarity for Timer B - 24 - 1 - - - PWMSYNC_B - PWM Synchronization Mode for Timer B - 25 - 1 - - - NOLHPOL_B - PWM Phase A (Non-Overlapping High) Polarity for Timer B - 26 - 1 - - - NOLLPOL_B - PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer B - 27 - 1 - - - PWMCKBD_B - PWM Phase A-Prime Output Disable for Timer B - 28 - 1 - - - RST_B - Resets all flip flops in the CLK_TMR domain for Timer B. Self-clears. - 29 - 1 - - - CLKEN_B - Write 1 to Enable CLK_TMR for Timer B - 30 - 1 - - - EN_B - Enable for Timer B - 31 - 1 - - - - - NOLCMP - Timer Non-Overlapping Compare Register. - 0x14 - read-write - - - LO_A - Non-Overlapping Low Compare value for Timer A controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. - 0 - 8 - - - HI_A - Non-Overlapping High Compare value for Timer A controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. - 8 - 8 - - - LO_B - Non-Overlapping Low Compare value for Timer B controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. - 16 - 8 - - - HI_B - Non-Overlapping High Compare value for Timer B controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. - 24 - 8 - - - - - CTRL1 - Timer Configuration Register. - 0x18 - read-write - - - CLKSEL_A - Timer Clock Select for Timer A - 0 - 2 - - - CLKEN_A - Timer A Enable Status - 2 - 1 - - - CLKRDY_A - CLK_TMR Ready Flag for Timer A - 3 - 1 - - - EVENT_SEL_A - Event Select for Timer A - 4 - 3 - - - NEGTRIG_A - Negative Edge Trigger for Event for Timer A - 7 - 1 - - - IE_A - Interrupt Enable for Timer A - 8 - 1 - - - CAPEVENT_SEL_A - Capture Event Select for Timer A - 9 - 2 - - - SW_CAPEVENT_A - Software Capture Event for Timer A - 11 - 1 - - - WE_A - Wake-Up Enable for Timer A - 12 - 1 - - - OUTEN_A - OUT_OE_O Enable for Modes 0, 1,and 5 for Timer A - 13 - 1 - - - OUTBEN_A - PWM_CKB_EN_O Enable for Modes other than Mode 3 for Timer A - 14 - 1 - - - CLKSEL_B - Timer Clock Select for Timer B - 16 - 2 - - - CLKEN_B - Timer B Enable Status - 18 - 1 - - - CLKRDY_B - CLK_TMR Ready Flag for Timer B - 19 - 1 - - - EVENT_SEL_B - Event Select for Timer B - 20 - 3 - - - NEGTRIG_B - Negative Edge Trigger for Event for Timer B - 23 - 1 - - - IE_B - Interrupt Enable for Timer B - 24 - 1 - - - CAPEVENT_SEL_B - Capture Event Select for Timer B - 25 - 2 - - - SW_CAPEVENT_B - Software Capture Event for Timer B - 27 - 1 - - - WE_B - Wake-Up Enable for Timer B - 28 - 1 - - - CASCADE - Cascade two 16-bit timers into one 32-bit timer. Only available when C_TMR16=0 adn C_DUALTMR16=1. - 31 - 1 - - - - - WKFL - Timer Wakeup Status Register. - 0x1C - read-write - - - A - Wake-Up Flag for Timer A - 0 - 1 - - - B - Wake-Up Flag for Timer B - 16 - 1 - - - - - - - + 0 + 32 + + + + + INTFL + Timer Interrupt Status Register. + 0x0C + read-write + + + IRQ_A + Interrupt Flag for Timer A. + 0 + 1 + + + WRDONE_A + Write Done Flag for Timer A indicating the write is complete from APB to CLK_TMR domain. + 8 + 1 + + + WR_DIS_A + Write Disable to CNT/PWM for Timer A in the non-cascaded dual timer configuration. + 9 + 1 + + + IRQ_B + Interrupt Flag for Timer B. + 16 + 1 + + + WRDONE_B + Write Done Flag for Timer B indicating the write is complete from APB to CLK_TMR domain. + 24 + 1 + + + WR_DIS_B + Write Disable to CNT/PWM for Timer B in the non-cascaded dual timer configuration. + 25 + 1 + + + + + CTRL0 + Timer Control Register. + 0x10 + read-write + + + MODE_A + Mode Select for Timer A + 0 + 4 + + + ONE_SHOT + One-Shot Mode + 0 + + + CONTINUOUS + Continuous Mode + 1 + + + COUNTER + Counter Mode + 2 + + + PWM + PWM Mode + 3 + + + CAPTURE + Capture Mode + 4 + + + COMPARE + Compare Mode + 5 + + + GATED + Gated Mode + 6 + + + CAPCOMP + Capture/Compare Mode + 7 + + + DUAL_EDGE + Dual Edge Capture Mode + 8 + + + IGATED + Inactive Gated Mode + 14 + + + + + CLKDIV_A + Clock Divider Select for Timer A + 4 + 4 + + + DIV_BY_1 + Prescaler Divide-By-1 + 0 + + + DIV_BY_2 + Prescaler Divide-By-2 + 1 + + + DIV_BY_4 + Prescaler Divide-By-4 + 2 + + + DIV_BY_8 + Prescaler Divide-By-8 + 3 + + + DIV_BY_16 + Prescaler Divide-By-16 + 4 + + + DIV_BY_32 + Prescaler Divide-By-32 + 5 + + + DIV_BY_64 + Prescaler Divide-By-64 + 6 + + + DIV_BY_128 + Prescaler Divide-By-128 + 7 + + + DIV_BY_256 + Prescaler Divide-By-256 + 8 + + + DIV_BY_512 + Prescaler Divide-By-512 + 9 + + + DIV_BY_1024 + Prescaler Divide-By-1024 + 10 + + + DIV_BY_2048 + Prescaler Divide-By-2048 + 11 + + + DIV_BY_4096 + TBD + 12 + + + + + POL_A + Timer Polarity for Timer A + 8 + 1 + + + PWMSYNC_A + PWM Synchronization Mode for Timer A + 9 + 1 + + + NOLHPOL_A + PWM Phase A (Non-Overlapping High) Polarity for Timer A + 10 + 1 + + + NOLLPOL_A + PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer A + 11 + 1 + + + PWMCKBD_A + PWM Phase A-Prime Output Disable for Timer A + 12 + 1 + + + RST_A + Resets all flip flops in the CLK_TMR domain for Timer A. Self-clears. + 13 + 1 + + + CLKEN_A + Write 1 to Enable CLK_TMR for Timer A + 14 + 1 + + + EN_A + Enable for Timer A + 15 + 1 + + + MODE_B + Mode Select for Timer B + 16 + 4 + + + ONE_SHOT + One-Shot Mode + 0 + + + CONTINUOUS + Continuous Mode + 1 + + + COUNTER + Counter Mode + 2 + + + PWM + PWM Mode + 3 + + + CAPTURE + Capture Mode + 4 + + + COMPARE + Compare Mode + 5 + + + GATED + Gated Mode + 6 + + + CAPCOMP + Capture/Compare Mode + 7 + + + DUAL_EDGE + Dual Edge Capture Mode + 8 + + + IGATED + Inactive Gated Mode + 14 + + + + + CLKDIV_B + Clock Divider Select for Timer B + 20 + 4 + + + DIV_BY_1 + Prescaler Divide-By-1 + 0 + + + DIV_BY_2 + Prescaler Divide-By-2 + 1 + + + DIV_BY_4 + Prescaler Divide-By-4 + 2 + + + DIV_BY_8 + Prescaler Divide-By-8 + 3 + + + DIV_BY_16 + Prescaler Divide-By-16 + 4 + + + DIV_BY_32 + Prescaler Divide-By-32 + 5 + + + DIV_BY_64 + Prescaler Divide-By-64 + 6 + + + DIV_BY_128 + Prescaler Divide-By-128 + 7 + + + DIV_BY_256 + Prescaler Divide-By-256 + 8 + + + DIV_BY_512 + Prescaler Divide-By-512 + 9 + + + DIV_BY_1024 + Prescaler Divide-By-1024 + 10 + + + DIV_BY_2048 + Prescaler Divide-By-2048 + 11 + + + DIV_BY_4096 + TBD + 12 + + + + + POL_B + Timer Polarity for Timer B + 24 + 1 + + + PWMSYNC_B + PWM Synchronization Mode for Timer B + 25 + 1 + + + NOLHPOL_B + PWM Phase A (Non-Overlapping High) Polarity for Timer B + 26 + 1 + + + NOLLPOL_B + PWM Phase A-Prime (Non-Overlapping Low) Polarity for Timer B + 27 + 1 + + + PWMCKBD_B + PWM Phase A-Prime Output Disable for Timer B + 28 + 1 + + + RST_B + Resets all flip flops in the CLK_TMR domain for Timer B. Self-clears. + 29 + 1 + + + CLKEN_B + Write 1 to Enable CLK_TMR for Timer B + 30 + 1 + + + EN_B + Enable for Timer B + 31 + 1 + + + + + NOLCMP + Timer Non-Overlapping Compare Register. + 0x14 + read-write + + + LO_A + Non-Overlapping Low Compare value for Timer A controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. + 0 + 8 + + + HI_A + Non-Overlapping High Compare value for Timer A controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. + 8 + 8 + + + LO_B + Non-Overlapping Low Compare value for Timer B controls the time between the falling edge of PWM Phase A and the next rising edge of PWM Phase A-Prime. + 16 + 8 + + + HI_B + Non-Overlapping High Compare value for Timer B controls the time between the falling edge of PWM Phase A-Prime and the next rising edge of PWM Phase A. + 24 + 8 + + + + + CTRL1 + Timer Configuration Register. + 0x18 + read-write + + + CLKSEL_A + Timer Clock Select for Timer A + 0 + 2 + + + CLKEN_A + Timer A Enable Status + 2 + 1 + + + CLKRDY_A + CLK_TMR Ready Flag for Timer A + 3 + 1 + + + EVENT_SEL_A + Event Select for Timer A + 4 + 3 + + + NEGTRIG_A + Negative Edge Trigger for Event for Timer A + 7 + 1 + + + IE_A + Interrupt Enable for Timer A + 8 + 1 + + + CAPEVENT_SEL_A + Capture Event Select for Timer A + 9 + 2 + + + SW_CAPEVENT_A + Software Capture Event for Timer A + 11 + 1 + + + WE_A + Wake-Up Enable for Timer A + 12 + 1 + + + OUTEN_A + OUT_OE_O Enable for Modes 0, 1,and 5 for Timer A + 13 + 1 + + + OUTBEN_A + PWM_CKB_EN_O Enable for Modes other than Mode 3 for Timer A + 14 + 1 + + + ASYNC + Allows asynchronous reads to the PWM and CNT registers. + 15 + 1 + + + CLKSEL_B + Timer Clock Select for Timer B + 16 + 2 + + + CLKEN_B + Timer B Enable Status + 18 + 1 + + + CLKRDY_B + CLK_TMR Ready Flag for Timer B + 19 + 1 + + + EVENT_SEL_B + Event Select for Timer B + 20 + 3 + + + NEGTRIG_B + Negative Edge Trigger for Event for Timer B + 23 + 1 + + + IE_B + Interrupt Enable for Timer B + 24 + 1 + + + CAPEVENT_SEL_B + Capture Event Select for Timer B + 25 + 2 + + + SW_CAPEVENT_B + Software Capture Event for Timer B + 27 + 1 + + + WE_B + Wake-Up Enable for Timer B + 28 + 1 + + + CASCADE + Cascade two 16-bit timers into one 32-bit timer. Only available when C_TMR16=0 adn C_DUALTMR16=1. + 31 + 1 + + + + + WKFL + Timer Wakeup Status Register. + 0x1C + read-write + + + A + Wake-Up Flag for Timer A + 0 + 1 + + + B + Wake-Up Flag for Timer B + 16 + 1 + + + + + + + \ No newline at end of file diff --git a/Libraries/PeriphDrivers/Source/TMR/tmr_revb_regs.h b/Libraries/PeriphDrivers/Source/TMR/tmr_revb_regs.h index 282738bdf3..ae3f65ca0e 100644 --- a/Libraries/PeriphDrivers/Source/TMR/tmr_revb_regs.h +++ b/Libraries/PeriphDrivers/Source/TMR/tmr_revb_regs.h @@ -1,6 +1,8 @@ /** * @file tmr_revb_regs.h * @brief Registers, Bit Masks and Bit Positions for the TMR_REVB Peripheral Module. + * @note This file is @generated. + * @ingroup tmr_revb_registers */ /****************************************************************************** @@ -23,8 +25,8 @@ * ******************************************************************************/ -#ifndef _TMR_REVB_REGS_H_ -#define _TMR_REVB_REGS_H_ +#ifndef LIBRARIES_PERIPHDRIVERS_SOURCE_TMR_TMR_REVB_REGS_H_ +#define LIBRARIES_PERIPHDRIVERS_SOURCE_TMR_TMR_REVB_REGS_H_ /* **** Includes **** */ #include @@ -32,11 +34,11 @@ #ifdef __cplusplus extern "C" { #endif - + #if defined (__ICCARM__) #pragma system_include #endif - + #if defined (__CC_ARM) #pragma anon_unions #endif @@ -48,7 +50,11 @@ extern "C" { #define __IO volatile #endif #ifndef __I -#define __I volatile const +#ifdef __cplusplus +#define __I volatile +#else +#define __I volatile const +#endif #endif #ifndef __O #define __O volatile @@ -64,7 +70,7 @@ extern "C" { * @ingroup tmr_revb * @defgroup tmr_revb_registers TMR_REVB_Registers * @brief Registers, Bit Masks and Bit Positions for the TMR_REVB Peripheral Module. - * @details Low-Power Configurable Timer + * @details Low-Power Configurable Timer */ /** @@ -82,31 +88,14 @@ typedef struct { __IO uint32_t wkfl; /**< \b 0x1C: TMR_REVB WKFL Register */ } mxc_tmr_revb_regs_t; -/* Register offsets for module TMR_REVB */ -/** - * @ingroup tmr_revb_registers - * @defgroup TMR_REVB_Register_Offsets Register Offsets - * @brief TMR_REVB Peripheral Register Offsets from the TMR_REVB Base Peripheral Address. - * @{ - */ - #define MXC_R_TMR_REVB_CNT ((uint32_t)0x00000000UL) /**< Offset from TMR_REVB Base Address: 0x0000 */ - #define MXC_R_TMR_REVB_CMP ((uint32_t)0x00000004UL) /**< Offset from TMR_REVB Base Address: 0x0004 */ - #define MXC_R_TMR_REVB_PWM ((uint32_t)0x00000008UL) /**< Offset from TMR_REVB Base Address: 0x0008 */ - #define MXC_R_TMR_REVB_INTFL ((uint32_t)0x0000000CUL) /**< Offset from TMR_REVB Base Address: 0x000C */ - #define MXC_R_TMR_REVB_CTRL0 ((uint32_t)0x00000010UL) /**< Offset from TMR_REVB Base Address: 0x0010 */ - #define MXC_R_TMR_REVB_NOLCMP ((uint32_t)0x00000014UL) /**< Offset from TMR_REVB Base Address: 0x0014 */ - #define MXC_R_TMR_REVB_CTRL1 ((uint32_t)0x00000018UL) /**< Offset from TMR_REVB Base Address: 0x0018 */ - #define MXC_R_TMR_REVB_WKFL ((uint32_t)0x0000001CUL) /**< Offset from TMR_REVB Base Address: 0x001C */ -/**@} end of group tmr_revb_registers */ - /** * @ingroup tmr_revb_registers * @defgroup TMR_REVB_CNT TMR_REVB_CNT * @brief Timer Counter Register. * @{ */ - #define MXC_F_TMR_REVB_CNT_COUNT_POS 0 /**< CNT_COUNT Position */ - #define MXC_F_TMR_REVB_CNT_COUNT ((uint32_t)(0xFFFFFFFFUL << MXC_F_TMR_REVB_CNT_COUNT_POS)) /**< CNT_COUNT Mask */ +#define MXC_F_TMR_REVB_CNT_COUNT_POS 0 /**< CNT_COUNT Position */ +#define MXC_F_TMR_REVB_CNT_COUNT ((uint32_t)(0xFFFFFFFFUL << MXC_F_TMR_REVB_CNT_COUNT_POS)) /**< CNT_COUNT Mask */ /**@} end of group TMR_REVB_CNT_Register */ @@ -116,8 +105,8 @@ typedef struct { * @brief Timer Compare Register. * @{ */ - #define MXC_F_TMR_REVB_CMP_COMPARE_POS 0 /**< CMP_COMPARE Position */ - #define MXC_F_TMR_REVB_CMP_COMPARE ((uint32_t)(0xFFFFFFFFUL << MXC_F_TMR_REVB_CMP_COMPARE_POS)) /**< CMP_COMPARE Mask */ +#define MXC_F_TMR_REVB_CMP_COMPARE_POS 0 /**< CMP_COMPARE Position */ +#define MXC_F_TMR_REVB_CMP_COMPARE ((uint32_t)(0xFFFFFFFFUL << MXC_F_TMR_REVB_CMP_COMPARE_POS)) /**< CMP_COMPARE Mask */ /**@} end of group TMR_REVB_CMP_Register */ @@ -127,8 +116,8 @@ typedef struct { * @brief Timer PWM Register. * @{ */ - #define MXC_F_TMR_REVB_PWM_PWM_POS 0 /**< PWM_PWM Position */ - #define MXC_F_TMR_REVB_PWM_PWM ((uint32_t)(0xFFFFFFFFUL << MXC_F_TMR_REVB_PWM_PWM_POS)) /**< PWM_PWM Mask */ +#define MXC_F_TMR_REVB_PWM_PWM_POS 0 /**< PWM_PWM Position */ +#define MXC_F_TMR_REVB_PWM_PWM ((uint32_t)(0xFFFFFFFFUL << MXC_F_TMR_REVB_PWM_PWM_POS)) /**< PWM_PWM Mask */ /**@} end of group TMR_REVB_PWM_Register */ @@ -138,23 +127,23 @@ typedef struct { * @brief Timer Interrupt Status Register. * @{ */ - #define MXC_F_TMR_REVB_INTFL_IRQ_A_POS 0 /**< INTFL_IRQ_A Position */ - #define MXC_F_TMR_REVB_INTFL_IRQ_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_IRQ_A_POS)) /**< INTFL_IRQ_A Mask */ +#define MXC_F_TMR_REVB_INTFL_IRQ_A_POS 0 /**< INTFL_IRQ_A Position */ +#define MXC_F_TMR_REVB_INTFL_IRQ_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_IRQ_A_POS)) /**< INTFL_IRQ_A Mask */ - #define MXC_F_TMR_REVB_INTFL_WRDONE_A_POS 8 /**< INTFL_WRDONE_A Position */ - #define MXC_F_TMR_REVB_INTFL_WRDONE_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_WRDONE_A_POS)) /**< INTFL_WRDONE_A Mask */ +#define MXC_F_TMR_REVB_INTFL_WRDONE_A_POS 8 /**< INTFL_WRDONE_A Position */ +#define MXC_F_TMR_REVB_INTFL_WRDONE_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_WRDONE_A_POS)) /**< INTFL_WRDONE_A Mask */ - #define MXC_F_TMR_REVB_INTFL_WR_DIS_A_POS 9 /**< INTFL_WR_DIS_A Position */ - #define MXC_F_TMR_REVB_INTFL_WR_DIS_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_WR_DIS_A_POS)) /**< INTFL_WR_DIS_A Mask */ +#define MXC_F_TMR_REVB_INTFL_WR_DIS_A_POS 9 /**< INTFL_WR_DIS_A Position */ +#define MXC_F_TMR_REVB_INTFL_WR_DIS_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_WR_DIS_A_POS)) /**< INTFL_WR_DIS_A Mask */ - #define MXC_F_TMR_REVB_INTFL_IRQ_B_POS 16 /**< INTFL_IRQ_B Position */ - #define MXC_F_TMR_REVB_INTFL_IRQ_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_IRQ_B_POS)) /**< INTFL_IRQ_B Mask */ +#define MXC_F_TMR_REVB_INTFL_IRQ_B_POS 16 /**< INTFL_IRQ_B Position */ +#define MXC_F_TMR_REVB_INTFL_IRQ_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_IRQ_B_POS)) /**< INTFL_IRQ_B Mask */ - #define MXC_F_TMR_REVB_INTFL_WRDONE_B_POS 24 /**< INTFL_WRDONE_B Position */ - #define MXC_F_TMR_REVB_INTFL_WRDONE_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_WRDONE_B_POS)) /**< INTFL_WRDONE_B Mask */ +#define MXC_F_TMR_REVB_INTFL_WRDONE_B_POS 24 /**< INTFL_WRDONE_B Position */ +#define MXC_F_TMR_REVB_INTFL_WRDONE_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_WRDONE_B_POS)) /**< INTFL_WRDONE_B Mask */ - #define MXC_F_TMR_REVB_INTFL_WR_DIS_B_POS 25 /**< INTFL_WR_DIS_B Position */ - #define MXC_F_TMR_REVB_INTFL_WR_DIS_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_WR_DIS_B_POS)) /**< INTFL_WR_DIS_B Mask */ +#define MXC_F_TMR_REVB_INTFL_WR_DIS_B_POS 25 /**< INTFL_WR_DIS_B Position */ +#define MXC_F_TMR_REVB_INTFL_WR_DIS_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_INTFL_WR_DIS_B_POS)) /**< INTFL_WR_DIS_B Mask */ /**@} end of group TMR_REVB_INTFL_Register */ @@ -164,157 +153,157 @@ typedef struct { * @brief Timer Control Register. * @{ */ - #define MXC_F_TMR_REVB_CTRL0_MODE_A_POS 0 /**< CTRL0_MODE_A Position */ - #define MXC_F_TMR_REVB_CTRL0_MODE_A ((uint32_t)(0xFUL << MXC_F_TMR_REVB_CTRL0_MODE_A_POS)) /**< CTRL0_MODE_A Mask */ - #define MXC_V_TMR_REVB_CTRL0_MODE_A_ONE_SHOT ((uint32_t)0x0UL) /**< CTRL0_MODE_A_ONE_SHOT Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_A_ONE_SHOT (MXC_V_TMR_REVB_CTRL0_MODE_A_ONE_SHOT << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_ONE_SHOT Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_A_CONTINUOUS ((uint32_t)0x1UL) /**< CTRL0_MODE_A_CONTINUOUS Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_A_CONTINUOUS (MXC_V_TMR_REVB_CTRL0_MODE_A_CONTINUOUS << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_CONTINUOUS Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_A_COUNTER ((uint32_t)0x2UL) /**< CTRL0_MODE_A_COUNTER Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_A_COUNTER (MXC_V_TMR_REVB_CTRL0_MODE_A_COUNTER << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_COUNTER Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_A_PWM ((uint32_t)0x3UL) /**< CTRL0_MODE_A_PWM Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_A_PWM (MXC_V_TMR_REVB_CTRL0_MODE_A_PWM << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_PWM Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_A_CAPTURE ((uint32_t)0x4UL) /**< CTRL0_MODE_A_CAPTURE Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_A_CAPTURE (MXC_V_TMR_REVB_CTRL0_MODE_A_CAPTURE << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_CAPTURE Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_A_COMPARE ((uint32_t)0x5UL) /**< CTRL0_MODE_A_COMPARE Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_A_COMPARE (MXC_V_TMR_REVB_CTRL0_MODE_A_COMPARE << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_COMPARE Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_A_GATED ((uint32_t)0x6UL) /**< CTRL0_MODE_A_GATED Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_A_GATED (MXC_V_TMR_REVB_CTRL0_MODE_A_GATED << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_GATED Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_A_CAPCOMP ((uint32_t)0x7UL) /**< CTRL0_MODE_A_CAPCOMP Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_A_CAPCOMP (MXC_V_TMR_REVB_CTRL0_MODE_A_CAPCOMP << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_CAPCOMP Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_A_DUAL_EDGE ((uint32_t)0x8UL) /**< CTRL0_MODE_A_DUAL_EDGE Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_A_DUAL_EDGE (MXC_V_TMR_REVB_CTRL0_MODE_A_DUAL_EDGE << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_DUAL_EDGE Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_A_IGATED ((uint32_t)0xCUL) /**< CTRL0_MODE_A_IGATED Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_A_IGATED (MXC_V_TMR_REVB_CTRL0_MODE_A_IGATED << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_IGATED Setting */ - - #define MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS 4 /**< CTRL0_CLKDIV_A Position */ - #define MXC_F_TMR_REVB_CTRL0_CLKDIV_A ((uint32_t)(0xFUL << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS)) /**< CTRL0_CLKDIV_A Mask */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1 ((uint32_t)0x0UL) /**< CTRL0_CLKDIV_A_DIV_BY_1 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_1 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2 ((uint32_t)0x1UL) /**< CTRL0_CLKDIV_A_DIV_BY_2 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_2 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4 ((uint32_t)0x2UL) /**< CTRL0_CLKDIV_A_DIV_BY_4 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_4 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_8 ((uint32_t)0x3UL) /**< CTRL0_CLKDIV_A_DIV_BY_8 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_8 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_8 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_8 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_16 ((uint32_t)0x4UL) /**< CTRL0_CLKDIV_A_DIV_BY_16 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_16 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_16 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_16 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_32 ((uint32_t)0x5UL) /**< CTRL0_CLKDIV_A_DIV_BY_32 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_32 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_32 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_32 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_64 ((uint32_t)0x6UL) /**< CTRL0_CLKDIV_A_DIV_BY_64 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_64 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_64 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_64 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_128 ((uint32_t)0x7UL) /**< CTRL0_CLKDIV_A_DIV_BY_128 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_128 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_128 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_128 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_256 ((uint32_t)0x8UL) /**< CTRL0_CLKDIV_A_DIV_BY_256 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_256 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_256 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_256 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_512 ((uint32_t)0x9UL) /**< CTRL0_CLKDIV_A_DIV_BY_512 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_512 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_512 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_512 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1024 ((uint32_t)0xAUL) /**< CTRL0_CLKDIV_A_DIV_BY_1024 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1024 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1024 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_1024 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2048 ((uint32_t)0xBUL) /**< CTRL0_CLKDIV_A_DIV_BY_2048 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2048 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2048 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_2048 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4096 ((uint32_t)0xCUL) /**< CTRL0_CLKDIV_A_DIV_BY_4096 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4096 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4096 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_4096 Setting */ - - #define MXC_F_TMR_REVB_CTRL0_POL_A_POS 8 /**< CTRL0_POL_A Position */ - #define MXC_F_TMR_REVB_CTRL0_POL_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_POL_A_POS)) /**< CTRL0_POL_A Mask */ - - #define MXC_F_TMR_REVB_CTRL0_PWMSYNC_A_POS 9 /**< CTRL0_PWMSYNC_A Position */ - #define MXC_F_TMR_REVB_CTRL0_PWMSYNC_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_PWMSYNC_A_POS)) /**< CTRL0_PWMSYNC_A Mask */ - - #define MXC_F_TMR_REVB_CTRL0_NOLHPOL_A_POS 10 /**< CTRL0_NOLHPOL_A Position */ - #define MXC_F_TMR_REVB_CTRL0_NOLHPOL_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_NOLHPOL_A_POS)) /**< CTRL0_NOLHPOL_A Mask */ - - #define MXC_F_TMR_REVB_CTRL0_NOLLPOL_A_POS 11 /**< CTRL0_NOLLPOL_A Position */ - #define MXC_F_TMR_REVB_CTRL0_NOLLPOL_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_NOLLPOL_A_POS)) /**< CTRL0_NOLLPOL_A Mask */ - - #define MXC_F_TMR_REVB_CTRL0_PWMCKBD_A_POS 12 /**< CTRL0_PWMCKBD_A Position */ - #define MXC_F_TMR_REVB_CTRL0_PWMCKBD_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_PWMCKBD_A_POS)) /**< CTRL0_PWMCKBD_A Mask */ - - #define MXC_F_TMR_REVB_CTRL0_RST_A_POS 13 /**< CTRL0_RST_A Position */ - #define MXC_F_TMR_REVB_CTRL0_RST_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_RST_A_POS)) /**< CTRL0_RST_A Mask */ - - #define MXC_F_TMR_REVB_CTRL0_CLKEN_A_POS 14 /**< CTRL0_CLKEN_A Position */ - #define MXC_F_TMR_REVB_CTRL0_CLKEN_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_CLKEN_A_POS)) /**< CTRL0_CLKEN_A Mask */ - - #define MXC_F_TMR_REVB_CTRL0_EN_A_POS 15 /**< CTRL0_EN_A Position */ - #define MXC_F_TMR_REVB_CTRL0_EN_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_EN_A_POS)) /**< CTRL0_EN_A Mask */ - - #define MXC_F_TMR_REVB_CTRL0_MODE_B_POS 16 /**< CTRL0_MODE_B Position */ - #define MXC_F_TMR_REVB_CTRL0_MODE_B ((uint32_t)(0xFUL << MXC_F_TMR_REVB_CTRL0_MODE_B_POS)) /**< CTRL0_MODE_B Mask */ - #define MXC_V_TMR_REVB_CTRL0_MODE_B_ONE_SHOT ((uint32_t)0x0UL) /**< CTRL0_MODE_B_ONE_SHOT Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_B_ONE_SHOT (MXC_V_TMR_REVB_CTRL0_MODE_B_ONE_SHOT << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_ONE_SHOT Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_B_CONTINUOUS ((uint32_t)0x1UL) /**< CTRL0_MODE_B_CONTINUOUS Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_B_CONTINUOUS (MXC_V_TMR_REVB_CTRL0_MODE_B_CONTINUOUS << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_CONTINUOUS Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_B_COUNTER ((uint32_t)0x2UL) /**< CTRL0_MODE_B_COUNTER Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_B_COUNTER (MXC_V_TMR_REVB_CTRL0_MODE_B_COUNTER << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_COUNTER Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_B_PWM ((uint32_t)0x3UL) /**< CTRL0_MODE_B_PWM Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_B_PWM (MXC_V_TMR_REVB_CTRL0_MODE_B_PWM << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_PWM Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_B_CAPTURE ((uint32_t)0x4UL) /**< CTRL0_MODE_B_CAPTURE Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_B_CAPTURE (MXC_V_TMR_REVB_CTRL0_MODE_B_CAPTURE << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_CAPTURE Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_B_COMPARE ((uint32_t)0x5UL) /**< CTRL0_MODE_B_COMPARE Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_B_COMPARE (MXC_V_TMR_REVB_CTRL0_MODE_B_COMPARE << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_COMPARE Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_B_GATED ((uint32_t)0x6UL) /**< CTRL0_MODE_B_GATED Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_B_GATED (MXC_V_TMR_REVB_CTRL0_MODE_B_GATED << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_GATED Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_B_CAPCOMP ((uint32_t)0x7UL) /**< CTRL0_MODE_B_CAPCOMP Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_B_CAPCOMP (MXC_V_TMR_REVB_CTRL0_MODE_B_CAPCOMP << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_CAPCOMP Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_B_DUAL_EDGE ((uint32_t)0x8UL) /**< CTRL0_MODE_B_DUAL_EDGE Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_B_DUAL_EDGE (MXC_V_TMR_REVB_CTRL0_MODE_B_DUAL_EDGE << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_DUAL_EDGE Setting */ - #define MXC_V_TMR_REVB_CTRL0_MODE_B_IGATED ((uint32_t)0xEUL) /**< CTRL0_MODE_B_IGATED Value */ - #define MXC_S_TMR_REVB_CTRL0_MODE_B_IGATED (MXC_V_TMR_REVB_CTRL0_MODE_B_IGATED << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_IGATED Setting */ - - #define MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS 20 /**< CTRL0_CLKDIV_B Position */ - #define MXC_F_TMR_REVB_CTRL0_CLKDIV_B ((uint32_t)(0xFUL << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS)) /**< CTRL0_CLKDIV_B Mask */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1 ((uint32_t)0x0UL) /**< CTRL0_CLKDIV_B_DIV_BY_1 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_1 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2 ((uint32_t)0x1UL) /**< CTRL0_CLKDIV_B_DIV_BY_2 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_2 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4 ((uint32_t)0x2UL) /**< CTRL0_CLKDIV_B_DIV_BY_4 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_4 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_8 ((uint32_t)0x3UL) /**< CTRL0_CLKDIV_B_DIV_BY_8 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_8 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_8 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_8 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_16 ((uint32_t)0x4UL) /**< CTRL0_CLKDIV_B_DIV_BY_16 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_16 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_16 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_16 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_32 ((uint32_t)0x5UL) /**< CTRL0_CLKDIV_B_DIV_BY_32 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_32 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_32 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_32 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_64 ((uint32_t)0x6UL) /**< CTRL0_CLKDIV_B_DIV_BY_64 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_64 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_64 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_64 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_128 ((uint32_t)0x7UL) /**< CTRL0_CLKDIV_B_DIV_BY_128 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_128 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_128 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_128 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_256 ((uint32_t)0x8UL) /**< CTRL0_CLKDIV_B_DIV_BY_256 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_256 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_256 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_256 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_512 ((uint32_t)0x9UL) /**< CTRL0_CLKDIV_B_DIV_BY_512 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_512 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_512 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_512 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1024 ((uint32_t)0xAUL) /**< CTRL0_CLKDIV_B_DIV_BY_1024 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1024 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1024 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_1024 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2048 ((uint32_t)0xBUL) /**< CTRL0_CLKDIV_B_DIV_BY_2048 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2048 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2048 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_2048 Setting */ - #define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4096 ((uint32_t)0xCUL) /**< CTRL0_CLKDIV_B_DIV_BY_4096 Value */ - #define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4096 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4096 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_4096 Setting */ - - #define MXC_F_TMR_REVB_CTRL0_POL_B_POS 24 /**< CTRL0_POL_B Position */ - #define MXC_F_TMR_REVB_CTRL0_POL_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_POL_B_POS)) /**< CTRL0_POL_B Mask */ - - #define MXC_F_TMR_REVB_CTRL0_PWMSYNC_B_POS 25 /**< CTRL0_PWMSYNC_B Position */ - #define MXC_F_TMR_REVB_CTRL0_PWMSYNC_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_PWMSYNC_B_POS)) /**< CTRL0_PWMSYNC_B Mask */ - - #define MXC_F_TMR_REVB_CTRL0_NOLHPOL_B_POS 26 /**< CTRL0_NOLHPOL_B Position */ - #define MXC_F_TMR_REVB_CTRL0_NOLHPOL_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_NOLHPOL_B_POS)) /**< CTRL0_NOLHPOL_B Mask */ - - #define MXC_F_TMR_REVB_CTRL0_NOLLPOL_B_POS 27 /**< CTRL0_NOLLPOL_B Position */ - #define MXC_F_TMR_REVB_CTRL0_NOLLPOL_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_NOLLPOL_B_POS)) /**< CTRL0_NOLLPOL_B Mask */ - - #define MXC_F_TMR_REVB_CTRL0_PWMCKBD_B_POS 28 /**< CTRL0_PWMCKBD_B Position */ - #define MXC_F_TMR_REVB_CTRL0_PWMCKBD_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_PWMCKBD_B_POS)) /**< CTRL0_PWMCKBD_B Mask */ - - #define MXC_F_TMR_REVB_CTRL0_RST_B_POS 29 /**< CTRL0_RST_B Position */ - #define MXC_F_TMR_REVB_CTRL0_RST_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_RST_B_POS)) /**< CTRL0_RST_B Mask */ - - #define MXC_F_TMR_REVB_CTRL0_CLKEN_B_POS 30 /**< CTRL0_CLKEN_B Position */ - #define MXC_F_TMR_REVB_CTRL0_CLKEN_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_CLKEN_B_POS)) /**< CTRL0_CLKEN_B Mask */ - - #define MXC_F_TMR_REVB_CTRL0_EN_B_POS 31 /**< CTRL0_EN_B Position */ - #define MXC_F_TMR_REVB_CTRL0_EN_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_EN_B_POS)) /**< CTRL0_EN_B Mask */ +#define MXC_F_TMR_REVB_CTRL0_MODE_A_POS 0 /**< CTRL0_MODE_A Position */ +#define MXC_F_TMR_REVB_CTRL0_MODE_A ((uint32_t)(0xFUL << MXC_F_TMR_REVB_CTRL0_MODE_A_POS)) /**< CTRL0_MODE_A Mask */ +#define MXC_V_TMR_REVB_CTRL0_MODE_A_ONE_SHOT ((uint32_t)0x0UL) /**< CTRL0_MODE_A_ONE_SHOT Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_A_ONE_SHOT (MXC_V_TMR_REVB_CTRL0_MODE_A_ONE_SHOT << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_ONE_SHOT Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_A_CONTINUOUS ((uint32_t)0x1UL) /**< CTRL0_MODE_A_CONTINUOUS Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_A_CONTINUOUS (MXC_V_TMR_REVB_CTRL0_MODE_A_CONTINUOUS << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_CONTINUOUS Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_A_COUNTER ((uint32_t)0x2UL) /**< CTRL0_MODE_A_COUNTER Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_A_COUNTER (MXC_V_TMR_REVB_CTRL0_MODE_A_COUNTER << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_COUNTER Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_A_PWM ((uint32_t)0x3UL) /**< CTRL0_MODE_A_PWM Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_A_PWM (MXC_V_TMR_REVB_CTRL0_MODE_A_PWM << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_PWM Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_A_CAPTURE ((uint32_t)0x4UL) /**< CTRL0_MODE_A_CAPTURE Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_A_CAPTURE (MXC_V_TMR_REVB_CTRL0_MODE_A_CAPTURE << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_CAPTURE Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_A_COMPARE ((uint32_t)0x5UL) /**< CTRL0_MODE_A_COMPARE Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_A_COMPARE (MXC_V_TMR_REVB_CTRL0_MODE_A_COMPARE << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_COMPARE Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_A_GATED ((uint32_t)0x6UL) /**< CTRL0_MODE_A_GATED Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_A_GATED (MXC_V_TMR_REVB_CTRL0_MODE_A_GATED << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_GATED Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_A_CAPCOMP ((uint32_t)0x7UL) /**< CTRL0_MODE_A_CAPCOMP Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_A_CAPCOMP (MXC_V_TMR_REVB_CTRL0_MODE_A_CAPCOMP << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_CAPCOMP Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_A_DUAL_EDGE ((uint32_t)0x8UL) /**< CTRL0_MODE_A_DUAL_EDGE Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_A_DUAL_EDGE (MXC_V_TMR_REVB_CTRL0_MODE_A_DUAL_EDGE << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_DUAL_EDGE Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_A_IGATED ((uint32_t)0xEUL) /**< CTRL0_MODE_A_IGATED Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_A_IGATED (MXC_V_TMR_REVB_CTRL0_MODE_A_IGATED << MXC_F_TMR_REVB_CTRL0_MODE_A_POS) /**< CTRL0_MODE_A_IGATED Setting */ + +#define MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS 4 /**< CTRL0_CLKDIV_A Position */ +#define MXC_F_TMR_REVB_CTRL0_CLKDIV_A ((uint32_t)(0xFUL << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS)) /**< CTRL0_CLKDIV_A Mask */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1 ((uint32_t)0x0UL) /**< CTRL0_CLKDIV_A_DIV_BY_1 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_1 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2 ((uint32_t)0x1UL) /**< CTRL0_CLKDIV_A_DIV_BY_2 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_2 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4 ((uint32_t)0x2UL) /**< CTRL0_CLKDIV_A_DIV_BY_4 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_4 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_8 ((uint32_t)0x3UL) /**< CTRL0_CLKDIV_A_DIV_BY_8 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_8 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_8 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_8 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_16 ((uint32_t)0x4UL) /**< CTRL0_CLKDIV_A_DIV_BY_16 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_16 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_16 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_16 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_32 ((uint32_t)0x5UL) /**< CTRL0_CLKDIV_A_DIV_BY_32 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_32 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_32 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_32 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_64 ((uint32_t)0x6UL) /**< CTRL0_CLKDIV_A_DIV_BY_64 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_64 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_64 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_64 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_128 ((uint32_t)0x7UL) /**< CTRL0_CLKDIV_A_DIV_BY_128 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_128 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_128 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_128 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_256 ((uint32_t)0x8UL) /**< CTRL0_CLKDIV_A_DIV_BY_256 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_256 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_256 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_256 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_512 ((uint32_t)0x9UL) /**< CTRL0_CLKDIV_A_DIV_BY_512 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_512 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_512 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_512 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1024 ((uint32_t)0xAUL) /**< CTRL0_CLKDIV_A_DIV_BY_1024 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1024 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_1024 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_1024 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2048 ((uint32_t)0xBUL) /**< CTRL0_CLKDIV_A_DIV_BY_2048 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2048 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_2048 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_2048 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4096 ((uint32_t)0xCUL) /**< CTRL0_CLKDIV_A_DIV_BY_4096 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4096 (MXC_V_TMR_REVB_CTRL0_CLKDIV_A_DIV_BY_4096 << MXC_F_TMR_REVB_CTRL0_CLKDIV_A_POS) /**< CTRL0_CLKDIV_A_DIV_BY_4096 Setting */ + +#define MXC_F_TMR_REVB_CTRL0_POL_A_POS 8 /**< CTRL0_POL_A Position */ +#define MXC_F_TMR_REVB_CTRL0_POL_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_POL_A_POS)) /**< CTRL0_POL_A Mask */ + +#define MXC_F_TMR_REVB_CTRL0_PWMSYNC_A_POS 9 /**< CTRL0_PWMSYNC_A Position */ +#define MXC_F_TMR_REVB_CTRL0_PWMSYNC_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_PWMSYNC_A_POS)) /**< CTRL0_PWMSYNC_A Mask */ + +#define MXC_F_TMR_REVB_CTRL0_NOLHPOL_A_POS 10 /**< CTRL0_NOLHPOL_A Position */ +#define MXC_F_TMR_REVB_CTRL0_NOLHPOL_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_NOLHPOL_A_POS)) /**< CTRL0_NOLHPOL_A Mask */ + +#define MXC_F_TMR_REVB_CTRL0_NOLLPOL_A_POS 11 /**< CTRL0_NOLLPOL_A Position */ +#define MXC_F_TMR_REVB_CTRL0_NOLLPOL_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_NOLLPOL_A_POS)) /**< CTRL0_NOLLPOL_A Mask */ + +#define MXC_F_TMR_REVB_CTRL0_PWMCKBD_A_POS 12 /**< CTRL0_PWMCKBD_A Position */ +#define MXC_F_TMR_REVB_CTRL0_PWMCKBD_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_PWMCKBD_A_POS)) /**< CTRL0_PWMCKBD_A Mask */ + +#define MXC_F_TMR_REVB_CTRL0_RST_A_POS 13 /**< CTRL0_RST_A Position */ +#define MXC_F_TMR_REVB_CTRL0_RST_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_RST_A_POS)) /**< CTRL0_RST_A Mask */ + +#define MXC_F_TMR_REVB_CTRL0_CLKEN_A_POS 14 /**< CTRL0_CLKEN_A Position */ +#define MXC_F_TMR_REVB_CTRL0_CLKEN_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_CLKEN_A_POS)) /**< CTRL0_CLKEN_A Mask */ + +#define MXC_F_TMR_REVB_CTRL0_EN_A_POS 15 /**< CTRL0_EN_A Position */ +#define MXC_F_TMR_REVB_CTRL0_EN_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_EN_A_POS)) /**< CTRL0_EN_A Mask */ + +#define MXC_F_TMR_REVB_CTRL0_MODE_B_POS 16 /**< CTRL0_MODE_B Position */ +#define MXC_F_TMR_REVB_CTRL0_MODE_B ((uint32_t)(0xFUL << MXC_F_TMR_REVB_CTRL0_MODE_B_POS)) /**< CTRL0_MODE_B Mask */ +#define MXC_V_TMR_REVB_CTRL0_MODE_B_ONE_SHOT ((uint32_t)0x0UL) /**< CTRL0_MODE_B_ONE_SHOT Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_B_ONE_SHOT (MXC_V_TMR_REVB_CTRL0_MODE_B_ONE_SHOT << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_ONE_SHOT Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_B_CONTINUOUS ((uint32_t)0x1UL) /**< CTRL0_MODE_B_CONTINUOUS Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_B_CONTINUOUS (MXC_V_TMR_REVB_CTRL0_MODE_B_CONTINUOUS << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_CONTINUOUS Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_B_COUNTER ((uint32_t)0x2UL) /**< CTRL0_MODE_B_COUNTER Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_B_COUNTER (MXC_V_TMR_REVB_CTRL0_MODE_B_COUNTER << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_COUNTER Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_B_PWM ((uint32_t)0x3UL) /**< CTRL0_MODE_B_PWM Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_B_PWM (MXC_V_TMR_REVB_CTRL0_MODE_B_PWM << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_PWM Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_B_CAPTURE ((uint32_t)0x4UL) /**< CTRL0_MODE_B_CAPTURE Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_B_CAPTURE (MXC_V_TMR_REVB_CTRL0_MODE_B_CAPTURE << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_CAPTURE Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_B_COMPARE ((uint32_t)0x5UL) /**< CTRL0_MODE_B_COMPARE Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_B_COMPARE (MXC_V_TMR_REVB_CTRL0_MODE_B_COMPARE << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_COMPARE Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_B_GATED ((uint32_t)0x6UL) /**< CTRL0_MODE_B_GATED Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_B_GATED (MXC_V_TMR_REVB_CTRL0_MODE_B_GATED << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_GATED Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_B_CAPCOMP ((uint32_t)0x7UL) /**< CTRL0_MODE_B_CAPCOMP Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_B_CAPCOMP (MXC_V_TMR_REVB_CTRL0_MODE_B_CAPCOMP << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_CAPCOMP Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_B_DUAL_EDGE ((uint32_t)0x8UL) /**< CTRL0_MODE_B_DUAL_EDGE Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_B_DUAL_EDGE (MXC_V_TMR_REVB_CTRL0_MODE_B_DUAL_EDGE << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_DUAL_EDGE Setting */ +#define MXC_V_TMR_REVB_CTRL0_MODE_B_IGATED ((uint32_t)0xEUL) /**< CTRL0_MODE_B_IGATED Value */ +#define MXC_S_TMR_REVB_CTRL0_MODE_B_IGATED (MXC_V_TMR_REVB_CTRL0_MODE_B_IGATED << MXC_F_TMR_REVB_CTRL0_MODE_B_POS) /**< CTRL0_MODE_B_IGATED Setting */ + +#define MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS 20 /**< CTRL0_CLKDIV_B Position */ +#define MXC_F_TMR_REVB_CTRL0_CLKDIV_B ((uint32_t)(0xFUL << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS)) /**< CTRL0_CLKDIV_B Mask */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1 ((uint32_t)0x0UL) /**< CTRL0_CLKDIV_B_DIV_BY_1 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_1 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2 ((uint32_t)0x1UL) /**< CTRL0_CLKDIV_B_DIV_BY_2 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_2 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4 ((uint32_t)0x2UL) /**< CTRL0_CLKDIV_B_DIV_BY_4 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_4 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_8 ((uint32_t)0x3UL) /**< CTRL0_CLKDIV_B_DIV_BY_8 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_8 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_8 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_8 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_16 ((uint32_t)0x4UL) /**< CTRL0_CLKDIV_B_DIV_BY_16 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_16 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_16 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_16 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_32 ((uint32_t)0x5UL) /**< CTRL0_CLKDIV_B_DIV_BY_32 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_32 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_32 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_32 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_64 ((uint32_t)0x6UL) /**< CTRL0_CLKDIV_B_DIV_BY_64 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_64 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_64 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_64 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_128 ((uint32_t)0x7UL) /**< CTRL0_CLKDIV_B_DIV_BY_128 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_128 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_128 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_128 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_256 ((uint32_t)0x8UL) /**< CTRL0_CLKDIV_B_DIV_BY_256 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_256 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_256 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_256 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_512 ((uint32_t)0x9UL) /**< CTRL0_CLKDIV_B_DIV_BY_512 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_512 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_512 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_512 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1024 ((uint32_t)0xAUL) /**< CTRL0_CLKDIV_B_DIV_BY_1024 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1024 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_1024 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_1024 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2048 ((uint32_t)0xBUL) /**< CTRL0_CLKDIV_B_DIV_BY_2048 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2048 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_2048 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_2048 Setting */ +#define MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4096 ((uint32_t)0xCUL) /**< CTRL0_CLKDIV_B_DIV_BY_4096 Value */ +#define MXC_S_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4096 (MXC_V_TMR_REVB_CTRL0_CLKDIV_B_DIV_BY_4096 << MXC_F_TMR_REVB_CTRL0_CLKDIV_B_POS) /**< CTRL0_CLKDIV_B_DIV_BY_4096 Setting */ + +#define MXC_F_TMR_REVB_CTRL0_POL_B_POS 24 /**< CTRL0_POL_B Position */ +#define MXC_F_TMR_REVB_CTRL0_POL_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_POL_B_POS)) /**< CTRL0_POL_B Mask */ + +#define MXC_F_TMR_REVB_CTRL0_PWMSYNC_B_POS 25 /**< CTRL0_PWMSYNC_B Position */ +#define MXC_F_TMR_REVB_CTRL0_PWMSYNC_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_PWMSYNC_B_POS)) /**< CTRL0_PWMSYNC_B Mask */ + +#define MXC_F_TMR_REVB_CTRL0_NOLHPOL_B_POS 26 /**< CTRL0_NOLHPOL_B Position */ +#define MXC_F_TMR_REVB_CTRL0_NOLHPOL_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_NOLHPOL_B_POS)) /**< CTRL0_NOLHPOL_B Mask */ + +#define MXC_F_TMR_REVB_CTRL0_NOLLPOL_B_POS 27 /**< CTRL0_NOLLPOL_B Position */ +#define MXC_F_TMR_REVB_CTRL0_NOLLPOL_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_NOLLPOL_B_POS)) /**< CTRL0_NOLLPOL_B Mask */ + +#define MXC_F_TMR_REVB_CTRL0_PWMCKBD_B_POS 28 /**< CTRL0_PWMCKBD_B Position */ +#define MXC_F_TMR_REVB_CTRL0_PWMCKBD_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_PWMCKBD_B_POS)) /**< CTRL0_PWMCKBD_B Mask */ + +#define MXC_F_TMR_REVB_CTRL0_RST_B_POS 29 /**< CTRL0_RST_B Position */ +#define MXC_F_TMR_REVB_CTRL0_RST_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_RST_B_POS)) /**< CTRL0_RST_B Mask */ + +#define MXC_F_TMR_REVB_CTRL0_CLKEN_B_POS 30 /**< CTRL0_CLKEN_B Position */ +#define MXC_F_TMR_REVB_CTRL0_CLKEN_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_CLKEN_B_POS)) /**< CTRL0_CLKEN_B Mask */ + +#define MXC_F_TMR_REVB_CTRL0_EN_B_POS 31 /**< CTRL0_EN_B Position */ +#define MXC_F_TMR_REVB_CTRL0_EN_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL0_EN_B_POS)) /**< CTRL0_EN_B Mask */ /**@} end of group TMR_REVB_CTRL0_Register */ @@ -324,17 +313,17 @@ typedef struct { * @brief Timer Non-Overlapping Compare Register. * @{ */ - #define MXC_F_TMR_REVB_NOLCMP_LO_A_POS 0 /**< NOLCMP_LO_A Position */ - #define MXC_F_TMR_REVB_NOLCMP_LO_A ((uint32_t)(0xFFUL << MXC_F_TMR_REVB_NOLCMP_LO_A_POS)) /**< NOLCMP_LO_A Mask */ +#define MXC_F_TMR_REVB_NOLCMP_LO_A_POS 0 /**< NOLCMP_LO_A Position */ +#define MXC_F_TMR_REVB_NOLCMP_LO_A ((uint32_t)(0xFFUL << MXC_F_TMR_REVB_NOLCMP_LO_A_POS)) /**< NOLCMP_LO_A Mask */ - #define MXC_F_TMR_REVB_NOLCMP_HI_A_POS 8 /**< NOLCMP_HI_A Position */ - #define MXC_F_TMR_REVB_NOLCMP_HI_A ((uint32_t)(0xFFUL << MXC_F_TMR_REVB_NOLCMP_HI_A_POS)) /**< NOLCMP_HI_A Mask */ +#define MXC_F_TMR_REVB_NOLCMP_HI_A_POS 8 /**< NOLCMP_HI_A Position */ +#define MXC_F_TMR_REVB_NOLCMP_HI_A ((uint32_t)(0xFFUL << MXC_F_TMR_REVB_NOLCMP_HI_A_POS)) /**< NOLCMP_HI_A Mask */ - #define MXC_F_TMR_REVB_NOLCMP_LO_B_POS 16 /**< NOLCMP_LO_B Position */ - #define MXC_F_TMR_REVB_NOLCMP_LO_B ((uint32_t)(0xFFUL << MXC_F_TMR_REVB_NOLCMP_LO_B_POS)) /**< NOLCMP_LO_B Mask */ +#define MXC_F_TMR_REVB_NOLCMP_LO_B_POS 16 /**< NOLCMP_LO_B Position */ +#define MXC_F_TMR_REVB_NOLCMP_LO_B ((uint32_t)(0xFFUL << MXC_F_TMR_REVB_NOLCMP_LO_B_POS)) /**< NOLCMP_LO_B Mask */ - #define MXC_F_TMR_REVB_NOLCMP_HI_B_POS 24 /**< NOLCMP_HI_B Position */ - #define MXC_F_TMR_REVB_NOLCMP_HI_B ((uint32_t)(0xFFUL << MXC_F_TMR_REVB_NOLCMP_HI_B_POS)) /**< NOLCMP_HI_B Mask */ +#define MXC_F_TMR_REVB_NOLCMP_HI_B_POS 24 /**< NOLCMP_HI_B Position */ +#define MXC_F_TMR_REVB_NOLCMP_HI_B ((uint32_t)(0xFFUL << MXC_F_TMR_REVB_NOLCMP_HI_B_POS)) /**< NOLCMP_HI_B Mask */ /**@} end of group TMR_REVB_NOLCMP_Register */ @@ -344,68 +333,71 @@ typedef struct { * @brief Timer Configuration Register. * @{ */ - #define MXC_F_TMR_REVB_CTRL1_CLKSEL_A_POS 0 /**< CTRL1_CLKSEL_A Position */ - #define MXC_F_TMR_REVB_CTRL1_CLKSEL_A ((uint32_t)(0x3UL << MXC_F_TMR_REVB_CTRL1_CLKSEL_A_POS)) /**< CTRL1_CLKSEL_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_CLKSEL_A_POS 0 /**< CTRL1_CLKSEL_A Position */ +#define MXC_F_TMR_REVB_CTRL1_CLKSEL_A ((uint32_t)(0x3UL << MXC_F_TMR_REVB_CTRL1_CLKSEL_A_POS)) /**< CTRL1_CLKSEL_A Mask */ + +#define MXC_F_TMR_REVB_CTRL1_CLKEN_A_POS 2 /**< CTRL1_CLKEN_A Position */ +#define MXC_F_TMR_REVB_CTRL1_CLKEN_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_CLKEN_A_POS)) /**< CTRL1_CLKEN_A Mask */ - #define MXC_F_TMR_REVB_CTRL1_CLKEN_A_POS 2 /**< CTRL1_CLKEN_A Position */ - #define MXC_F_TMR_REVB_CTRL1_CLKEN_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_CLKEN_A_POS)) /**< CTRL1_CLKEN_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_CLKRDY_A_POS 3 /**< CTRL1_CLKRDY_A Position */ +#define MXC_F_TMR_REVB_CTRL1_CLKRDY_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_CLKRDY_A_POS)) /**< CTRL1_CLKRDY_A Mask */ - #define MXC_F_TMR_REVB_CTRL1_CLKRDY_A_POS 3 /**< CTRL1_CLKRDY_A Position */ - #define MXC_F_TMR_REVB_CTRL1_CLKRDY_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_CLKRDY_A_POS)) /**< CTRL1_CLKRDY_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_EVENT_SEL_A_POS 4 /**< CTRL1_EVENT_SEL_A Position */ +#define MXC_F_TMR_REVB_CTRL1_EVENT_SEL_A ((uint32_t)(0x7UL << MXC_F_TMR_REVB_CTRL1_EVENT_SEL_A_POS)) /**< CTRL1_EVENT_SEL_A Mask */ - #define MXC_F_TMR_REVB_CTRL1_EVENT_SEL_A_POS 4 /**< CTRL1_EVENT_SEL_A Position */ - #define MXC_F_TMR_REVB_CTRL1_EVENT_SEL_A ((uint32_t)(0x7UL << MXC_F_TMR_REVB_CTRL1_EVENT_SEL_A_POS)) /**< CTRL1_EVENT_SEL_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_NEGTRIG_A_POS 7 /**< CTRL1_NEGTRIG_A Position */ +#define MXC_F_TMR_REVB_CTRL1_NEGTRIG_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_NEGTRIG_A_POS)) /**< CTRL1_NEGTRIG_A Mask */ - #define MXC_F_TMR_REVB_CTRL1_NEGTRIG_A_POS 7 /**< CTRL1_NEGTRIG_A Position */ - #define MXC_F_TMR_REVB_CTRL1_NEGTRIG_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_NEGTRIG_A_POS)) /**< CTRL1_NEGTRIG_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_IE_A_POS 8 /**< CTRL1_IE_A Position */ +#define MXC_F_TMR_REVB_CTRL1_IE_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_IE_A_POS)) /**< CTRL1_IE_A Mask */ - #define MXC_F_TMR_REVB_CTRL1_IE_A_POS 8 /**< CTRL1_IE_A Position */ - #define MXC_F_TMR_REVB_CTRL1_IE_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_IE_A_POS)) /**< CTRL1_IE_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_A_POS 9 /**< CTRL1_CAPEVENT_SEL_A Position */ +#define MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_A ((uint32_t)(0x3UL << MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_A_POS)) /**< CTRL1_CAPEVENT_SEL_A Mask */ - #define MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_A_POS 9 /**< CTRL1_CAPEVENT_SEL_A Position */ - #define MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_A ((uint32_t)(0x3UL << MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_A_POS)) /**< CTRL1_CAPEVENT_SEL_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_A_POS 11 /**< CTRL1_SW_CAPEVENT_A Position */ +#define MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_A_POS)) /**< CTRL1_SW_CAPEVENT_A Mask */ - #define MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_A_POS 11 /**< CTRL1_SW_CAPEVENT_A Position */ - #define MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_A_POS)) /**< CTRL1_SW_CAPEVENT_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_WE_A_POS 12 /**< CTRL1_WE_A Position */ +#define MXC_F_TMR_REVB_CTRL1_WE_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_WE_A_POS)) /**< CTRL1_WE_A Mask */ - #define MXC_F_TMR_REVB_CTRL1_WE_A_POS 12 /**< CTRL1_WE_A Position */ - #define MXC_F_TMR_REVB_CTRL1_WE_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_WE_A_POS)) /**< CTRL1_WE_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_OUTEN_A_POS 13 /**< CTRL1_OUTEN_A Position */ +#define MXC_F_TMR_REVB_CTRL1_OUTEN_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_OUTEN_A_POS)) /**< CTRL1_OUTEN_A Mask */ - #define MXC_F_TMR_REVB_CTRL1_OUTEN_A_POS 13 /**< CTRL1_OUTEN_A Position */ - #define MXC_F_TMR_REVB_CTRL1_OUTEN_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_OUTEN_A_POS)) /**< CTRL1_OUTEN_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_OUTBEN_A_POS 14 /**< CTRL1_OUTBEN_A Position */ +#define MXC_F_TMR_REVB_CTRL1_OUTBEN_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_OUTBEN_A_POS)) /**< CTRL1_OUTBEN_A Mask */ - #define MXC_F_TMR_REVB_CTRL1_OUTBEN_A_POS 14 /**< CTRL1_OUTBEN_A Position */ - #define MXC_F_TMR_REVB_CTRL1_OUTBEN_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_OUTBEN_A_POS)) /**< CTRL1_OUTBEN_A Mask */ +#define MXC_F_TMR_REVB_CTRL1_ASYNC_POS 15 /**< CTRL1_ASYNC Position */ +#define MXC_F_TMR_REVB_CTRL1_ASYNC ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_ASYNC_POS)) /**< CTRL1_ASYNC Mask */ - #define MXC_F_TMR_REVB_CTRL1_CLKSEL_B_POS 16 /**< CTRL1_CLKSEL_B Position */ - #define MXC_F_TMR_REVB_CTRL1_CLKSEL_B ((uint32_t)(0x3UL << MXC_F_TMR_REVB_CTRL1_CLKSEL_B_POS)) /**< CTRL1_CLKSEL_B Mask */ +#define MXC_F_TMR_REVB_CTRL1_CLKSEL_B_POS 16 /**< CTRL1_CLKSEL_B Position */ +#define MXC_F_TMR_REVB_CTRL1_CLKSEL_B ((uint32_t)(0x3UL << MXC_F_TMR_REVB_CTRL1_CLKSEL_B_POS)) /**< CTRL1_CLKSEL_B Mask */ - #define MXC_F_TMR_REVB_CTRL1_CLKEN_B_POS 18 /**< CTRL1_CLKEN_B Position */ - #define MXC_F_TMR_REVB_CTRL1_CLKEN_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_CLKEN_B_POS)) /**< CTRL1_CLKEN_B Mask */ +#define MXC_F_TMR_REVB_CTRL1_CLKEN_B_POS 18 /**< CTRL1_CLKEN_B Position */ +#define MXC_F_TMR_REVB_CTRL1_CLKEN_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_CLKEN_B_POS)) /**< CTRL1_CLKEN_B Mask */ - #define MXC_F_TMR_REVB_CTRL1_CLKRDY_B_POS 19 /**< CTRL1_CLKRDY_B Position */ - #define MXC_F_TMR_REVB_CTRL1_CLKRDY_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_CLKRDY_B_POS)) /**< CTRL1_CLKRDY_B Mask */ +#define MXC_F_TMR_REVB_CTRL1_CLKRDY_B_POS 19 /**< CTRL1_CLKRDY_B Position */ +#define MXC_F_TMR_REVB_CTRL1_CLKRDY_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_CLKRDY_B_POS)) /**< CTRL1_CLKRDY_B Mask */ - #define MXC_F_TMR_REVB_CTRL1_EVENT_SEL_B_POS 20 /**< CTRL1_EVENT_SEL_B Position */ - #define MXC_F_TMR_REVB_CTRL1_EVENT_SEL_B ((uint32_t)(0x7UL << MXC_F_TMR_REVB_CTRL1_EVENT_SEL_B_POS)) /**< CTRL1_EVENT_SEL_B Mask */ +#define MXC_F_TMR_REVB_CTRL1_EVENT_SEL_B_POS 20 /**< CTRL1_EVENT_SEL_B Position */ +#define MXC_F_TMR_REVB_CTRL1_EVENT_SEL_B ((uint32_t)(0x7UL << MXC_F_TMR_REVB_CTRL1_EVENT_SEL_B_POS)) /**< CTRL1_EVENT_SEL_B Mask */ - #define MXC_F_TMR_REVB_CTRL1_NEGTRIG_B_POS 23 /**< CTRL1_NEGTRIG_B Position */ - #define MXC_F_TMR_REVB_CTRL1_NEGTRIG_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_NEGTRIG_B_POS)) /**< CTRL1_NEGTRIG_B Mask */ +#define MXC_F_TMR_REVB_CTRL1_NEGTRIG_B_POS 23 /**< CTRL1_NEGTRIG_B Position */ +#define MXC_F_TMR_REVB_CTRL1_NEGTRIG_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_NEGTRIG_B_POS)) /**< CTRL1_NEGTRIG_B Mask */ - #define MXC_F_TMR_REVB_CTRL1_IE_B_POS 24 /**< CTRL1_IE_B Position */ - #define MXC_F_TMR_REVB_CTRL1_IE_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_IE_B_POS)) /**< CTRL1_IE_B Mask */ +#define MXC_F_TMR_REVB_CTRL1_IE_B_POS 24 /**< CTRL1_IE_B Position */ +#define MXC_F_TMR_REVB_CTRL1_IE_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_IE_B_POS)) /**< CTRL1_IE_B Mask */ - #define MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_B_POS 25 /**< CTRL1_CAPEVENT_SEL_B Position */ - #define MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_B ((uint32_t)(0x3UL << MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_B_POS)) /**< CTRL1_CAPEVENT_SEL_B Mask */ +#define MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_B_POS 25 /**< CTRL1_CAPEVENT_SEL_B Position */ +#define MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_B ((uint32_t)(0x3UL << MXC_F_TMR_REVB_CTRL1_CAPEVENT_SEL_B_POS)) /**< CTRL1_CAPEVENT_SEL_B Mask */ - #define MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_B_POS 27 /**< CTRL1_SW_CAPEVENT_B Position */ - #define MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_B_POS)) /**< CTRL1_SW_CAPEVENT_B Mask */ +#define MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_B_POS 27 /**< CTRL1_SW_CAPEVENT_B Position */ +#define MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_SW_CAPEVENT_B_POS)) /**< CTRL1_SW_CAPEVENT_B Mask */ - #define MXC_F_TMR_REVB_CTRL1_WE_B_POS 28 /**< CTRL1_WE_B Position */ - #define MXC_F_TMR_REVB_CTRL1_WE_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_WE_B_POS)) /**< CTRL1_WE_B Mask */ +#define MXC_F_TMR_REVB_CTRL1_WE_B_POS 28 /**< CTRL1_WE_B Position */ +#define MXC_F_TMR_REVB_CTRL1_WE_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_WE_B_POS)) /**< CTRL1_WE_B Mask */ - #define MXC_F_TMR_REVB_CTRL1_CASCADE_POS 31 /**< CTRL1_CASCADE Position */ - #define MXC_F_TMR_REVB_CTRL1_CASCADE ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_CASCADE_POS)) /**< CTRL1_CASCADE Mask */ +#define MXC_F_TMR_REVB_CTRL1_CASCADE_POS 31 /**< CTRL1_CASCADE Position */ +#define MXC_F_TMR_REVB_CTRL1_CASCADE ((uint32_t)(0x1UL << MXC_F_TMR_REVB_CTRL1_CASCADE_POS)) /**< CTRL1_CASCADE Mask */ /**@} end of group TMR_REVB_CTRL1_Register */ @@ -415,11 +407,11 @@ typedef struct { * @brief Timer Wakeup Status Register. * @{ */ - #define MXC_F_TMR_REVB_WKFL_A_POS 0 /**< WKFL_A Position */ - #define MXC_F_TMR_REVB_WKFL_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_WKFL_A_POS)) /**< WKFL_A Mask */ +#define MXC_F_TMR_REVB_WKFL_A_POS 0 /**< WKFL_A Position */ +#define MXC_F_TMR_REVB_WKFL_A ((uint32_t)(0x1UL << MXC_F_TMR_REVB_WKFL_A_POS)) /**< WKFL_A Mask */ - #define MXC_F_TMR_REVB_WKFL_B_POS 16 /**< WKFL_B Position */ - #define MXC_F_TMR_REVB_WKFL_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_WKFL_B_POS)) /**< WKFL_B Mask */ +#define MXC_F_TMR_REVB_WKFL_B_POS 16 /**< WKFL_B Position */ +#define MXC_F_TMR_REVB_WKFL_B ((uint32_t)(0x1UL << MXC_F_TMR_REVB_WKFL_B_POS)) /**< WKFL_B Mask */ /**@} end of group TMR_REVB_WKFL_Register */ @@ -427,4 +419,4 @@ typedef struct { } #endif -#endif /* _TMR_REVB_REGS_H_ */ +#endif // LIBRARIES_PERIPHDRIVERS_SOURCE_TMR_TMR_REVB_REGS_H_ diff --git a/Libraries/PeriphDrivers/Source/UART/uart_revb_regs.h b/Libraries/PeriphDrivers/Source/UART/uart_revb_regs.h index 061aad630a..b8cc0e9fba 100644 --- a/Libraries/PeriphDrivers/Source/UART/uart_revb_regs.h +++ b/Libraries/PeriphDrivers/Source/UART/uart_revb_regs.h @@ -1,6 +1,8 @@ /** * @file uart_revb_regs.h * @brief Registers, Bit Masks and Bit Positions for the UART_REVB Peripheral Module. + * @note This file is @generated. + * @ingroup uart_revb_registers */ /****************************************************************************** @@ -23,8 +25,8 @@ * ******************************************************************************/ -#ifndef _UART_REVB_REGS_H_ -#define _UART_REVB_REGS_H_ +#ifndef LIBRARIES_PERIPHDRIVERS_SOURCE_UART_UART_REVB_REGS_H_ +#define LIBRARIES_PERIPHDRIVERS_SOURCE_UART_UART_REVB_REGS_H_ /* **** Includes **** */ #include @@ -32,11 +34,11 @@ #ifdef __cplusplus extern "C" { #endif - + #if defined (__ICCARM__) #pragma system_include #endif - + #if defined (__CC_ARM) #pragma anon_unions #endif @@ -48,7 +50,11 @@ extern "C" { #define __IO volatile #endif #ifndef __I -#define __I volatile const +#ifdef __cplusplus +#define __I volatile +#else +#define __I volatile const +#endif #endif #ifndef __O #define __O volatile @@ -64,7 +70,7 @@ extern "C" { * @ingroup uart_revb * @defgroup uart_revb_registers UART_REVB_Registers * @brief Registers, Bit Masks and Bit Positions for the UART_REVB Peripheral Module. - * @details UART Low Power Registers + * @details UART Low Power Registers */ /** @@ -87,102 +93,81 @@ typedef struct { __IO uint32_t wkfl; /**< \b 0x0038: UART_REVB WKFL Register */ } mxc_uart_revb_regs_t; -/* Register offsets for module UART_REVB */ -/** - * @ingroup uart_revb_registers - * @defgroup UART_REVB_Register_Offsets Register Offsets - * @brief UART_REVB Peripheral Register Offsets from the UART_REVB Base Peripheral Address. - * @{ - */ - #define MXC_R_UART_REVB_CTRL ((uint32_t)0x00000000UL) /**< Offset from UART_REVB Base Address: 0x0000 */ - #define MXC_R_UART_REVB_STATUS ((uint32_t)0x00000004UL) /**< Offset from UART_REVB Base Address: 0x0004 */ - #define MXC_R_UART_REVB_INT_EN ((uint32_t)0x00000008UL) /**< Offset from UART_REVB Base Address: 0x0008 */ - #define MXC_R_UART_REVB_INT_FL ((uint32_t)0x0000000CUL) /**< Offset from UART_REVB Base Address: 0x000C */ - #define MXC_R_UART_REVB_CLKDIV ((uint32_t)0x00000010UL) /**< Offset from UART_REVB Base Address: 0x0010 */ - #define MXC_R_UART_REVB_OSR ((uint32_t)0x00000014UL) /**< Offset from UART_REVB Base Address: 0x0014 */ - #define MXC_R_UART_REVB_TXPEEK ((uint32_t)0x00000018UL) /**< Offset from UART_REVB Base Address: 0x0018 */ - #define MXC_R_UART_REVB_PNR ((uint32_t)0x0000001CUL) /**< Offset from UART_REVB Base Address: 0x001C */ - #define MXC_R_UART_REVB_FIFO ((uint32_t)0x00000020UL) /**< Offset from UART_REVB Base Address: 0x0020 */ - #define MXC_R_UART_REVB_DMA ((uint32_t)0x00000030UL) /**< Offset from UART_REVB Base Address: 0x0030 */ - #define MXC_R_UART_REVB_WKEN ((uint32_t)0x00000034UL) /**< Offset from UART_REVB Base Address: 0x0034 */ - #define MXC_R_UART_REVB_WKFL ((uint32_t)0x00000038UL) /**< Offset from UART_REVB Base Address: 0x0038 */ -/**@} end of group uart_revb_registers */ - /** * @ingroup uart_revb_registers * @defgroup UART_REVB_CTRL UART_REVB_CTRL * @brief Control register * @{ */ - #define MXC_F_UART_REVB_CTRL_RX_THD_VAL_POS 0 /**< CTRL_RX_THD_VAL Position */ - #define MXC_F_UART_REVB_CTRL_RX_THD_VAL ((uint32_t)(0xFUL << MXC_F_UART_REVB_CTRL_RX_THD_VAL_POS)) /**< CTRL_RX_THD_VAL Mask */ +#define MXC_F_UART_REVB_CTRL_RX_THD_VAL_POS 0 /**< CTRL_RX_THD_VAL Position */ +#define MXC_F_UART_REVB_CTRL_RX_THD_VAL ((uint32_t)(0xFUL << MXC_F_UART_REVB_CTRL_RX_THD_VAL_POS)) /**< CTRL_RX_THD_VAL Mask */ - #define MXC_F_UART_REVB_CTRL_PAR_EN_POS 4 /**< CTRL_PAR_EN Position */ - #define MXC_F_UART_REVB_CTRL_PAR_EN ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_PAR_EN_POS)) /**< CTRL_PAR_EN Mask */ +#define MXC_F_UART_REVB_CTRL_PAR_EN_POS 4 /**< CTRL_PAR_EN Position */ +#define MXC_F_UART_REVB_CTRL_PAR_EN ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_PAR_EN_POS)) /**< CTRL_PAR_EN Mask */ - #define MXC_F_UART_REVB_CTRL_PAR_EO_POS 5 /**< CTRL_PAR_EO Position */ - #define MXC_F_UART_REVB_CTRL_PAR_EO ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_PAR_EO_POS)) /**< CTRL_PAR_EO Mask */ +#define MXC_F_UART_REVB_CTRL_PAR_EO_POS 5 /**< CTRL_PAR_EO Position */ +#define MXC_F_UART_REVB_CTRL_PAR_EO ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_PAR_EO_POS)) /**< CTRL_PAR_EO Mask */ - #define MXC_F_UART_REVB_CTRL_PAR_MD_POS 6 /**< CTRL_PAR_MD Position */ - #define MXC_F_UART_REVB_CTRL_PAR_MD ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_PAR_MD_POS)) /**< CTRL_PAR_MD Mask */ +#define MXC_F_UART_REVB_CTRL_PAR_MD_POS 6 /**< CTRL_PAR_MD Position */ +#define MXC_F_UART_REVB_CTRL_PAR_MD ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_PAR_MD_POS)) /**< CTRL_PAR_MD Mask */ - #define MXC_F_UART_REVB_CTRL_CTS_DIS_POS 7 /**< CTRL_CTS_DIS Position */ - #define MXC_F_UART_REVB_CTRL_CTS_DIS ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_CTS_DIS_POS)) /**< CTRL_CTS_DIS Mask */ +#define MXC_F_UART_REVB_CTRL_CTS_DIS_POS 7 /**< CTRL_CTS_DIS Position */ +#define MXC_F_UART_REVB_CTRL_CTS_DIS ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_CTS_DIS_POS)) /**< CTRL_CTS_DIS Mask */ - #define MXC_F_UART_REVB_CTRL_TX_FLUSH_POS 8 /**< CTRL_TX_FLUSH Position */ - #define MXC_F_UART_REVB_CTRL_TX_FLUSH ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_TX_FLUSH_POS)) /**< CTRL_TX_FLUSH Mask */ +#define MXC_F_UART_REVB_CTRL_TX_FLUSH_POS 8 /**< CTRL_TX_FLUSH Position */ +#define MXC_F_UART_REVB_CTRL_TX_FLUSH ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_TX_FLUSH_POS)) /**< CTRL_TX_FLUSH Mask */ - #define MXC_F_UART_REVB_CTRL_RX_FLUSH_POS 9 /**< CTRL_RX_FLUSH Position */ - #define MXC_F_UART_REVB_CTRL_RX_FLUSH ((uint32_t)(0x3UL << MXC_F_UART_REVB_CTRL_RX_FLUSH_POS)) /**< CTRL_RX_FLUSH Mask */ +#define MXC_F_UART_REVB_CTRL_RX_FLUSH_POS 9 /**< CTRL_RX_FLUSH Position */ +#define MXC_F_UART_REVB_CTRL_RX_FLUSH ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_RX_FLUSH_POS)) /**< CTRL_RX_FLUSH Mask */ - #define MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS 10 /**< CTRL_CHAR_SIZE Position */ - #define MXC_F_UART_REVB_CTRL_CHAR_SIZE ((uint32_t)(0x3UL << MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS)) /**< CTRL_CHAR_SIZE Mask */ - #define MXC_V_UART_REVB_CTRL_CHAR_SIZE_5BITS ((uint32_t)0x0UL) /**< CTRL_CHAR_SIZE_5BITS Value */ - #define MXC_S_UART_REVB_CTRL_CHAR_SIZE_5BITS (MXC_V_UART_REVB_CTRL_CHAR_SIZE_5BITS << MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS) /**< CTRL_CHAR_SIZE_5BITS Setting */ - #define MXC_V_UART_REVB_CTRL_CHAR_SIZE_6BITS ((uint32_t)0x1UL) /**< CTRL_CHAR_SIZE_6BITS Value */ - #define MXC_S_UART_REVB_CTRL_CHAR_SIZE_6BITS (MXC_V_UART_REVB_CTRL_CHAR_SIZE_6BITS << MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS) /**< CTRL_CHAR_SIZE_6BITS Setting */ - #define MXC_V_UART_REVB_CTRL_CHAR_SIZE_7BITS ((uint32_t)0x2UL) /**< CTRL_CHAR_SIZE_7BITS Value */ - #define MXC_S_UART_REVB_CTRL_CHAR_SIZE_7BITS (MXC_V_UART_REVB_CTRL_CHAR_SIZE_7BITS << MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS) /**< CTRL_CHAR_SIZE_7BITS Setting */ - #define MXC_V_UART_REVB_CTRL_CHAR_SIZE_8BITS ((uint32_t)0x3UL) /**< CTRL_CHAR_SIZE_8BITS Value */ - #define MXC_S_UART_REVB_CTRL_CHAR_SIZE_8BITS (MXC_V_UART_REVB_CTRL_CHAR_SIZE_8BITS << MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS) /**< CTRL_CHAR_SIZE_8BITS Setting */ +#define MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS 10 /**< CTRL_CHAR_SIZE Position */ +#define MXC_F_UART_REVB_CTRL_CHAR_SIZE ((uint32_t)(0x3UL << MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS)) /**< CTRL_CHAR_SIZE Mask */ +#define MXC_V_UART_REVB_CTRL_CHAR_SIZE_5BITS ((uint32_t)0x0UL) /**< CTRL_CHAR_SIZE_5BITS Value */ +#define MXC_S_UART_REVB_CTRL_CHAR_SIZE_5BITS (MXC_V_UART_REVB_CTRL_CHAR_SIZE_5BITS << MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS) /**< CTRL_CHAR_SIZE_5BITS Setting */ +#define MXC_V_UART_REVB_CTRL_CHAR_SIZE_6BITS ((uint32_t)0x1UL) /**< CTRL_CHAR_SIZE_6BITS Value */ +#define MXC_S_UART_REVB_CTRL_CHAR_SIZE_6BITS (MXC_V_UART_REVB_CTRL_CHAR_SIZE_6BITS << MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS) /**< CTRL_CHAR_SIZE_6BITS Setting */ +#define MXC_V_UART_REVB_CTRL_CHAR_SIZE_7BITS ((uint32_t)0x2UL) /**< CTRL_CHAR_SIZE_7BITS Value */ +#define MXC_S_UART_REVB_CTRL_CHAR_SIZE_7BITS (MXC_V_UART_REVB_CTRL_CHAR_SIZE_7BITS << MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS) /**< CTRL_CHAR_SIZE_7BITS Setting */ +#define MXC_V_UART_REVB_CTRL_CHAR_SIZE_8BITS ((uint32_t)0x3UL) /**< CTRL_CHAR_SIZE_8BITS Value */ +#define MXC_S_UART_REVB_CTRL_CHAR_SIZE_8BITS (MXC_V_UART_REVB_CTRL_CHAR_SIZE_8BITS << MXC_F_UART_REVB_CTRL_CHAR_SIZE_POS) /**< CTRL_CHAR_SIZE_8BITS Setting */ - #define MXC_F_UART_REVB_CTRL_STOPBITS_POS 12 /**< CTRL_STOPBITS Position */ - #define MXC_F_UART_REVB_CTRL_STOPBITS ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_STOPBITS_POS)) /**< CTRL_STOPBITS Mask */ +#define MXC_F_UART_REVB_CTRL_STOPBITS_POS 12 /**< CTRL_STOPBITS Position */ +#define MXC_F_UART_REVB_CTRL_STOPBITS ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_STOPBITS_POS)) /**< CTRL_STOPBITS Mask */ - #define MXC_F_UART_REVB_CTRL_HFC_EN_POS 13 /**< CTRL_HFC_EN Position */ - #define MXC_F_UART_REVB_CTRL_HFC_EN ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_HFC_EN_POS)) /**< CTRL_HFC_EN Mask */ +#define MXC_F_UART_REVB_CTRL_HFC_EN_POS 13 /**< CTRL_HFC_EN Position */ +#define MXC_F_UART_REVB_CTRL_HFC_EN ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_HFC_EN_POS)) /**< CTRL_HFC_EN Mask */ - #define MXC_F_UART_REVB_CTRL_RTSDC_POS 14 /**< CTRL_RTSDC Position */ - #define MXC_F_UART_REVB_CTRL_RTSDC ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_RTSDC_POS)) /**< CTRL_RTSDC Mask */ +#define MXC_F_UART_REVB_CTRL_RTSDC_POS 14 /**< CTRL_RTSDC Position */ +#define MXC_F_UART_REVB_CTRL_RTSDC ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_RTSDC_POS)) /**< CTRL_RTSDC Mask */ - #define MXC_F_UART_REVB_CTRL_BCLKEN_POS 15 /**< CTRL_BCLKEN Position */ - #define MXC_F_UART_REVB_CTRL_BCLKEN ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_BCLKEN_POS)) /**< CTRL_BCLKEN Mask */ +#define MXC_F_UART_REVB_CTRL_BCLKEN_POS 15 /**< CTRL_BCLKEN Position */ +#define MXC_F_UART_REVB_CTRL_BCLKEN ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_BCLKEN_POS)) /**< CTRL_BCLKEN Mask */ - #define MXC_F_UART_REVB_CTRL_BCLKSRC_POS 16 /**< CTRL_BCLKSRC Position */ - #define MXC_F_UART_REVB_CTRL_BCLKSRC ((uint32_t)(0x3UL << MXC_F_UART_REVB_CTRL_BCLKSRC_POS)) /**< CTRL_BCLKSRC Mask */ - #define MXC_V_UART_REVB_CTRL_BCLKSRC_PERIPHERAL_CLOCK ((uint32_t)0x0UL) /**< CTRL_BCLKSRC_PERIPHERAL_CLOCK Value */ - #define MXC_S_UART_REVB_CTRL_BCLKSRC_PERIPHERAL_CLOCK (MXC_V_UART_REVB_CTRL_BCLKSRC_PERIPHERAL_CLOCK << MXC_F_UART_REVB_CTRL_BCLKSRC_POS) /**< CTRL_BCLKSRC_PERIPHERAL_CLOCK Setting */ - #define MXC_V_UART_REVB_CTRL_BCLKSRC_CLK1 ((uint32_t)0x1UL) /**< CTRL_BCLKSRC_CLK1 Value */ - #define MXC_S_UART_REVB_CTRL_BCLKSRC_CLK1 (MXC_V_UART_REVB_CTRL_BCLKSRC_CLK1 << MXC_F_UART_REVB_CTRL_BCLKSRC_POS) /**< CTRL_BCLKSRC_CLK1 Setting */ - #define MXC_V_UART_REVB_CTRL_BCLKSRC_CLK2 ((uint32_t)0x2UL) /**< CTRL_BCLKSRC_CLK2 Value */ - #define MXC_S_UART_REVB_CTRL_BCLKSRC_CLK2 (MXC_V_UART_REVB_CTRL_BCLKSRC_CLK2 << MXC_F_UART_REVB_CTRL_BCLKSRC_POS) /**< CTRL_BCLKSRC_CLK2 Setting */ - #define MXC_V_UART_REVB_CTRL_BCLKSRC_CLK3 ((uint32_t)0x3UL) /**< CTRL_BCLKSRC_CLK3 Value */ - #define MXC_S_UART_REVB_CTRL_BCLKSRC_CLK3 (MXC_V_UART_REVB_CTRL_BCLKSRC_CLK3 << MXC_F_UART_REVB_CTRL_BCLKSRC_POS) /**< CTRL_BCLKSRC_CLK3 Setting */ +#define MXC_F_UART_REVB_CTRL_BCLKSRC_POS 16 /**< CTRL_BCLKSRC Position */ +#define MXC_F_UART_REVB_CTRL_BCLKSRC ((uint32_t)(0x3UL << MXC_F_UART_REVB_CTRL_BCLKSRC_POS)) /**< CTRL_BCLKSRC Mask */ +#define MXC_V_UART_REVB_CTRL_BCLKSRC_PERIPHERAL_CLOCK ((uint32_t)0x0UL) /**< CTRL_BCLKSRC_PERIPHERAL_CLOCK Value */ +#define MXC_S_UART_REVB_CTRL_BCLKSRC_PERIPHERAL_CLOCK (MXC_V_UART_REVB_CTRL_BCLKSRC_PERIPHERAL_CLOCK << MXC_F_UART_REVB_CTRL_BCLKSRC_POS) /**< CTRL_BCLKSRC_PERIPHERAL_CLOCK Setting */ +#define MXC_V_UART_REVB_CTRL_BCLKSRC_CLK1 ((uint32_t)0x1UL) /**< CTRL_BCLKSRC_CLK1 Value */ +#define MXC_S_UART_REVB_CTRL_BCLKSRC_CLK1 (MXC_V_UART_REVB_CTRL_BCLKSRC_CLK1 << MXC_F_UART_REVB_CTRL_BCLKSRC_POS) /**< CTRL_BCLKSRC_CLK1 Setting */ +#define MXC_V_UART_REVB_CTRL_BCLKSRC_CLK2 ((uint32_t)0x2UL) /**< CTRL_BCLKSRC_CLK2 Value */ +#define MXC_S_UART_REVB_CTRL_BCLKSRC_CLK2 (MXC_V_UART_REVB_CTRL_BCLKSRC_CLK2 << MXC_F_UART_REVB_CTRL_BCLKSRC_POS) /**< CTRL_BCLKSRC_CLK2 Setting */ +#define MXC_V_UART_REVB_CTRL_BCLKSRC_CLK3 ((uint32_t)0x3UL) /**< CTRL_BCLKSRC_CLK3 Value */ +#define MXC_S_UART_REVB_CTRL_BCLKSRC_CLK3 (MXC_V_UART_REVB_CTRL_BCLKSRC_CLK3 << MXC_F_UART_REVB_CTRL_BCLKSRC_POS) /**< CTRL_BCLKSRC_CLK3 Setting */ - #define MXC_F_UART_REVB_CTRL_DPFE_EN_POS 18 /**< CTRL_DPFE_EN Position */ - #define MXC_F_UART_REVB_CTRL_DPFE_EN ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_DPFE_EN_POS)) /**< CTRL_DPFE_EN Mask */ +#define MXC_F_UART_REVB_CTRL_DPFE_EN_POS 18 /**< CTRL_DPFE_EN Position */ +#define MXC_F_UART_REVB_CTRL_DPFE_EN ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_DPFE_EN_POS)) /**< CTRL_DPFE_EN Mask */ - #define MXC_F_UART_REVB_CTRL_BCLKRDY_POS 19 /**< CTRL_BCLKRDY Position */ - #define MXC_F_UART_REVB_CTRL_BCLKRDY ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_BCLKRDY_POS)) /**< CTRL_BCLKRDY Mask */ +#define MXC_F_UART_REVB_CTRL_BCLKRDY_POS 19 /**< CTRL_BCLKRDY Position */ +#define MXC_F_UART_REVB_CTRL_BCLKRDY ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_BCLKRDY_POS)) /**< CTRL_BCLKRDY Mask */ - #define MXC_F_UART_REVB_CTRL_UCAGM_POS 20 /**< CTRL_UCAGM Position */ - #define MXC_F_UART_REVB_CTRL_UCAGM ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_UCAGM_POS)) /**< CTRL_UCAGM Mask */ +#define MXC_F_UART_REVB_CTRL_UCAGM_POS 20 /**< CTRL_UCAGM Position */ +#define MXC_F_UART_REVB_CTRL_UCAGM ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_UCAGM_POS)) /**< CTRL_UCAGM Mask */ - #define MXC_F_UART_REVB_CTRL_FDM_POS 21 /**< CTRL_FDM Position */ - #define MXC_F_UART_REVB_CTRL_FDM ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_FDM_POS)) /**< CTRL_FDM Mask */ +#define MXC_F_UART_REVB_CTRL_FDM_POS 21 /**< CTRL_FDM Position */ +#define MXC_F_UART_REVB_CTRL_FDM ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_FDM_POS)) /**< CTRL_FDM Mask */ - #define MXC_F_UART_REVB_CTRL_DESM_POS 22 /**< CTRL_DESM Position */ - #define MXC_F_UART_REVB_CTRL_DESM ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_DESM_POS)) /**< CTRL_DESM Mask */ +#define MXC_F_UART_REVB_CTRL_DESM_POS 22 /**< CTRL_DESM Position */ +#define MXC_F_UART_REVB_CTRL_DESM ((uint32_t)(0x1UL << MXC_F_UART_REVB_CTRL_DESM_POS)) /**< CTRL_DESM Mask */ /**@} end of group UART_REVB_CTRL_Register */ @@ -192,29 +177,29 @@ typedef struct { * @brief Status register * @{ */ - #define MXC_F_UART_REVB_STATUS_TX_BUSY_POS 0 /**< STATUS_TX_BUSY Position */ - #define MXC_F_UART_REVB_STATUS_TX_BUSY ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_TX_BUSY_POS)) /**< STATUS_TX_BUSY Mask */ +#define MXC_F_UART_REVB_STATUS_TX_BUSY_POS 0 /**< STATUS_TX_BUSY Position */ +#define MXC_F_UART_REVB_STATUS_TX_BUSY ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_TX_BUSY_POS)) /**< STATUS_TX_BUSY Mask */ - #define MXC_F_UART_REVB_STATUS_RX_BUSY_POS 1 /**< STATUS_RX_BUSY Position */ - #define MXC_F_UART_REVB_STATUS_RX_BUSY ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_RX_BUSY_POS)) /**< STATUS_RX_BUSY Mask */ +#define MXC_F_UART_REVB_STATUS_RX_BUSY_POS 1 /**< STATUS_RX_BUSY Position */ +#define MXC_F_UART_REVB_STATUS_RX_BUSY ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_RX_BUSY_POS)) /**< STATUS_RX_BUSY Mask */ - #define MXC_F_UART_REVB_STATUS_RX_EM_POS 4 /**< STATUS_RX_EM Position */ - #define MXC_F_UART_REVB_STATUS_RX_EM ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_RX_EM_POS)) /**< STATUS_RX_EM Mask */ +#define MXC_F_UART_REVB_STATUS_RX_EM_POS 4 /**< STATUS_RX_EM Position */ +#define MXC_F_UART_REVB_STATUS_RX_EM ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_RX_EM_POS)) /**< STATUS_RX_EM Mask */ - #define MXC_F_UART_REVB_STATUS_RX_FULL_POS 5 /**< STATUS_RX_FULL Position */ - #define MXC_F_UART_REVB_STATUS_RX_FULL ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_RX_FULL_POS)) /**< STATUS_RX_FULL Mask */ +#define MXC_F_UART_REVB_STATUS_RX_FULL_POS 5 /**< STATUS_RX_FULL Position */ +#define MXC_F_UART_REVB_STATUS_RX_FULL ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_RX_FULL_POS)) /**< STATUS_RX_FULL Mask */ - #define MXC_F_UART_REVB_STATUS_TX_EM_POS 6 /**< STATUS_TX_EM Position */ - #define MXC_F_UART_REVB_STATUS_TX_EM ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_TX_EM_POS)) /**< STATUS_TX_EM Mask */ +#define MXC_F_UART_REVB_STATUS_TX_EM_POS 6 /**< STATUS_TX_EM Position */ +#define MXC_F_UART_REVB_STATUS_TX_EM ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_TX_EM_POS)) /**< STATUS_TX_EM Mask */ - #define MXC_F_UART_REVB_STATUS_TX_FULL_POS 7 /**< STATUS_TX_FULL Position */ - #define MXC_F_UART_REVB_STATUS_TX_FULL ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_TX_FULL_POS)) /**< STATUS_TX_FULL Mask */ +#define MXC_F_UART_REVB_STATUS_TX_FULL_POS 7 /**< STATUS_TX_FULL Position */ +#define MXC_F_UART_REVB_STATUS_TX_FULL ((uint32_t)(0x1UL << MXC_F_UART_REVB_STATUS_TX_FULL_POS)) /**< STATUS_TX_FULL Mask */ - #define MXC_F_UART_REVB_STATUS_RX_LVL_POS 8 /**< STATUS_RX_LVL Position */ - #define MXC_F_UART_REVB_STATUS_RX_LVL ((uint32_t)(0xFUL << MXC_F_UART_REVB_STATUS_RX_LVL_POS)) /**< STATUS_RX_LVL Mask */ +#define MXC_F_UART_REVB_STATUS_RX_LVL_POS 8 /**< STATUS_RX_LVL Position */ +#define MXC_F_UART_REVB_STATUS_RX_LVL ((uint32_t)(0xFUL << MXC_F_UART_REVB_STATUS_RX_LVL_POS)) /**< STATUS_RX_LVL Mask */ - #define MXC_F_UART_REVB_STATUS_TX_LVL_POS 12 /**< STATUS_TX_LVL Position */ - #define MXC_F_UART_REVB_STATUS_TX_LVL ((uint32_t)(0xFUL << MXC_F_UART_REVB_STATUS_TX_LVL_POS)) /**< STATUS_TX_LVL Mask */ +#define MXC_F_UART_REVB_STATUS_TX_LVL_POS 12 /**< STATUS_TX_LVL Position */ +#define MXC_F_UART_REVB_STATUS_TX_LVL ((uint32_t)(0xFUL << MXC_F_UART_REVB_STATUS_TX_LVL_POS)) /**< STATUS_TX_LVL Mask */ /**@} end of group UART_REVB_STATUS_Register */ @@ -224,23 +209,26 @@ typedef struct { * @brief Interrupt Enable control register * @{ */ - #define MXC_F_UART_REVB_INT_EN_RX_FERR_POS 0 /**< INT_EN_RX_FERR Position */ - #define MXC_F_UART_REVB_INT_EN_RX_FERR ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_RX_FERR_POS)) /**< INT_EN_RX_FERR Mask */ +#define MXC_F_UART_REVB_INT_EN_RX_FERR_POS 0 /**< INT_EN_RX_FERR Position */ +#define MXC_F_UART_REVB_INT_EN_RX_FERR ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_RX_FERR_POS)) /**< INT_EN_RX_FERR Mask */ - #define MXC_F_UART_REVB_INT_EN_RX_PAR_POS 1 /**< INT_EN_RX_PAR Position */ - #define MXC_F_UART_REVB_INT_EN_RX_PAR ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_RX_PAR_POS)) /**< INT_EN_RX_PAR Mask */ +#define MXC_F_UART_REVB_INT_EN_RX_PAR_POS 1 /**< INT_EN_RX_PAR Position */ +#define MXC_F_UART_REVB_INT_EN_RX_PAR ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_RX_PAR_POS)) /**< INT_EN_RX_PAR Mask */ - #define MXC_F_UART_REVB_INT_EN_CTS_EV_POS 2 /**< INT_EN_CTS_EV Position */ - #define MXC_F_UART_REVB_INT_EN_CTS_EV ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_CTS_EV_POS)) /**< INT_EN_CTS_EV Mask */ +#define MXC_F_UART_REVB_INT_EN_CTS_EV_POS 2 /**< INT_EN_CTS_EV Position */ +#define MXC_F_UART_REVB_INT_EN_CTS_EV ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_CTS_EV_POS)) /**< INT_EN_CTS_EV Mask */ - #define MXC_F_UART_REVB_INT_EN_RX_OV_POS 3 /**< INT_EN_RX_OV Position */ - #define MXC_F_UART_REVB_INT_EN_RX_OV ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_RX_OV_POS)) /**< INT_EN_RX_OV Mask */ +#define MXC_F_UART_REVB_INT_EN_RX_OV_POS 3 /**< INT_EN_RX_OV Position */ +#define MXC_F_UART_REVB_INT_EN_RX_OV ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_RX_OV_POS)) /**< INT_EN_RX_OV Mask */ - #define MXC_F_UART_REVB_INT_EN_RX_THD_POS 4 /**< INT_EN_RX_THD Position */ - #define MXC_F_UART_REVB_INT_EN_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_RX_THD_POS)) /**< INT_EN_RX_THD Mask */ +#define MXC_F_UART_REVB_INT_EN_RX_THD_POS 4 /**< INT_EN_RX_THD Position */ +#define MXC_F_UART_REVB_INT_EN_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_RX_THD_POS)) /**< INT_EN_RX_THD Mask */ - #define MXC_F_UART_REVB_INT_EN_TX_HE_POS 6 /**< INT_EN_TX_HE Position */ - #define MXC_F_UART_REVB_INT_EN_TX_HE ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_TX_HE_POS)) /**< INT_EN_TX_HE Mask */ +#define MXC_F_UART_REVB_INT_EN_TX_OB_POS 5 /**< INT_EN_TX_OB Position */ +#define MXC_F_UART_REVB_INT_EN_TX_OB ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_TX_OB_POS)) /**< INT_EN_TX_OB Mask */ + +#define MXC_F_UART_REVB_INT_EN_TX_HE_POS 6 /**< INT_EN_TX_HE Position */ +#define MXC_F_UART_REVB_INT_EN_TX_HE ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_EN_TX_HE_POS)) /**< INT_EN_TX_HE Mask */ /**@} end of group UART_REVB_INT_EN_Register */ @@ -250,23 +238,26 @@ typedef struct { * @brief Interrupt status flags Control register * @{ */ - #define MXC_F_UART_REVB_INT_FL_RX_FERR_POS 0 /**< INT_FL_RX_FERR Position */ - #define MXC_F_UART_REVB_INT_FL_RX_FERR ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_RX_FERR_POS)) /**< INT_FL_RX_FERR Mask */ +#define MXC_F_UART_REVB_INT_FL_RX_FERR_POS 0 /**< INT_FL_RX_FERR Position */ +#define MXC_F_UART_REVB_INT_FL_RX_FERR ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_RX_FERR_POS)) /**< INT_FL_RX_FERR Mask */ + +#define MXC_F_UART_REVB_INT_FL_RX_PAR_POS 1 /**< INT_FL_RX_PAR Position */ +#define MXC_F_UART_REVB_INT_FL_RX_PAR ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_RX_PAR_POS)) /**< INT_FL_RX_PAR Mask */ - #define MXC_F_UART_REVB_INT_FL_RX_PAR_POS 1 /**< INT_FL_RX_PAR Position */ - #define MXC_F_UART_REVB_INT_FL_RX_PAR ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_RX_PAR_POS)) /**< INT_FL_RX_PAR Mask */ +#define MXC_F_UART_REVB_INT_FL_CTS_EV_POS 2 /**< INT_FL_CTS_EV Position */ +#define MXC_F_UART_REVB_INT_FL_CTS_EV ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_CTS_EV_POS)) /**< INT_FL_CTS_EV Mask */ - #define MXC_F_UART_REVB_INT_FL_CTS_EV_POS 2 /**< INT_FL_CTS_EV Position */ - #define MXC_F_UART_REVB_INT_FL_CTS_EV ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_CTS_EV_POS)) /**< INT_FL_CTS_EV Mask */ +#define MXC_F_UART_REVB_INT_FL_RX_OV_POS 3 /**< INT_FL_RX_OV Position */ +#define MXC_F_UART_REVB_INT_FL_RX_OV ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_RX_OV_POS)) /**< INT_FL_RX_OV Mask */ - #define MXC_F_UART_REVB_INT_FL_RX_OV_POS 3 /**< INT_FL_RX_OV Position */ - #define MXC_F_UART_REVB_INT_FL_RX_OV ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_RX_OV_POS)) /**< INT_FL_RX_OV Mask */ +#define MXC_F_UART_REVB_INT_FL_RX_THD_POS 4 /**< INT_FL_RX_THD Position */ +#define MXC_F_UART_REVB_INT_FL_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_RX_THD_POS)) /**< INT_FL_RX_THD Mask */ - #define MXC_F_UART_REVB_INT_FL_RX_THD_POS 4 /**< INT_FL_RX_THD Position */ - #define MXC_F_UART_REVB_INT_FL_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_RX_THD_POS)) /**< INT_FL_RX_THD Mask */ +#define MXC_F_UART_REVB_INT_FL_TX_OB_POS 5 /**< INT_FL_TX_OB Position */ +#define MXC_F_UART_REVB_INT_FL_TX_OB ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_TX_OB_POS)) /**< INT_FL_TX_OB Mask */ - #define MXC_F_UART_REVB_INT_FL_TX_HE_POS 6 /**< INT_FL_TX_HE Position */ - #define MXC_F_UART_REVB_INT_FL_TX_HE ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_TX_HE_POS)) /**< INT_FL_TX_HE Mask */ +#define MXC_F_UART_REVB_INT_FL_TX_HE_POS 6 /**< INT_FL_TX_HE Position */ +#define MXC_F_UART_REVB_INT_FL_TX_HE ((uint32_t)(0x1UL << MXC_F_UART_REVB_INT_FL_TX_HE_POS)) /**< INT_FL_TX_HE Mask */ /**@} end of group UART_REVB_INT_FL_Register */ @@ -276,8 +267,8 @@ typedef struct { * @brief Clock Divider register * @{ */ - #define MXC_F_UART_REVB_CLKDIV_CLKDIV_POS 0 /**< CLKDIV_CLKDIV Position */ - #define MXC_F_UART_REVB_CLKDIV_CLKDIV ((uint32_t)(0xFFFFFUL << MXC_F_UART_REVB_CLKDIV_CLKDIV_POS)) /**< CLKDIV_CLKDIV Mask */ +#define MXC_F_UART_REVB_CLKDIV_CLKDIV_POS 0 /**< CLKDIV_CLKDIV Position */ +#define MXC_F_UART_REVB_CLKDIV_CLKDIV ((uint32_t)(0xFFFFFUL << MXC_F_UART_REVB_CLKDIV_CLKDIV_POS)) /**< CLKDIV_CLKDIV Mask */ /**@} end of group UART_REVB_CLKDIV_Register */ @@ -287,8 +278,8 @@ typedef struct { * @brief Over Sampling Rate register * @{ */ - #define MXC_F_UART_REVB_OSR_OSR_POS 0 /**< OSR_OSR Position */ - #define MXC_F_UART_REVB_OSR_OSR ((uint32_t)(0x7UL << MXC_F_UART_REVB_OSR_OSR_POS)) /**< OSR_OSR Mask */ +#define MXC_F_UART_REVB_OSR_OSR_POS 0 /**< OSR_OSR Position */ +#define MXC_F_UART_REVB_OSR_OSR ((uint32_t)(0x7UL << MXC_F_UART_REVB_OSR_OSR_POS)) /**< OSR_OSR Mask */ /**@} end of group UART_REVB_OSR_Register */ @@ -298,8 +289,8 @@ typedef struct { * @brief TX FIFO Output Peek register * @{ */ - #define MXC_F_UART_REVB_TXPEEK_DATA_POS 0 /**< TXPEEK_DATA Position */ - #define MXC_F_UART_REVB_TXPEEK_DATA ((uint32_t)(0xFFUL << MXC_F_UART_REVB_TXPEEK_DATA_POS)) /**< TXPEEK_DATA Mask */ +#define MXC_F_UART_REVB_TXPEEK_DATA_POS 0 /**< TXPEEK_DATA Position */ +#define MXC_F_UART_REVB_TXPEEK_DATA ((uint32_t)(0xFFUL << MXC_F_UART_REVB_TXPEEK_DATA_POS)) /**< TXPEEK_DATA Mask */ /**@} end of group UART_REVB_TXPEEK_Register */ @@ -309,11 +300,11 @@ typedef struct { * @brief Pin register * @{ */ - #define MXC_F_UART_REVB_PNR_CTS_POS 0 /**< PNR_CTS Position */ - #define MXC_F_UART_REVB_PNR_CTS ((uint32_t)(0x1UL << MXC_F_UART_REVB_PNR_CTS_POS)) /**< PNR_CTS Mask */ +#define MXC_F_UART_REVB_PNR_CTS_POS 0 /**< PNR_CTS Position */ +#define MXC_F_UART_REVB_PNR_CTS ((uint32_t)(0x1UL << MXC_F_UART_REVB_PNR_CTS_POS)) /**< PNR_CTS Mask */ - #define MXC_F_UART_REVB_PNR_RTS_POS 1 /**< PNR_RTS Position */ - #define MXC_F_UART_REVB_PNR_RTS ((uint32_t)(0x1UL << MXC_F_UART_REVB_PNR_RTS_POS)) /**< PNR_RTS Mask */ +#define MXC_F_UART_REVB_PNR_RTS_POS 1 /**< PNR_RTS Position */ +#define MXC_F_UART_REVB_PNR_RTS ((uint32_t)(0x1UL << MXC_F_UART_REVB_PNR_RTS_POS)) /**< PNR_RTS Mask */ /**@} end of group UART_REVB_PNR_Register */ @@ -323,11 +314,11 @@ typedef struct { * @brief FIFO Read/Write register * @{ */ - #define MXC_F_UART_REVB_FIFO_DATA_POS 0 /**< FIFO_DATA Position */ - #define MXC_F_UART_REVB_FIFO_DATA ((uint32_t)(0xFFUL << MXC_F_UART_REVB_FIFO_DATA_POS)) /**< FIFO_DATA Mask */ +#define MXC_F_UART_REVB_FIFO_DATA_POS 0 /**< FIFO_DATA Position */ +#define MXC_F_UART_REVB_FIFO_DATA ((uint32_t)(0xFFUL << MXC_F_UART_REVB_FIFO_DATA_POS)) /**< FIFO_DATA Mask */ - #define MXC_F_UART_REVB_FIFO_RX_PAR_POS 8 /**< FIFO_RX_PAR Position */ - #define MXC_F_UART_REVB_FIFO_RX_PAR ((uint32_t)(0x1UL << MXC_F_UART_REVB_FIFO_RX_PAR_POS)) /**< FIFO_RX_PAR Mask */ +#define MXC_F_UART_REVB_FIFO_RX_PAR_POS 8 /**< FIFO_RX_PAR Position */ +#define MXC_F_UART_REVB_FIFO_RX_PAR ((uint32_t)(0x1UL << MXC_F_UART_REVB_FIFO_RX_PAR_POS)) /**< FIFO_RX_PAR Mask */ /**@} end of group UART_REVB_FIFO_Register */ @@ -337,17 +328,17 @@ typedef struct { * @brief DMA Configuration register * @{ */ - #define MXC_F_UART_REVB_DMA_TX_THD_VAL_POS 0 /**< DMA_TX_THD_VAL Position */ - #define MXC_F_UART_REVB_DMA_TX_THD_VAL ((uint32_t)(0xFUL << MXC_F_UART_REVB_DMA_TX_THD_VAL_POS)) /**< DMA_TX_THD_VAL Mask */ +#define MXC_F_UART_REVB_DMA_TX_THD_VAL_POS 0 /**< DMA_TX_THD_VAL Position */ +#define MXC_F_UART_REVB_DMA_TX_THD_VAL ((uint32_t)(0xFUL << MXC_F_UART_REVB_DMA_TX_THD_VAL_POS)) /**< DMA_TX_THD_VAL Mask */ - #define MXC_F_UART_REVB_DMA_TX_EN_POS 4 /**< DMA_TX_EN Position */ - #define MXC_F_UART_REVB_DMA_TX_EN ((uint32_t)(0x1UL << MXC_F_UART_REVB_DMA_TX_EN_POS)) /**< DMA_TX_EN Mask */ +#define MXC_F_UART_REVB_DMA_TX_EN_POS 4 /**< DMA_TX_EN Position */ +#define MXC_F_UART_REVB_DMA_TX_EN ((uint32_t)(0x1UL << MXC_F_UART_REVB_DMA_TX_EN_POS)) /**< DMA_TX_EN Mask */ - #define MXC_F_UART_REVB_DMA_RX_THD_VAL_POS 5 /**< DMA_RX_THD_VAL Position */ - #define MXC_F_UART_REVB_DMA_RX_THD_VAL ((uint32_t)(0xFUL << MXC_F_UART_REVB_DMA_RX_THD_VAL_POS)) /**< DMA_RX_THD_VAL Mask */ +#define MXC_F_UART_REVB_DMA_RX_THD_VAL_POS 5 /**< DMA_RX_THD_VAL Position */ +#define MXC_F_UART_REVB_DMA_RX_THD_VAL ((uint32_t)(0xFUL << MXC_F_UART_REVB_DMA_RX_THD_VAL_POS)) /**< DMA_RX_THD_VAL Mask */ - #define MXC_F_UART_REVB_DMA_RX_EN_POS 9 /**< DMA_RX_EN Position */ - #define MXC_F_UART_REVB_DMA_RX_EN ((uint32_t)(0x1UL << MXC_F_UART_REVB_DMA_RX_EN_POS)) /**< DMA_RX_EN Mask */ +#define MXC_F_UART_REVB_DMA_RX_EN_POS 9 /**< DMA_RX_EN Position */ +#define MXC_F_UART_REVB_DMA_RX_EN ((uint32_t)(0x1UL << MXC_F_UART_REVB_DMA_RX_EN_POS)) /**< DMA_RX_EN Mask */ /**@} end of group UART_REVB_DMA_Register */ @@ -357,14 +348,14 @@ typedef struct { * @brief Wake up enable Control register * @{ */ - #define MXC_F_UART_REVB_WKEN_RX_NE_POS 0 /**< WKEN_RX_NE Position */ - #define MXC_F_UART_REVB_WKEN_RX_NE ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKEN_RX_NE_POS)) /**< WKEN_RX_NE Mask */ +#define MXC_F_UART_REVB_WKEN_RX_NE_POS 0 /**< WKEN_RX_NE Position */ +#define MXC_F_UART_REVB_WKEN_RX_NE ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKEN_RX_NE_POS)) /**< WKEN_RX_NE Mask */ - #define MXC_F_UART_REVB_WKEN_RX_FULL_POS 1 /**< WKEN_RX_FULL Position */ - #define MXC_F_UART_REVB_WKEN_RX_FULL ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKEN_RX_FULL_POS)) /**< WKEN_RX_FULL Mask */ +#define MXC_F_UART_REVB_WKEN_RX_FULL_POS 1 /**< WKEN_RX_FULL Position */ +#define MXC_F_UART_REVB_WKEN_RX_FULL ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKEN_RX_FULL_POS)) /**< WKEN_RX_FULL Mask */ - #define MXC_F_UART_REVB_WKEN_RX_THD_POS 1 /**< WKEN_RX_THD Position */ - #define MXC_F_UART_REVB_WKEN_RX_THD ((uint32_t)(0x3UL << MXC_F_UART_REVB_WKEN_RX_THD_POS)) /**< WKEN_RX_THD Mask */ +#define MXC_F_UART_REVB_WKEN_RX_THD_POS 2 /**< WKEN_RX_THD Position */ +#define MXC_F_UART_REVB_WKEN_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKEN_RX_THD_POS)) /**< WKEN_RX_THD Mask */ /**@} end of group UART_REVB_WKEN_Register */ @@ -374,14 +365,14 @@ typedef struct { * @brief Wake up Flags register * @{ */ - #define MXC_F_UART_REVB_WKFL_RX_NE_POS 0 /**< WKFL_RX_NE Position */ - #define MXC_F_UART_REVB_WKFL_RX_NE ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKFL_RX_NE_POS)) /**< WKFL_RX_NE Mask */ +#define MXC_F_UART_REVB_WKFL_RX_NE_POS 0 /**< WKFL_RX_NE Position */ +#define MXC_F_UART_REVB_WKFL_RX_NE ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKFL_RX_NE_POS)) /**< WKFL_RX_NE Mask */ - #define MXC_F_UART_REVB_WKFL_RX_FULL_POS 1 /**< WKFL_RX_FULL Position */ - #define MXC_F_UART_REVB_WKFL_RX_FULL ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKFL_RX_FULL_POS)) /**< WKFL_RX_FULL Mask */ +#define MXC_F_UART_REVB_WKFL_RX_FULL_POS 1 /**< WKFL_RX_FULL Position */ +#define MXC_F_UART_REVB_WKFL_RX_FULL ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKFL_RX_FULL_POS)) /**< WKFL_RX_FULL Mask */ - #define MXC_F_UART_REVB_WKFL_RX_THD_POS 2 /**< WKFL_RX_THD Position */ - #define MXC_F_UART_REVB_WKFL_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKFL_RX_THD_POS)) /**< WKFL_RX_THD Mask */ +#define MXC_F_UART_REVB_WKFL_RX_THD_POS 2 /**< WKFL_RX_THD Position */ +#define MXC_F_UART_REVB_WKFL_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_REVB_WKFL_RX_THD_POS)) /**< WKFL_RX_THD Mask */ /**@} end of group UART_REVB_WKFL_Register */ @@ -389,4 +380,4 @@ typedef struct { } #endif -#endif /* _UART_REVB_REGS_H_ */ +#endif // LIBRARIES_PERIPHDRIVERS_SOURCE_UART_UART_REVB_REGS_H_ From 0b476027a67d9639ceb953fa806cfbb925c9ecfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tahsin=20T=C3=BCrker=20Mutlug=C3=BCn?= Date: Mon, 16 Dec 2024 18:54:25 +0300 Subject: [PATCH 09/13] fix(PeriphDrivers): Fix SPI pins and peripheral clock for MAX32657 (#1295) Signed-off-by: Tahsin Mutlugun --- Libraries/PeriphDrivers/Source/SPI/spi_me30.c | 53 +++---------------- 1 file changed, 6 insertions(+), 47 deletions(-) diff --git a/Libraries/PeriphDrivers/Source/SPI/spi_me30.c b/Libraries/PeriphDrivers/Source/SPI/spi_me30.c index ac48b4f2b2..1b97472b0c 100644 --- a/Libraries/PeriphDrivers/Source/SPI/spi_me30.c +++ b/Libraries/PeriphDrivers/Source/SPI/spi_me30.c @@ -88,30 +88,20 @@ int MXC_SPI_Init(mxc_spi_regs_t *spi, int masterMode, int quadModeUsed, int numS //clear mask gpio_cfg_spi.mask = 0; - // TODO(ME30): Validate pin assignments - // check rest of the pins if (pins.clock) { - gpio_cfg_spi.mask |= MXC_GPIO_PIN_23; + gpio_cfg_spi.mask |= MXC_GPIO_PIN_6; } if (pins.miso) { - gpio_cfg_spi.mask |= MXC_GPIO_PIN_22; + gpio_cfg_spi.mask |= MXC_GPIO_PIN_4; } if (pins.mosi) { - gpio_cfg_spi.mask |= MXC_GPIO_PIN_21; - } - - if (pins.sdio2) { - gpio_cfg_spi.mask |= MXC_GPIO_PIN_24; - } - - if (pins.sdio3) { - gpio_cfg_spi.mask |= MXC_GPIO_PIN_25; + gpio_cfg_spi.mask |= MXC_GPIO_PIN_2; } if (pins.ss0) { - gpio_cfg_spi.mask |= MXC_GPIO_PIN_20; + gpio_cfg_spi.mask |= MXC_GPIO_PIN_3; } gpio_cfg_spi.func = MXC_GPIO_FUNC_ALT1; @@ -146,40 +136,9 @@ int MXC_SPI_ReadyForSleep(mxc_spi_regs_t *spi) int MXC_SPI_GetPeripheralClock(mxc_spi_regs_t *spi) { - int retval; - - // TODO(ME30): Validate this logic - int sys_clk = (MXC_GCR->clkctrl & MXC_F_GCR_CLKCTRL_SYSCLK_SEL) >> - MXC_F_GCR_CLKCTRL_SYSCLK_SEL_POS; - switch (sys_clk) { - case MXC_SYS_CLOCK_IPO: - retval = IPO_FREQ; - break; - case MXC_SYS_CLOCK_IBRO: - retval = IBRO_FREQ; - break; - case MXC_SYS_CLOCK_INRO: - retval = INRO_FREQ; - break; - case MXC_SYS_CLOCK_ERTCO: - retval = ERTCO_FREQ; - break; - // TODO(ME30): EXTCLK definition is missing from registers - // case MXC_SYS_CLOCK_EXTCLK: - // retval = EXTCLK_FREQ; - // break; -#if TARGET_NUM == 32655 || TARGET_NUM == 32680 - case MXC_SYS_CLOCK_ERFO: - retval = ERFO_FREQ; - break; -#endif - default: - return E_BAD_STATE; - } - - retval /= 2; + (void)spi; - return retval; + return PeripheralClock / 2; } int MXC_SPI_SetFrequency(mxc_spi_regs_t *spi, unsigned int hz) From d9efd385c5a42a8273337af063afadcfa4fea941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tahsin=20T=C3=BCrker=20Mutlug=C3=BCn?= Date: Mon, 16 Dec 2024 23:27:49 +0300 Subject: [PATCH 10/13] feat(CMSIS,PeriphDrivers): Enable external clock selection on MAX32657 (#1297) Signed-off-by: Tahsin Mutlugun --- .../Maxim/MAX32657/Include/system_max32657.h | 2 +- .../Maxim/MAX32657/Source/system_max32657.c | 7 +-- .../PeriphDrivers/Include/MAX32657/mxc_pins.h | 1 + .../PeriphDrivers/Include/MAX32657/mxc_sys.h | 5 +- .../PeriphDrivers/Source/SYS/pins_me30.c | 3 + Libraries/PeriphDrivers/Source/SYS/sys_me30.c | 60 +++++++++---------- 6 files changed, 39 insertions(+), 39 deletions(-) diff --git a/Libraries/CMSIS/Device/Maxim/MAX32657/Include/system_max32657.h b/Libraries/CMSIS/Device/Maxim/MAX32657/Include/system_max32657.h index 0a086a133b..ba6e6fac68 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32657/Include/system_max32657.h +++ b/Libraries/CMSIS/Device/Maxim/MAX32657/Include/system_max32657.h @@ -38,7 +38,7 @@ extern "C" { Update if use of this oscillator requires precise timing.*/ /* NOTE: INRO was previously named NANORING */ #ifndef INRO_FREQ -#define INRO_FREQ 100000 +#define INRO_FREQ 131000 #endif #ifndef IPO_FREQ diff --git a/Libraries/CMSIS/Device/Maxim/MAX32657/Source/system_max32657.c b/Libraries/CMSIS/Device/Maxim/MAX32657/Source/system_max32657.c index 5e24e6a32e..2c15ccba75 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32657/Source/system_max32657.c +++ b/Libraries/CMSIS/Device/Maxim/MAX32657/Source/system_max32657.c @@ -80,10 +80,9 @@ __weak void SystemCoreClockUpdate(void) case MXC_S_GCR_CLKCTRL_SYSCLK_SEL_ERTCO: base_freq = ERTCO_FREQ; break; - // case MXC_S_GCR_CLKCTRL_SYSCLK_SEL_EXTCLK: - // base_freq = EXTCLK_FREQ; - // break; - // TODO(JC): ^^^ Uncomment when EXTCLK register definition is added + case MXC_S_GCR_CLKCTRL_SYSCLK_SEL_EXTCLK: + base_freq = EXTCLK_FREQ; + break; default: // Codes 001 and 111 are reserved. // This code should never execute, however, initialize to safe value. diff --git a/Libraries/PeriphDrivers/Include/MAX32657/mxc_pins.h b/Libraries/PeriphDrivers/Include/MAX32657/mxc_pins.h index ee29193192..a103efe416 100644 --- a/Libraries/PeriphDrivers/Include/MAX32657/mxc_pins.h +++ b/Libraries/PeriphDrivers/Include/MAX32657/mxc_pins.h @@ -28,6 +28,7 @@ /***** Global Variables *****/ // Predefined GPIO Configurations +extern const mxc_gpio_cfg_t gpio_cfg_extclk; extern const mxc_gpio_cfg_t gpio_cfg_i3c; extern const mxc_gpio_cfg_t gpio_cfg_uart; diff --git a/Libraries/PeriphDrivers/Include/MAX32657/mxc_sys.h b/Libraries/PeriphDrivers/Include/MAX32657/mxc_sys.h index a763886da7..d1c88f6dae 100644 --- a/Libraries/PeriphDrivers/Include/MAX32657/mxc_sys.h +++ b/Libraries/PeriphDrivers/Include/MAX32657/mxc_sys.h @@ -99,9 +99,8 @@ typedef enum { MXC_V_GCR_CLKCTRL_SYSCLK_SEL_INRO, /**< Select the Internal Nanoring Oscillator (INRO) */ MXC_SYS_CLOCK_ERTCO = MXC_V_GCR_CLKCTRL_SYSCLK_SEL_ERTCO, /**< Select the External RTC Crystal Oscillator */ - // MXC_SYS_CLOCK_EXTCLK = - // MXC_V_GCR_CLKCTRL_SYSCLK_SEL_EXTCLK /**< Use the external system clock input */ - // TODO(JC): ^^^ EXTCLK select is missing from gcr_regs.h (should be 0x7) + MXC_SYS_CLOCK_EXTCLK = + MXC_V_GCR_CLKCTRL_SYSCLK_SEL_EXTCLK /**< Use the external system clock input */ } mxc_sys_system_clock_t; /** @brief Enumeration to set the System Clock divider */ diff --git a/Libraries/PeriphDrivers/Source/SYS/pins_me30.c b/Libraries/PeriphDrivers/Source/SYS/pins_me30.c index b7fd798dab..2b6ae2b03c 100644 --- a/Libraries/PeriphDrivers/Source/SYS/pins_me30.c +++ b/Libraries/PeriphDrivers/Source/SYS/pins_me30.c @@ -24,6 +24,9 @@ /***** Global Variables *****/ // clang-format off +const mxc_gpio_cfg_t gpio_cfg_extclk = { MXC_GPIO0, (MXC_GPIO_PIN_7), MXC_GPIO_FUNC_IN, + MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; + // P0.0 - I3C SCL // P0.1 - I3C SDA const mxc_gpio_cfg_t gpio_cfg_i3c = { MXC_GPIO0, (MXC_GPIO_PIN_0 | MXC_GPIO_PIN_1), MXC_GPIO_FUNC_ALT1, diff --git a/Libraries/PeriphDrivers/Source/SYS/sys_me30.c b/Libraries/PeriphDrivers/Source/SYS/sys_me30.c index b6b286896e..ee45aa55f6 100644 --- a/Libraries/PeriphDrivers/Source/SYS/sys_me30.c +++ b/Libraries/PeriphDrivers/Source/SYS/sys_me30.c @@ -226,11 +226,10 @@ int MXC_SYS_ClockSourceEnable(mxc_sys_system_clock_t clock) return MXC_SYS_Clock_Timeout(MXC_F_GCR_CLKCTRL_IBRO_RDY); break; - // TODO(ME30): EXTCLK is missing from register definitions - // case MXC_SYS_CLOCK_EXTCLK: - // // No "RDY" bit to monitor, so just configure the GPIO - // return MXC_GPIO_Config(&gpio_cfg_extclk); - // break; + case MXC_SYS_CLOCK_EXTCLK: + // No "RDY" bit to monitor, so just configure the GPIO + return MXC_GPIO_Config(&gpio_cfg_extclk); + break; case MXC_SYS_CLOCK_INRO: // The 80k clock is always enabled @@ -291,19 +290,18 @@ int MXC_SYS_ClockSourceDisable(mxc_sys_system_clock_t clock) MXC_GCR->clkctrl &= ~MXC_F_GCR_CLKCTRL_IBRO_EN; break; - // TODO(ME30): Missing EXTCLK register definition - // case MXC_SYS_CLOCK_EXTCLK: - // /* - // There's not a great way to disable the external clock. - // Deinitializing the GPIO here may have unintended consequences - // for application code. - // Selecting a different system clock source is sufficient - // to "disable" the EXT_CLK source. - // */ - // break; + case MXC_SYS_CLOCK_EXTCLK: + /* + There's not a great way to disable the external clock. + Deinitializing the GPIO here may have unintended consequences + for application code. + Selecting a different system clock source is sufficient + to "disable" the EXT_CLK source. + */ + break; case MXC_SYS_CLOCK_INRO: - // The 80k clock is always enabled + // The 131k clock is always enabled break; case MXC_SYS_CLOCK_ERFO: @@ -353,6 +351,7 @@ int MXC_SYS_Clock_Timeout(uint32_t ready) int MXC_SYS_Clock_Select(mxc_sys_system_clock_t clock) { uint32_t current_clock; + int err = E_NO_ERROR; // Save the current system clock current_clock = MXC_GCR->clkctrl & MXC_F_GCR_CLKCTRL_SYSCLK_SEL; @@ -394,21 +393,20 @@ int MXC_SYS_Clock_Select(mxc_sys_system_clock_t clock) break; - // TODO(ME30): Missing EXTCLK register definition - // case MXC_SYS_CLOCK_EXTCLK: - // /* - // There's not "EXT_CLK RDY" bit for the ME17, so we'll - // blindly enable (configure GPIO) the external clock every time. - // */ - // err = MXC_SYS_ClockSourceEnable(MXC_SYS_CLOCK_EXTCLK); - // if (err) - // return err; - - // // Set EXT clock as System Clock - // MXC_SETFIELD(MXC_GCR->clkctrl, MXC_F_GCR_CLKCTRL_SYSCLK_SEL, - // MXC_S_GCR_CLKCTRL_SYSCLK_SEL_EXTCLK); - - // break; + case MXC_SYS_CLOCK_EXTCLK: + /* + There's not "EXT_CLK RDY" bit for the ME17, so we'll + blindly enable (configure GPIO) the external clock every time. + */ + err = MXC_SYS_ClockSourceEnable(MXC_SYS_CLOCK_EXTCLK); + if (err) + return err; + + // Set EXT clock as System Clock + MXC_SETFIELD(MXC_GCR->clkctrl, MXC_F_GCR_CLKCTRL_SYSCLK_SEL, + MXC_S_GCR_CLKCTRL_SYSCLK_SEL_EXTCLK); + + break; case MXC_SYS_CLOCK_ERFO: From 1dd47b758ae4786eb6669e110e7b1bda2c10c490 Mon Sep 17 00:00:00 2001 From: Cristian Cruz <71054319+crsz20@users.noreply.github.com> Date: Mon, 16 Dec 2024 15:46:59 -0600 Subject: [PATCH 11/13] refactor(PeriphDrivers)!: Update WUT API naming schemes for MAX32655, MAX32657, MAX32665, MAX32690, MAX78000, and MAX78002. Offer WUT selection on MAX32690 (#1291) Co-authored-by: crsz20 --- .../BLE_FreeRTOS/freertos_tickless.c | 6 +- .../BLE_fit_FreeRTOS/freertos_tickless.c | 6 +- .../Bluetooth/RF_Test/freertos_tickless.c | 4 +- .../MAX32655/FreeRTOSDemo/freertos_tickless.c | 4 +- Examples/MAX32655/FreeRTOSDemo/main.c | 2 +- Examples/MAX32655/WUT/main.c | 2 +- .../BLE_FreeRTOS/freertos_tickless.c | 6 +- .../Bluetooth/BLE_FreeRTOS/stack_dats.c | 2 +- .../Bluetooth/RF_Test/freertos_tickless.c | 6 +- .../MAX32665/FreeRTOSDemo/freertos_tickless.c | 4 +- Examples/MAX32665/FreeRTOSDemo/main.c | 2 +- Examples/MAX32665/WUT/main.c | 2 +- .../MAX32680/FreeRTOSDemo/freertos_tickless.c | 4 +- Examples/MAX32680/FreeRTOSDemo/main.c | 2 +- Examples/MAX32680/WUT/main.c | 2 +- .../Bluetooth/BLE_FreeRTOS/dats_main.c | 2 +- .../BLE_FreeRTOS/freertos_tickless.c | 16 +-- .../Bluetooth/BLE_FreeRTOS/stack_dats.c | 2 +- Examples/MAX32690/Bluetooth/BLE_datc/main.c | 2 +- .../MAX32690/Bluetooth/BLE_dats/dats_main.c | 2 +- Examples/MAX32690/Bluetooth/BLE_dats/main.c | 2 +- Examples/MAX32690/Bluetooth/BLE_fit/main.c | 2 +- Examples/MAX32690/Bluetooth/BLE_otac/main.c | 2 +- .../MAX32690/Bluetooth/BLE_otas/dats_main.c | 2 +- Examples/MAX32690/Bluetooth/BLE_otas/main.c | 2 +- .../Bluetooth/RF_Test/freertos_tickless.c | 16 +-- .../MAX32690/FreeRTOSDemo/freertos_tickless.c | 14 +- Examples/MAX32690/FreeRTOSDemo/main.c | 8 +- Examples/MAX32690/WUT/main.c | 10 +- Examples/MAX78000/CNN/kws20_demo/main.c | 2 +- .../MAX78000/FreeRTOSDemo/freertos_tickless.c | 4 +- Examples/MAX78000/FreeRTOSDemo/main.c | 2 +- Examples/MAX78000/WUT/main.c | 2 +- .../MAX78002/CNN/facial_recognition/main.c | 2 +- Examples/MAX78002/CNN/kws20_demo/main.c | 2 +- .../MAX78002/FreeRTOSDemo/freertos_tickless.c | 4 +- Examples/MAX78002/FreeRTOSDemo/main.c | 2 +- Examples/MAX78002/WUT/main.c | 2 +- .../targets/maxim/max32665/sources/pal_rtc.c | 2 +- .../targets/maxim/max32690/sources/pal_rtc.c | 16 +-- .../PeriphDrivers/Include/MAX32655/wut.h | 37 +++++- .../PeriphDrivers/Include/MAX32657/wut.h | 37 +++++- .../PeriphDrivers/Include/MAX32665/wut.h | 33 ++++- .../PeriphDrivers/Include/MAX32680/wut.h | 37 +++++- .../PeriphDrivers/Include/MAX32690/wut.h | 70 ++++++---- .../PeriphDrivers/Include/MAX78000/wut.h | 33 ++++- .../PeriphDrivers/Include/MAX78002/wut.h | 33 ++++- Libraries/PeriphDrivers/Source/WUT/wut_ai85.c | 26 +++- Libraries/PeriphDrivers/Source/WUT/wut_ai87.c | 24 ++++ Libraries/PeriphDrivers/Source/WUT/wut_me14.c | 26 +++- Libraries/PeriphDrivers/Source/WUT/wut_me17.c | 26 +++- Libraries/PeriphDrivers/Source/WUT/wut_me18.c | 122 +++++++++--------- Libraries/PeriphDrivers/Source/WUT/wut_me30.c | 26 +++- 53 files changed, 505 insertions(+), 201 deletions(-) diff --git a/Examples/MAX32655/Bluetooth/BLE_FreeRTOS/freertos_tickless.c b/Examples/MAX32655/Bluetooth/BLE_FreeRTOS/freertos_tickless.c index 2a241b2791..d4c9354954 100644 --- a/Examples/MAX32655/Bluetooth/BLE_FreeRTOS/freertos_tickless.c +++ b/Examples/MAX32655/Bluetooth/BLE_FreeRTOS/freertos_tickless.c @@ -160,7 +160,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) /* Determine if we need to snapshot the PalBb clock */ if (schTimerActive) { /* Snapshot the current WUT value with the PalBb clock */ - MXC_WUT_Store(MXC_WUT0); + MXC_WUT_StoreCount(MXC_WUT0); preCapture = MXC_WUT_GetCount(MXC_WUT0); schUsec = PalTimerGetExpTime(); @@ -176,7 +176,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } } else { /* Snapshot the current WUT value */ - MXC_WUT_Edge(MXC_WUT0); + MXC_WUT_WaitForEdge(MXC_WUT0); preCapture = MXC_WUT_GetCount(MXC_WUT0); bleSleepTicks = 0; schUsec = 0; @@ -239,7 +239,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } /* Recalculate dsWutTicks for the FreeRTOS tick counter update */ - MXC_WUT_Edge(MXC_WUT0); + MXC_WUT_WaitForEdge(MXC_WUT0); postCapture = MXC_WUT_GetCount(MXC_WUT0); dsWutTicks = postCapture - preCapture; diff --git a/Examples/MAX32655/Bluetooth/BLE_fit_FreeRTOS/freertos_tickless.c b/Examples/MAX32655/Bluetooth/BLE_fit_FreeRTOS/freertos_tickless.c index 6113790add..26528205fa 100644 --- a/Examples/MAX32655/Bluetooth/BLE_fit_FreeRTOS/freertos_tickless.c +++ b/Examples/MAX32655/Bluetooth/BLE_fit_FreeRTOS/freertos_tickless.c @@ -160,7 +160,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) /* Determine if we need to snapshot the PalBb clock */ if (schTimerActive) { /* Snapshot the current WUT value with the PalBb clock */ - MXC_WUT_Store(MXC_WUT0); + MXC_WUT_StoreCount(MXC_WUT0); preCapture = MXC_WUT_GetCount(MXC_WUT0); schUsec = PalTimerGetExpTime(); @@ -176,7 +176,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } } else { /* Snapshot the current WUT value */ - MXC_WUT_Edge(MXC_WUT0); + MXC_WUT_WaitForEdge(MXC_WUT0); preCapture = MXC_WUT_GetCount(MXC_WUT0); bleSleepTicks = 0; schUsec = 0; @@ -238,7 +238,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } /* Recalculate dsWutTicks for the FreeRTOS tick counter update */ - MXC_WUT_Edge(MXC_WUT0); + MXC_WUT_WaitForEdge(MXC_WUT0); postCapture = MXC_WUT_GetCount(MXC_WUT0); dsWutTicks = postCapture - preCapture; diff --git a/Examples/MAX32655/Bluetooth/RF_Test/freertos_tickless.c b/Examples/MAX32655/Bluetooth/RF_Test/freertos_tickless.c index e997be57d1..55a62dcc7e 100644 --- a/Examples/MAX32655/Bluetooth/RF_Test/freertos_tickless.c +++ b/Examples/MAX32655/Bluetooth/RF_Test/freertos_tickless.c @@ -135,10 +135,10 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) MXC_GPIO_OutSet(uart_rts.port, uart_rts.mask); /* Snapshot the current WUT value */ - MXC_WUT_Edge(MXC_WUT0); + MXC_WUT_WaitForEdge(MXC_WUT0); pre_capture = MXC_WUT_GetCount(MXC_WUT0); MXC_WUT_SetCompare(MXC_WUT0, pre_capture + wut_ticks); - MXC_WUT_Edge(MXC_WUT0); + MXC_WUT_WaitForEdge(MXC_WUT0); LED_Off(1); diff --git a/Examples/MAX32655/FreeRTOSDemo/freertos_tickless.c b/Examples/MAX32655/FreeRTOSDemo/freertos_tickless.c index e997be57d1..55a62dcc7e 100644 --- a/Examples/MAX32655/FreeRTOSDemo/freertos_tickless.c +++ b/Examples/MAX32655/FreeRTOSDemo/freertos_tickless.c @@ -135,10 +135,10 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) MXC_GPIO_OutSet(uart_rts.port, uart_rts.mask); /* Snapshot the current WUT value */ - MXC_WUT_Edge(MXC_WUT0); + MXC_WUT_WaitForEdge(MXC_WUT0); pre_capture = MXC_WUT_GetCount(MXC_WUT0); MXC_WUT_SetCompare(MXC_WUT0, pre_capture + wut_ticks); - MXC_WUT_Edge(MXC_WUT0); + MXC_WUT_WaitForEdge(MXC_WUT0); LED_Off(1); diff --git a/Examples/MAX32655/FreeRTOSDemo/main.c b/Examples/MAX32655/FreeRTOSDemo/main.c index fb244caaee..6a8aeb8325 100644 --- a/Examples/MAX32655/FreeRTOSDemo/main.c +++ b/Examples/MAX32655/FreeRTOSDemo/main.c @@ -352,7 +352,7 @@ int freertos_permit_tickless(void) */ void WUT_IRQHandler(void) { - MXC_WUT_IntClear(MXC_WUT0); + MXC_WUT_ClearFlags(MXC_WUT0); NVIC_ClearPendingIRQ(WUT_IRQn); } diff --git a/Examples/MAX32655/WUT/main.c b/Examples/MAX32655/WUT/main.c index 5178e4f3fe..4d6343048f 100644 --- a/Examples/MAX32655/WUT/main.c +++ b/Examples/MAX32655/WUT/main.c @@ -38,7 +38,7 @@ void WUT_IRQHandler(void) { - MXC_WUT_IntClear(MXC_WUT0); + MXC_WUT_ClearFlags(MXC_WUT0); } // ***************************************************************************** diff --git a/Examples/MAX32665/Bluetooth/BLE_FreeRTOS/freertos_tickless.c b/Examples/MAX32665/Bluetooth/BLE_FreeRTOS/freertos_tickless.c index 6d09bf46b8..8c773a53bb 100644 --- a/Examples/MAX32665/Bluetooth/BLE_FreeRTOS/freertos_tickless.c +++ b/Examples/MAX32665/Bluetooth/BLE_FreeRTOS/freertos_tickless.c @@ -250,7 +250,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) /* Determine if we need to snapshot the PalBb clock */ if (schTimerActive) { /* Snapshot the current WUT value with the PalBb clock */ - MXC_WUT_Store(); + MXC_WUT_StoreCount(); preCapture = MXC_WUT_GetCount(); schUsec = PalTimerGetExpTime(); @@ -266,7 +266,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } } else { /* Snapshot the current WUT value */ - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(); preCapture = MXC_WUT_GetCount(); bleSleepTicks = 0; schUsec = 0; @@ -327,7 +327,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } /* Recalculate dsWutTicks for the FreeRTOS tick counter update */ - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(); postCapture = MXC_WUT_GetCount(); dsWutTicks = postCapture - preCapture; diff --git a/Examples/MAX32665/Bluetooth/BLE_FreeRTOS/stack_dats.c b/Examples/MAX32665/Bluetooth/BLE_FreeRTOS/stack_dats.c index 3b057e84f4..363e2c6bc9 100644 --- a/Examples/MAX32665/Bluetooth/BLE_FreeRTOS/stack_dats.c +++ b/Examples/MAX32665/Bluetooth/BLE_FreeRTOS/stack_dats.c @@ -202,7 +202,7 @@ static void mainWsfInit(void) /*************************************************************************************************/ void WUT_IRQHandler(void) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); NVIC_ClearPendingIRQ(WUT_IRQn); MXC_WUT_Handler(); PalTimerIRQCallBack(); diff --git a/Examples/MAX32665/Bluetooth/RF_Test/freertos_tickless.c b/Examples/MAX32665/Bluetooth/RF_Test/freertos_tickless.c index 7af8f83779..de06b4097a 100644 --- a/Examples/MAX32665/Bluetooth/RF_Test/freertos_tickless.c +++ b/Examples/MAX32665/Bluetooth/RF_Test/freertos_tickless.c @@ -248,7 +248,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) /* Determine if we need to snapshot the PalBb clock */ if (schTimerActive) { /* Snapshot the current WUT value with the PalBb clock */ - MXC_WUT_Store(); + MXC_WUT_StoreCount(); preCapture = MXC_WUT_GetCount(); schUsec = PalTimerGetExpTime(); @@ -264,7 +264,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } } else { /* Snapshot the current WUT value */ - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(); preCapture = MXC_WUT_GetCount(); bleSleepTicks = 0; schUsec = 0; @@ -326,7 +326,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } /* Recalculate dsWutTicks for the FreeRTOS tick counter update */ - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(); postCapture = MXC_WUT_GetCount(); dsWutTicks = postCapture - preCapture; diff --git a/Examples/MAX32665/FreeRTOSDemo/freertos_tickless.c b/Examples/MAX32665/FreeRTOSDemo/freertos_tickless.c index 90400009b4..f31a1d4500 100644 --- a/Examples/MAX32665/FreeRTOSDemo/freertos_tickless.c +++ b/Examples/MAX32665/FreeRTOSDemo/freertos_tickless.c @@ -235,10 +235,10 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) MXC_GPIO_OutSet(uart_rts.port, uart_rts.mask); /* Snapshot the current WUT value */ - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(); pre_capture = MXC_WUT_GetCount(); MXC_WUT_SetCompare(pre_capture + wut_ticks); - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(); LED_Off(SLEEP_LED); diff --git a/Examples/MAX32665/FreeRTOSDemo/main.c b/Examples/MAX32665/FreeRTOSDemo/main.c index e1edac6d0f..8e24abb466 100644 --- a/Examples/MAX32665/FreeRTOSDemo/main.c +++ b/Examples/MAX32665/FreeRTOSDemo/main.c @@ -397,7 +397,7 @@ void turnOffUnused(void) */ void WUT_IRQHandler(void) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); NVIC_ClearPendingIRQ(WUT_IRQn); } diff --git a/Examples/MAX32665/WUT/main.c b/Examples/MAX32665/WUT/main.c index 17bbb999f0..576c7dff6b 100644 --- a/Examples/MAX32665/WUT/main.c +++ b/Examples/MAX32665/WUT/main.c @@ -46,7 +46,7 @@ /***** Functions *****/ void WUT_IRQHandler(void) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); } // ***************************************************************************** diff --git a/Examples/MAX32680/FreeRTOSDemo/freertos_tickless.c b/Examples/MAX32680/FreeRTOSDemo/freertos_tickless.c index b0b67a415d..3727ee9e38 100644 --- a/Examples/MAX32680/FreeRTOSDemo/freertos_tickless.c +++ b/Examples/MAX32680/FreeRTOSDemo/freertos_tickless.c @@ -135,10 +135,10 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) MXC_GPIO_OutSet(uart_rts.port, uart_rts.mask); /* Snapshot the current WUT value */ - MXC_WUT_Edge(MXC_WUT); + MXC_WUT_WaitForEdge(MXC_WUT); pre_capture = MXC_WUT_GetCount(MXC_WUT); MXC_WUT_SetCompare(MXC_WUT, pre_capture + wut_ticks); - MXC_WUT_Edge(MXC_WUT); + MXC_WUT_WaitForEdge(MXC_WUT); LED_Off(1); diff --git a/Examples/MAX32680/FreeRTOSDemo/main.c b/Examples/MAX32680/FreeRTOSDemo/main.c index c16f27ccc1..a43f34682a 100644 --- a/Examples/MAX32680/FreeRTOSDemo/main.c +++ b/Examples/MAX32680/FreeRTOSDemo/main.c @@ -349,7 +349,7 @@ int freertos_permit_tickless(void) */ void WUT_IRQHandler(void) { - MXC_WUT_IntClear(MXC_WUT); + MXC_WUT_ClearFlags(MXC_WUT); NVIC_ClearPendingIRQ(WUT_IRQn); } diff --git a/Examples/MAX32680/WUT/main.c b/Examples/MAX32680/WUT/main.c index 8e254c8988..60d4fa1cc4 100644 --- a/Examples/MAX32680/WUT/main.c +++ b/Examples/MAX32680/WUT/main.c @@ -65,7 +65,7 @@ void setTrigger(int waitForTrigger) void WUT_IRQHandler(void) { - MXC_WUT_IntClear(MXC_WUT); + MXC_WUT_ClearFlags(MXC_WUT); } // ***************************************************************************** diff --git a/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/dats_main.c b/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/dats_main.c index 4987581980..4e3e6fc638 100644 --- a/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/dats_main.c +++ b/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/dats_main.c @@ -342,7 +342,7 @@ static void trimStart(void) extern void wutTrimCb(int err); /* Start the 32 kHz crystal trim procedure */ - err = MXC_WUT_TrimCrystalAsync(wutTrimCb); + err = MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb); if (err != E_NO_ERROR) { APP_TRACE_INFO1("Error starting 32kHz crystal trim %d", err); } diff --git a/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/freertos_tickless.c b/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/freertos_tickless.c index 7f8b864d75..53b76ff2c0 100644 --- a/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/freertos_tickless.c +++ b/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/freertos_tickless.c @@ -60,7 +60,7 @@ int freertos_permit_tickless(void) { /* Can not disable BLE DBB and 32 MHz clock while trim procedure is ongoing */ - if (MXC_WUT_TrimPending() != E_NO_ERROR) { + if (MXC_WUT_TrimPending(MXC_WUT0) != E_NO_ERROR) { return E_BUSY; } @@ -160,8 +160,8 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) /* Determine if we need to snapshot the PalBb clock */ if (schTimerActive) { /* Snapshot the current WUT value with the PalBb clock */ - MXC_WUT_Store(); - preCapture = MXC_WUT_GetCount(); + MXC_WUT_StoreCount(MXC_WUT0); + preCapture = MXC_WUT_GetCount(MXC_WUT0); schUsec = PalTimerGetExpTime(); /* Adjust idleTicks for the time it takes to restart the BLE hardware */ @@ -176,8 +176,8 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } } else { /* Snapshot the current WUT value */ - MXC_WUT_Edge(); - preCapture = MXC_WUT_GetCount(); + MXC_WUT_WaitForEdge(MXC_WUT0); + preCapture = MXC_WUT_GetCount(MXC_WUT0); bleSleepTicks = 0; schUsec = 0; } @@ -221,7 +221,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) if (schTimerActive) { /* Restore the BB counter */ - MXC_WUT_RestoreBBClock(BB_CLK_RATE_HZ); + MXC_WUT_RestoreBBClock(MXC_WUT0, BB_CLK_RATE_HZ); /* Restart the BLE scheduler timer */ dsWutTicks = MXC_WUT->cnt - preCapture; @@ -237,8 +237,8 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } /* Recalculate dsWutTicks for the FreeRTOS tick counter update */ - MXC_WUT_Edge(); - postCapture = MXC_WUT_GetCount(); + MXC_WUT_WaitForEdge(MXC_WUT0); + postCapture = MXC_WUT_GetCount(MXC_WUT0); dsWutTicks = postCapture - preCapture; /* diff --git a/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/stack_dats.c b/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/stack_dats.c index 4d161efd20..a478911ed6 100644 --- a/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/stack_dats.c +++ b/Examples/MAX32690/Bluetooth/BLE_FreeRTOS/stack_dats.c @@ -279,7 +279,7 @@ void trim32k(void) /* Execute the trim procedure */ wutTrimComplete = 0; - if (MXC_WUT_TrimCrystalAsync(wutTrimCb) != E_NO_ERROR) { + if (MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb) != E_NO_ERROR) { APP_TRACE_INFO0("Error with 32k trim"); } else { while (!wutTrimComplete) {} diff --git a/Examples/MAX32690/Bluetooth/BLE_datc/main.c b/Examples/MAX32690/Bluetooth/BLE_datc/main.c index 974026c852..ae3983a5d6 100644 --- a/Examples/MAX32690/Bluetooth/BLE_datc/main.c +++ b/Examples/MAX32690/Bluetooth/BLE_datc/main.c @@ -277,7 +277,7 @@ int main(void) /* Execute the trim procedure */ wutTrimComplete = 0; - MXC_WUT_TrimCrystalAsync(wutTrimCb); + MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb); while (!wutTrimComplete) {} /* Shutdown the 32 MHz crystal and the BLE DBB */ diff --git a/Examples/MAX32690/Bluetooth/BLE_dats/dats_main.c b/Examples/MAX32690/Bluetooth/BLE_dats/dats_main.c index 385b79dc7a..35ae627928 100644 --- a/Examples/MAX32690/Bluetooth/BLE_dats/dats_main.c +++ b/Examples/MAX32690/Bluetooth/BLE_dats/dats_main.c @@ -403,7 +403,7 @@ static void trimStart(void) extern void wutTrimCb(int err); /* Start the 32 kHz crystal trim procedure */ - err = MXC_WUT_TrimCrystalAsync(wutTrimCb); + err = MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb); if (err != E_NO_ERROR) { APP_TRACE_INFO1("Error starting 32kHz crystal trim %d", err); } diff --git a/Examples/MAX32690/Bluetooth/BLE_dats/main.c b/Examples/MAX32690/Bluetooth/BLE_dats/main.c index 43d033646e..94f62ccbf4 100644 --- a/Examples/MAX32690/Bluetooth/BLE_dats/main.c +++ b/Examples/MAX32690/Bluetooth/BLE_dats/main.c @@ -272,7 +272,7 @@ int main(void) /* Execute the trim procedure */ wutTrimComplete = 0; - MXC_WUT_TrimCrystalAsync(wutTrimCb); + MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb); while (!wutTrimComplete) {} /* Shutdown the 32 MHz crystal and the BLE DBB */ diff --git a/Examples/MAX32690/Bluetooth/BLE_fit/main.c b/Examples/MAX32690/Bluetooth/BLE_fit/main.c index 170005b548..1cec080a01 100644 --- a/Examples/MAX32690/Bluetooth/BLE_fit/main.c +++ b/Examples/MAX32690/Bluetooth/BLE_fit/main.c @@ -272,7 +272,7 @@ int main(void) /* Execute the trim procedure */ wutTrimComplete = 0; - MXC_WUT_TrimCrystalAsync(wutTrimCb); + MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb); while (!wutTrimComplete) {} /* Shutdown the 32 MHz crystal and the BLE DBB */ diff --git a/Examples/MAX32690/Bluetooth/BLE_otac/main.c b/Examples/MAX32690/Bluetooth/BLE_otac/main.c index 2e4a0fbd03..2a63e84d70 100644 --- a/Examples/MAX32690/Bluetooth/BLE_otac/main.c +++ b/Examples/MAX32690/Bluetooth/BLE_otac/main.c @@ -273,7 +273,7 @@ int main(void) /* Execute the trim procedure */ wutTrimComplete = 0; - MXC_WUT_TrimCrystalAsync(wutTrimCb); + MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb); while (!wutTrimComplete) {} /* Shutdown the 32 MHz crystal and the BLE DBB */ diff --git a/Examples/MAX32690/Bluetooth/BLE_otas/dats_main.c b/Examples/MAX32690/Bluetooth/BLE_otas/dats_main.c index e1748d1095..b201a6f104 100644 --- a/Examples/MAX32690/Bluetooth/BLE_otas/dats_main.c +++ b/Examples/MAX32690/Bluetooth/BLE_otas/dats_main.c @@ -349,7 +349,7 @@ static void trimStart(void) extern void wutTrimCb(int err); /* Start the 32 kHz crystal trim procedure */ - err = MXC_WUT_TrimCrystalAsync(wutTrimCb); + err = MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb); if (err != E_NO_ERROR) { APP_TRACE_INFO1("Error starting 32kHz crystal trim %d", err); } diff --git a/Examples/MAX32690/Bluetooth/BLE_otas/main.c b/Examples/MAX32690/Bluetooth/BLE_otas/main.c index e1a0793574..ac69bee4a5 100644 --- a/Examples/MAX32690/Bluetooth/BLE_otas/main.c +++ b/Examples/MAX32690/Bluetooth/BLE_otas/main.c @@ -276,7 +276,7 @@ int main(void) /* Execute the trim procedure */ wutTrimComplete = 0; - MXC_WUT_TrimCrystalAsync(wutTrimCb); + MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb); while (!wutTrimComplete) {} /* Stop here to measure the 32 kHz clock */ diff --git a/Examples/MAX32690/Bluetooth/RF_Test/freertos_tickless.c b/Examples/MAX32690/Bluetooth/RF_Test/freertos_tickless.c index cc9813c097..d910bc4972 100644 --- a/Examples/MAX32690/Bluetooth/RF_Test/freertos_tickless.c +++ b/Examples/MAX32690/Bluetooth/RF_Test/freertos_tickless.c @@ -60,7 +60,7 @@ int freertos_permit_tickless(void) { /* Can not disable BLE DBB and 32 MHz clock while trim procedure is ongoing */ - if (MXC_WUT_TrimPending() != E_NO_ERROR) { + if (MXC_WUT_TrimPending(MXC_WUT0) != E_NO_ERROR) { return E_BUSY; } @@ -160,8 +160,8 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) /* Determine if we need to snapshot the PalBb clock */ if (schTimerActive) { /* Snapshot the current WUT value with the PalBb clock */ - MXC_WUT_Store(); - preCapture = MXC_WUT_GetCount(); + MXC_WUT_StoreCount(MXC_WUT0); + preCapture = MXC_WUT_GetCount(MXC_WUT0); schUsec = PalTimerGetExpTime(); /* Adjust idleTicks for the time it takes to restart the BLE hardware */ @@ -176,8 +176,8 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } } else { /* Snapshot the current WUT value */ - MXC_WUT_Edge(); - preCapture = MXC_WUT_GetCount(); + MXC_WUT_WaitForEdge(MXC_WUT0); + preCapture = MXC_WUT_GetCount(MXC_WUT0); bleSleepTicks = 0; schUsec = 0; } @@ -222,7 +222,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) PalBbRestore(); /* Restore the BB counter */ - MXC_WUT_RestoreBBClock(BB_CLK_RATE_HZ); + MXC_WUT_RestoreBBClock(MXC_WUT0, BB_CLK_RATE_HZ); /* Restart the BLE scheduler timer */ dsWutTicks = MXC_WUT->cnt - preCapture; @@ -238,8 +238,8 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } /* Recalculate dsWutTicks for the FreeRTOS tick counter update */ - MXC_WUT_Edge(); - postCapture = MXC_WUT_GetCount(); + MXC_WUT_WaitForEdge(MXC_WUT0); + postCapture = MXC_WUT_GetCount(MXC_WUT0); dsWutTicks = postCapture - preCapture; /* diff --git a/Examples/MAX32690/FreeRTOSDemo/freertos_tickless.c b/Examples/MAX32690/FreeRTOSDemo/freertos_tickless.c index 6fc84f7cc7..328b50a6a1 100644 --- a/Examples/MAX32690/FreeRTOSDemo/freertos_tickless.c +++ b/Examples/MAX32690/FreeRTOSDemo/freertos_tickless.c @@ -67,7 +67,7 @@ __attribute__((weak)) int freertos_permit_tickless(void) */ void wutHitSnooze(void) { - wutSnooze = MXC_WUT_GetCount() + MAX_WUT_SNOOZE; + wutSnooze = MXC_WUT_GetCount(MXC_WUT0) + MAX_WUT_SNOOZE; wutSnoozeValid = 1; } @@ -108,7 +108,7 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) } /* Check the WUT snooze */ - if (wutSnoozeValid && (MXC_WUT_GetCount() < wutSnooze)) { + if (wutSnoozeValid && (MXC_WUT_GetCount(MXC_WUT0) < wutSnooze)) { /* Finish out the rest of this tick with normal sleep */ MXC_LP_EnterSleepMode(); return; @@ -134,16 +134,16 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) MXC_GPIO_OutSet(uart_rts.port, uart_rts.mask); /* Snapshot the current WUT value */ - MXC_WUT_Edge(); - pre_capture = MXC_WUT_GetCount(); - MXC_WUT_SetCompare(pre_capture + wut_ticks); - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(MXC_WUT0); + pre_capture = MXC_WUT_GetCount(MXC_WUT0); + MXC_WUT_SetCompare(MXC_WUT0, pre_capture + wut_ticks); + MXC_WUT_WaitForEdge(MXC_WUT0); LED_Off(1); MXC_LP_EnterStandbyMode(); - post_capture = MXC_WUT_GetCount(); + post_capture = MXC_WUT_GetCount(MXC_WUT0); actual_ticks = post_capture - pre_capture; LED_On(1); diff --git a/Examples/MAX32690/FreeRTOSDemo/main.c b/Examples/MAX32690/FreeRTOSDemo/main.c index afcb26f51f..a4a7c4862b 100644 --- a/Examples/MAX32690/FreeRTOSDemo/main.c +++ b/Examples/MAX32690/FreeRTOSDemo/main.c @@ -345,7 +345,7 @@ int freertos_permit_tickless(void) */ void WUT_IRQHandler(void) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(MXC_WUT0); NVIC_ClearPendingIRQ(WUT0_IRQn); } @@ -374,7 +374,7 @@ int main(void) #if configUSE_TICKLESS_IDLE /* Initialize Wakeup timer */ - MXC_WUT_Init(MXC_WUT_PRES_1); + MXC_WUT_Init(MXC_WUT0, MXC_WUT_PRES_1); mxc_wut_cfg_t wut_cfg; wut_cfg.mode = MXC_WUT_MODE_COMPARE; wut_cfg.cmp_cnt = 0xFFFFFFFF; @@ -386,8 +386,8 @@ int main(void) NVIC_EnableIRQ(WUT_IRQn); /* Configure and start the WUT */ - MXC_WUT_Config(&wut_cfg); - MXC_WUT_Enable(); + MXC_WUT_Config(MXC_WUT0, &wut_cfg); + MXC_WUT_Enable(MXC_WUT0); /* Setup CTS interrupt */ MXC_GPIO_IntConfig(&uart_cts, MXC_GPIO_INT_FALLING); diff --git a/Examples/MAX32690/WUT/main.c b/Examples/MAX32690/WUT/main.c index 5b021919ef..15e1c875c5 100644 --- a/Examples/MAX32690/WUT/main.c +++ b/Examples/MAX32690/WUT/main.c @@ -57,7 +57,7 @@ void setTrigger(int waitForTrigger) void WUT0_IRQHandler(void) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(MXC_WUT0); } int main(void) @@ -75,15 +75,15 @@ int main(void) printf("wakeup timer to wake the device in %d Miliseconds.\n\n", MILLISECONDS_WUT); // Initialize WUT - MXC_WUT_Init(MXC_WUT_PRES_1); + MXC_WUT_Init(MXC_WUT0, MXC_WUT_PRES_1); // Get ticks based off of milliseconds - MXC_WUT_GetTicks(MILLISECONDS_WUT, MXC_WUT_UNIT_MILLISEC, &ticks); + MXC_WUT_GetTicks(MXC_WUT0, MILLISECONDS_WUT, MXC_WUT_UNIT_MILLISEC, &ticks); // Config WUT cfg.mode = MXC_WUT_MODE_ONESHOT; cfg.cmp_cnt = ticks; - MXC_WUT_Config(&cfg); + MXC_WUT_Config(MXC_WUT0, &cfg); NVIC_EnableIRQ(WUT0_IRQn); // Enable WUT wakeup event @@ -95,7 +95,7 @@ int main(void) // Start WUT printf("Entering SLEEP mode.\n"); - MXC_WUT_Enable(); + MXC_WUT_Enable(MXC_WUT0); // Put the chip to sleep MXC_LP_EnterSleepMode(); diff --git a/Examples/MAX78000/CNN/kws20_demo/main.c b/Examples/MAX78000/CNN/kws20_demo/main.c index ed8fffa6e3..e489df1e90 100644 --- a/Examples/MAX78000/CNN/kws20_demo/main.c +++ b/Examples/MAX78000/CNN/kws20_demo/main.c @@ -258,7 +258,7 @@ int32_t tot_usec = -100000; void WUT_IRQHandler(void) { i2s_flag = 1; - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); tot_usec += WUT_USEC; //LED_On(LED2); diff --git a/Examples/MAX78000/FreeRTOSDemo/freertos_tickless.c b/Examples/MAX78000/FreeRTOSDemo/freertos_tickless.c index 6fc84f7cc7..8ed03566b5 100644 --- a/Examples/MAX78000/FreeRTOSDemo/freertos_tickless.c +++ b/Examples/MAX78000/FreeRTOSDemo/freertos_tickless.c @@ -134,10 +134,10 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) MXC_GPIO_OutSet(uart_rts.port, uart_rts.mask); /* Snapshot the current WUT value */ - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(); pre_capture = MXC_WUT_GetCount(); MXC_WUT_SetCompare(pre_capture + wut_ticks); - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(); LED_Off(1); diff --git a/Examples/MAX78000/FreeRTOSDemo/main.c b/Examples/MAX78000/FreeRTOSDemo/main.c index 80f2dd4bfa..55651e35df 100644 --- a/Examples/MAX78000/FreeRTOSDemo/main.c +++ b/Examples/MAX78000/FreeRTOSDemo/main.c @@ -345,7 +345,7 @@ int freertos_permit_tickless(void) */ void WUT_IRQHandler(void) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); NVIC_ClearPendingIRQ(WUT_IRQn); } diff --git a/Examples/MAX78000/WUT/main.c b/Examples/MAX78000/WUT/main.c index bef18b4e32..05bf06b7ad 100644 --- a/Examples/MAX78000/WUT/main.c +++ b/Examples/MAX78000/WUT/main.c @@ -65,7 +65,7 @@ void setTrigger(int waitForTrigger) void WUT_IRQHandler(void) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); } // ***************************************************************************** diff --git a/Examples/MAX78002/CNN/facial_recognition/main.c b/Examples/MAX78002/CNN/facial_recognition/main.c index 11f1e1bfbd..5797e39fec 100644 --- a/Examples/MAX78002/CNN/facial_recognition/main.c +++ b/Examples/MAX78002/CNN/facial_recognition/main.c @@ -226,7 +226,7 @@ area_t area_2 = { 0, 260, 80, 30 }; void WUT_IRQHandler(void) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); } uint32_t ticks_1; diff --git a/Examples/MAX78002/CNN/kws20_demo/main.c b/Examples/MAX78002/CNN/kws20_demo/main.c index 21bc8e5975..116ee7ff38 100644 --- a/Examples/MAX78002/CNN/kws20_demo/main.c +++ b/Examples/MAX78002/CNN/kws20_demo/main.c @@ -206,7 +206,7 @@ int32_t tot_usec = -100000; void WUT_IRQHandler(void) { i2s_flag = 1; - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); tot_usec += WUT_USEC; } diff --git a/Examples/MAX78002/FreeRTOSDemo/freertos_tickless.c b/Examples/MAX78002/FreeRTOSDemo/freertos_tickless.c index 6fc84f7cc7..8ed03566b5 100644 --- a/Examples/MAX78002/FreeRTOSDemo/freertos_tickless.c +++ b/Examples/MAX78002/FreeRTOSDemo/freertos_tickless.c @@ -134,10 +134,10 @@ void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) MXC_GPIO_OutSet(uart_rts.port, uart_rts.mask); /* Snapshot the current WUT value */ - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(); pre_capture = MXC_WUT_GetCount(); MXC_WUT_SetCompare(pre_capture + wut_ticks); - MXC_WUT_Edge(); + MXC_WUT_WaitForEdge(); LED_Off(1); diff --git a/Examples/MAX78002/FreeRTOSDemo/main.c b/Examples/MAX78002/FreeRTOSDemo/main.c index 80f2dd4bfa..55651e35df 100644 --- a/Examples/MAX78002/FreeRTOSDemo/main.c +++ b/Examples/MAX78002/FreeRTOSDemo/main.c @@ -345,7 +345,7 @@ int freertos_permit_tickless(void) */ void WUT_IRQHandler(void) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); NVIC_ClearPendingIRQ(WUT_IRQn); } diff --git a/Examples/MAX78002/WUT/main.c b/Examples/MAX78002/WUT/main.c index 99fca7157a..3305052e43 100644 --- a/Examples/MAX78002/WUT/main.c +++ b/Examples/MAX78002/WUT/main.c @@ -66,7 +66,7 @@ void setTrigger(int waitForTrigger) void WUT_IRQHandler(void) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); } // ***************************************************************************** diff --git a/Libraries/Cordio/platform/targets/maxim/max32665/sources/pal_rtc.c b/Libraries/Cordio/platform/targets/maxim/max32665/sources/pal_rtc.c index 6fd97885be..45bd54861a 100644 --- a/Libraries/Cordio/platform/targets/maxim/max32665/sources/pal_rtc.c +++ b/Libraries/Cordio/platform/targets/maxim/max32665/sources/pal_rtc.c @@ -64,7 +64,7 @@ static struct { __attribute__((weak)) void WUT_IRQHandler(void) { PalLedOn(PAL_LED_ID_CPU_ACTIVE); - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); NVIC_ClearPendingIRQ(WUT_IRQn); } diff --git a/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_rtc.c b/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_rtc.c index 5650875320..34f0c97ac5 100644 --- a/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_rtc.c +++ b/Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_rtc.c @@ -69,14 +69,14 @@ static struct { void WUT0_IRQHandler(void) { PalLedOn(PAL_LED_ID_CPU_ACTIVE); - MXC_WUT_Handler(); + MXC_WUT_Handler(PAL_WUT); } #else void WUT1_IRQHandler(void) { PalLedOn(PAL_LED_ID_CPU_ACTIVE); - MXC_WUT_Handler(); + MXC_WUT_Handler(PAL_WUT); } #endif @@ -102,7 +102,7 @@ PalRtcState_t PalRtcGetState(void) /*************************************************************************************************/ void PalRtcCompareSet(uint8_t channelId, uint32_t value) { - MXC_WUT_SetCompare(value); + MXC_WUT_SetCompare(PAL_WUT, value); } /*************************************************************************************************/ @@ -117,15 +117,15 @@ void PalRtcInit(void) cfg.mode = MXC_WUT_MODE_COMPARE; cfg.cmp_cnt = PAL_MAX_RTC_COUNTER_VAL; - MXC_WUT_Init(MXC_WUT_PRES_1); - MXC_WUT_Config(&cfg); + MXC_WUT_Init(PAL_WUT, MXC_WUT_PRES_1); + MXC_WUT_Config(PAL_WUT, &cfg); MXC_LP_EnableWUTAlarmWakeup(); NVIC_ClearPendingIRQ(PAL_WUT_IRQn); NVIC_EnableIRQ(PAL_WUT_IRQn); /* Enable WUT */ - MXC_WUT_Enable(); + MXC_WUT_Enable(PAL_WUT); palRtcCb.state = PAL_RTC_STATE_READY; } @@ -142,7 +142,7 @@ void PalRtcInit(void) /*************************************************************************************************/ uint32_t PalRtcCounterGet(void) { - uint32_t count = MXC_WUT_GetCount(); + uint32_t count = MXC_WUT_GetCount(PAL_WUT); return count; } @@ -168,6 +168,6 @@ void PalRtcEnableCompareIrq(uint8_t channelId) /*************************************************************************************************/ void PalRtcDisableCompareIrq(uint8_t channelId) { - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(PAL_WUT); NVIC_DisableIRQ(PAL_WUT_IRQn); } diff --git a/Libraries/PeriphDrivers/Include/MAX32655/wut.h b/Libraries/PeriphDrivers/Include/MAX32655/wut.h index 67a8231aec..db7466ad74 100644 --- a/Libraries/PeriphDrivers/Include/MAX32655/wut.h +++ b/Libraries/PeriphDrivers/Include/MAX32655/wut.h @@ -159,14 +159,29 @@ uint32_t MXC_WUT_GetCount(mxc_wut_regs_t *wut); * @brief Clear the timer interrupt. * @param wut Pointer to Wakeup Timer instance to clear interrupts for. */ -void MXC_WUT_IntClear(mxc_wut_regs_t *wut); +__attribute__((deprecated("Use MXC_WUT_ClearFlags instead. See wut.h for more details."))) void +MXC_WUT_IntClear(mxc_wut_regs_t *wut); + +/** + * @brief Clear the timer interrupt. + * @param wut Pointer to Wakeup Timer instance to clear interrupt flags for. + */ +void MXC_WUT_ClearFlags(mxc_wut_regs_t *wut); /** * @brief Get the timer interrupt status. * @param wut Pointer to Wakeup Timer instance to get interrupt staus from. * @return Returns the interrupt status. 1 if interrupt has occurred. */ -uint32_t MXC_WUT_IntStatus(mxc_wut_regs_t *wut); +__attribute__((deprecated("Use MXC_WUT_GetFlags instead. See wut.h for more details."))) uint32_t +MXC_WUT_IntStatus(mxc_wut_regs_t *wut); + +/** + * @brief Get the timer interrupt status. + * @param wut Pointer to Wakeup Timer instance to get interrupt status from. + * @return Returns the interrupt status. 1 if interrupt has occurred. + */ +uint32_t MXC_WUT_GetFlags(mxc_wut_regs_t *wut); /** * @brief Set the timer compare count. @@ -210,13 +225,27 @@ int MXC_WUT_GetTime(mxc_wut_regs_t *wut, uint32_t ticks, uint32_t *time, mxc_wut * @brief Wait for an edge of the WUT count register. * @param wut Pointer to Wakeup Timer instance to wait on. */ -void MXC_WUT_Edge(mxc_wut_regs_t *wut); +__attribute__((deprecated("Use MXC_WUT_WaitForEdge instead. See wut.h for more details."))) void +MXC_WUT_Edge(mxc_wut_regs_t *wut); + +/** + * @brief Wait for an edge of the WUT count register. + * @param wut Pointer to Wakeup Timer instance to wait on. + */ +void MXC_WUT_WaitForEdge(mxc_wut_regs_t *wut); + +/** + * @brief Store the count and snapshot values. + * @param wut Pointer to Wakeup Timer instance to store count and snapshot values for. + */ +__attribute__((deprecated("Use MXC_WUT_StoreCount instead. See wut.h for more details."))) void +MXC_WUT_Store(mxc_wut_regs_t *wut); /** * @brief Store the count and snapshot values. * @param wut Pointer to Wakeup Timer instance to store count and snapshot values for. */ -void MXC_WUT_Store(mxc_wut_regs_t *wut); +void MXC_WUT_StoreCount(mxc_wut_regs_t *wut); /** * @brief Restore the DBB clock with the stored count and snapshot values. diff --git a/Libraries/PeriphDrivers/Include/MAX32657/wut.h b/Libraries/PeriphDrivers/Include/MAX32657/wut.h index 187fff5dad..f8e81a8ac8 100644 --- a/Libraries/PeriphDrivers/Include/MAX32657/wut.h +++ b/Libraries/PeriphDrivers/Include/MAX32657/wut.h @@ -157,14 +157,29 @@ uint32_t MXC_WUT_GetCount(mxc_wut_regs_t *wut); * @brief Clear the timer interrupt. * @param wut Pointer to Wakeup Timer instance to clear interrupts for. */ -void MXC_WUT_IntClear(mxc_wut_regs_t *wut); +__attribute__((deprecated("Use MXC_WUT_ClearFlags instead. See wut.h for more details."))) void +MXC_WUT_IntClear(mxc_wut_regs_t *wut); + +/** + * @brief Clear the timer interrupt. + * @param wut Pointer to Wakeup Timer instance to clear interrupt flags for. + */ +void MXC_WUT_ClearFlags(mxc_wut_regs_t *wut); /** * @brief Get the timer interrupt status. * @param wut Pointer to Wakeup Timer instance to get interrupt staus from. * @return Returns the interrupt status. 1 if interrupt has occurred. */ -uint32_t MXC_WUT_IntStatus(mxc_wut_regs_t *wut); +__attribute__((deprecated("Use MXC_WUT_GetFlags instead. See wut.h for more details."))) uint32_t +MXC_WUT_IntStatus(mxc_wut_regs_t *wut); + +/** + * @brief Get the timer interrupt status. + * @param wut Pointer to Wakeup Timer instance to get interrupt status from. + * @return Returns the interrupt status. 1 if interrupt has occurred. + */ +uint32_t MXC_WUT_GetFlags(mxc_wut_regs_t *wut); /** * @brief Set the timer compare count. @@ -208,13 +223,27 @@ int MXC_WUT_GetTime(mxc_wut_regs_t *wut, uint32_t ticks, uint32_t *time, mxc_wut * @brief Wait for an edge of the WUT count register. * @param wut Pointer to Wakeup Timer instance to wait on. */ -void MXC_WUT_Edge(mxc_wut_regs_t *wut); +__attribute__((deprecated("Use MXC_WUT_WaitForEdge instead. See wut.h for more details."))) void +MXC_WUT_Edge(mxc_wut_regs_t *wut); + +/** + * @brief Wait for an edge of the WUT count register. + * @param wut Pointer to Wakeup Timer instance to wait on. + */ +void MXC_WUT_WaitForEdge(mxc_wut_regs_t *wut); + +/** + * @brief Store the count and snapshot values. + * @param wut Pointer to Wakeup Timer instance to store count and snapshot values for. + */ +__attribute__((deprecated("Use MXC_WUT_StoreCount instead. See wut.h for more details."))) void +MXC_WUT_Store(mxc_wut_regs_t *wut); /** * @brief Store the count and snapshot values. * @param wut Pointer to Wakeup Timer instance to store count and snapshot values for. */ -void MXC_WUT_Store(mxc_wut_regs_t *wut); +void MXC_WUT_StoreCount(mxc_wut_regs_t *wut); /** * @brief Restore the DBB clock with the stored count and snapshot values. diff --git a/Libraries/PeriphDrivers/Include/MAX32665/wut.h b/Libraries/PeriphDrivers/Include/MAX32665/wut.h index fbef2fc3a4..a606ca4e2b 100644 --- a/Libraries/PeriphDrivers/Include/MAX32665/wut.h +++ b/Libraries/PeriphDrivers/Include/MAX32665/wut.h @@ -158,13 +158,26 @@ uint32_t MXC_WUT_GetCount(void); /** * @brief Clear the timer interrupt. */ -void MXC_WUT_IntClear(void); +__attribute__((deprecated("Use MXC_WUT_ClearFlags instead. See wut.h for more details."))) void +MXC_WUT_IntClear(void); + +/** + * @brief Clear the timer interrupt. + */ +void MXC_WUT_ClearFlags(void); + +/** + * @brief Get the timer interrupt status. + * @return Returns the interrupt status. 1 if interrupt has occurred. + */ +__attribute__((deprecated("Use MXC_WUT_GetFlags instead. See wut.h for more details."))) uint32_t +MXC_WUT_IntStatus(void); /** * @brief Get the timer interrupt status. * @return Returns the interrupt status. 1 if interrupt has occurred. */ -uint32_t MXC_WUT_IntStatus(void); +uint32_t MXC_WUT_GetFlags(void); /** * @brief Set the timer compare count. @@ -203,12 +216,24 @@ int MXC_WUT_GetTime(uint32_t ticks, uint32_t *time, mxc_wut_unit_t *units); /** * @brief Wait for an edge of the WUT count register. */ -void MXC_WUT_Edge(void); +__attribute__((deprecated("Use MXC_WUT_WaitForEdge instead. See wut.h for more details."))) void +MXC_WUT_Edge(void); + +/** + * @brief Wait for an edge of the WUT count register. + */ +void MXC_WUT_WaitForEdge(void); + +/** + * @brief Store the count and snapshot values. + */ +__attribute__((deprecated("Use MXC_WUT_StoreCount instead. See wut.h for more details."))) void +MXC_WUT_Store(void); /** * @brief Store the count and snapshot values. */ -void MXC_WUT_Store(void); +void MXC_WUT_StoreCount(void); /** * @brief Restore the DBB clock with the stored count and snapshot values. diff --git a/Libraries/PeriphDrivers/Include/MAX32680/wut.h b/Libraries/PeriphDrivers/Include/MAX32680/wut.h index 031eeff39e..415e44d9fc 100644 --- a/Libraries/PeriphDrivers/Include/MAX32680/wut.h +++ b/Libraries/PeriphDrivers/Include/MAX32680/wut.h @@ -159,14 +159,29 @@ uint32_t MXC_WUT_GetCount(mxc_wut_regs_t *wut); * @brief Clear the timer interrupt. * @param wut Pointer to Wakeup Timer instance to clear interrupts for. */ -void MXC_WUT_IntClear(mxc_wut_regs_t *wut); +__attribute__((deprecated("Use MXC_WUT_ClearFlags instead. See wut.h for more details."))) void +MXC_WUT_IntClear(mxc_wut_regs_t *wut); + +/** + * @brief Clear the timer interrupt. + * @param wut Pointer to Wakeup Timer instance to clear interrupt flags for. + */ +void MXC_WUT_ClearFlags(mxc_wut_regs_t *wut); + +/** + * @brief Get the timer interrupt status. + * @param wut Pointer to Wakeup Timer instance to get interrupt status from. + * @return Returns the interrupt status. 1 if interrupt has occurred. + */ +__attribute__((deprecated("Use MXC_WUT_GetFlags instead. See wut.h for more details."))) uint32_t +MXC_WUT_IntStatus(mxc_wut_regs_t *wut); /** * @brief Get the timer interrupt status. * @param wut Pointer to Wakeup Timer instance to get interrupt status from. * @return Returns the interrupt status. 1 if interrupt has occurred. */ -uint32_t MXC_WUT_IntStatus(mxc_wut_regs_t *wut); +uint32_t MXC_WUT_GetFlags(mxc_wut_regs_t *wut); /** * @brief Set the timer compare count. @@ -210,13 +225,27 @@ int MXC_WUT_GetTime(mxc_wut_regs_t *wut, uint32_t ticks, uint32_t *time, mxc_wut * @brief Wait for an edge of the WUT count register. * @param wut Pointer to Wakeup Timer instance to wait on. */ -void MXC_WUT_Edge(mxc_wut_regs_t *wut); +__attribute__((deprecated("Use MXC_WUT_WaitForEdge instead. See wut.h for more details."))) void +MXC_WUT_Edge(mxc_wut_regs_t *wut); + +/** + * @brief Wait for an edge of the WUT count register. + * @param wut Pointer to Wakeup Timer instance to wait on. + */ +void MXC_WUT_WaitForEdge(mxc_wut_regs_t *wut); + +/** + * @brief Store the count and snapshot values. + * @param wut Pointer to Wakeup Timer instance to store count and snapshot values for. + */ +__attribute__((deprecated("Use MXC_WUT_StoreCount instead. See wut.h for more details."))) void +MXC_WUT_Store(mxc_wut_regs_t *wut); /** * @brief Store the count and snapshot values. * @param wut Pointer to Wakeup Timer instance to store count and snapshot values for. */ -void MXC_WUT_Store(mxc_wut_regs_t *wut); +void MXC_WUT_StoreCount(mxc_wut_regs_t *wut); /** * @brief Restore the DBB clock with the stored count and snapshot values. diff --git a/Libraries/PeriphDrivers/Include/MAX32690/wut.h b/Libraries/PeriphDrivers/Include/MAX32690/wut.h index 84f875640a..900c84c220 100644 --- a/Libraries/PeriphDrivers/Include/MAX32690/wut.h +++ b/Libraries/PeriphDrivers/Include/MAX32690/wut.h @@ -112,135 +112,156 @@ typedef void (*mxc_wut_complete_cb_t)(int result); /** * @brief Initialize timer module clock. + * @param wut Pointer to Wakeup Timer instance to initialize. * @param pres Prescaler value. */ -void MXC_WUT_Init(mxc_wut_pres_t pres); +void MXC_WUT_Init(mxc_wut_regs_t *wut, mxc_wut_pres_t pres); /** * @brief Shutdown timer module clock. + * @param wut Pointer to Wakeup Timer instance to shutdown. */ -void MXC_WUT_Shutdown(void); +void MXC_WUT_Shutdown(mxc_wut_regs_t *wut); /** * @brief Enable the timer. + * @param wut Pointer to Wakeup Timer instance to enable. */ -void MXC_WUT_Enable(void); +void MXC_WUT_Enable(mxc_wut_regs_t *wut); /** * @brief Disable the timer. + * @param wut Pointer to Wakeup Timer instance to disable. */ -void MXC_WUT_Disable(void); +void MXC_WUT_Disable(mxc_wut_regs_t *wut); /** * @brief Configure the timer. + * @param wut Pointer to Wakeup Timer instance to configure. * @param cfg Pointer to timer configuration struct. */ -void MXC_WUT_Config(const mxc_wut_cfg_t *cfg); +void MXC_WUT_Config(mxc_wut_regs_t *wut, const mxc_wut_cfg_t *cfg); /** * @brief Get the timer compare count. + * @param wut Pointer to Wakeup Timer instance to get compare value from. * @return Returns the current compare count. */ -uint32_t MXC_WUT_GetCompare(void); +uint32_t MXC_WUT_GetCompare(mxc_wut_regs_t *wut); /** * @brief Get the timer capture count. + * @param wut Pointer to Wakeup Timer instance to get capture count value from. * @return Returns the most recent capture count. */ -uint32_t MXC_WUT_GetCapture(void); +uint32_t MXC_WUT_GetCapture(mxc_wut_regs_t *wut); /** * @brief Get the timer count. + * @param wut Pointer to Wakeup Timer instance to get count value from. * @return Returns the current count. */ -uint32_t MXC_WUT_GetCount(void); +uint32_t MXC_WUT_GetCount(mxc_wut_regs_t *wut); /** * @brief Clear the timer interrupt. + * @param wut Pointer to Wakeup Timer instance to clear interrupt flags for. */ -void MXC_WUT_IntClear(void); +void MXC_WUT_ClearFlags(mxc_wut_regs_t *wut); /** * @brief Get the timer interrupt status. + * @param wut Pointer to Wakeup Timer instance to get interrupt status from. * @return Returns the interrupt status. 1 if interrupt has occurred. */ -uint32_t MXC_WUT_IntStatus(void); +uint32_t MXC_WUT_GetFlags(mxc_wut_regs_t *wut); /** * @brief Set the timer compare count. + * @param wut Pointer to Wakeup Timer instance to set compare value for. * @param cmp_cnt New compare count. * @note This function does not protect against output glitches in PWM mode. * Use MXC_WUT_PWMSetPeriod when in PWM mode. */ -void MXC_WUT_SetCompare(uint32_t cmp_cnt); +void MXC_WUT_SetCompare(mxc_wut_regs_t *wut, uint32_t cmp_cnt); /** * @brief Set the timer count. + * @param wut Pointer to Wakeup Timer instance to set count value for. * @param cnt New count. */ -void MXC_WUT_SetCount(uint32_t cnt); +void MXC_WUT_SetCount(mxc_wut_regs_t *wut, uint32_t cnt); /** * @brief Convert real time to timer ticks. + * @param wut Pointer to Wakeup Timer instance to get tick count for. * @param time Number of units of time. * @param units Which units of time you want to convert. * @param ticks Pointer to store the number of ticks calculated. * @return #E_NO_ERROR If everything is successful. * @return @ref MXC_Error_Codes If function is unsuccessful. */ -int MXC_WUT_GetTicks(uint32_t time, mxc_wut_unit_t units, uint32_t *ticks); +int MXC_WUT_GetTicks(mxc_wut_regs_t *wut, uint32_t time, mxc_wut_unit_t units, uint32_t *ticks); /** * @brief Convert timer ticks to real time. + * @param wut Pointer to Wakeup Timer instance to get time for. * @param ticks Number of ticks. * @param time Pointer to store number of units of time. * @param units Pointer to store the units that time represents. * @return #E_NO_ERROR If everything is successful. * @return @ref MXC_Error_Codes If function is unsuccessful. */ -int MXC_WUT_GetTime(uint32_t ticks, uint32_t *time, mxc_wut_unit_t *units); +int MXC_WUT_GetTime(mxc_wut_regs_t *wut, uint32_t ticks, uint32_t *time, mxc_wut_unit_t *units); /** * @brief Wait for an edge of the WUT count register. + * @param wut Pointer to Wakeup Timer instance to wait on. */ -void MXC_WUT_Edge(void); +void MXC_WUT_WaitForEdge(mxc_wut_regs_t *wut); /** * @brief Store the count and snapshot values. + * @param wut Pointer to Wakeup Timer instance to store count and snapshot values for. */ -void MXC_WUT_Store(void); +void MXC_WUT_StoreCount(mxc_wut_regs_t *wut); /** * @brief Restore the DBB clock with the stored count and snapshot values. + * @param wut Pointer to Wakeup Timer instance restore count and snapshot values for. * @param dbbFreq Frequency of DBB clock. */ -void MXC_WUT_RestoreBBClock(uint32_t dbbFreq); +void MXC_WUT_RestoreBBClock(mxc_wut_regs_t *wut, uint32_t dbbFreq); /** * @brief Get the difference between the stored counter value * and the current counter value. + * @param wut Pointer to Wakeup Timer instance to get current sleep ticks for. * @return Returns the current counter value - stored counter value. */ -uint32_t MXC_WUT_GetSleepTicks(void); +uint32_t MXC_WUT_GetSleepTicks(mxc_wut_regs_t *wut); /** * @brief Delays for the given number of milliseconds. + * @param wut Pointer to Wakeup Timer instance to use as the delay timer. * @param waitMs Number of milliseconds to wait. */ -void MXC_WUT_Delay_MS(uint32_t waitMs); +void MXC_WUT_Delay_MS(mxc_wut_regs_t *wut, uint32_t waitMs); /** * @brief Trim the 32 kHz crystal load settings, blocks until complete. + * @param wut Pointer to Wakeup Timer instance to trim. * @details This procedure uses the WUT and the BLE DBB, driven by the 32 MHz crystal, * to trim the load settings of the 32 kHz crystal. This procedure will only * work if the BLE DBB is initialized and running. * * @return #E_NO_ERROR If everything is successful. */ -int MXC_WUT_TrimCrystal(void); +int MXC_WUT_TrimCrystal(mxc_wut_regs_t *wut); /** * @brief Trim the 32 kHz crystal load settings, non-blocking interrupt based. + * @param wut Pointer to Wakeup Timer instance to trim. * @details This procedure uses the WUT and the BLE DBB, driven by the 32 MHz crystal, * to trim the load settings of the 32 kHz crystal. This procedure will only * work if the BLE DBB is initialized and running. @@ -248,21 +269,22 @@ int MXC_WUT_TrimCrystal(void); * @param cb Callback for when the trim is complete. * @return #E_NO_ERROR If everything is successful. */ -int MXC_WUT_TrimCrystalAsync(mxc_wut_complete_cb_t cb); +int MXC_WUT_TrimCrystalAsync(mxc_wut_regs_t *wut, mxc_wut_complete_cb_t cb); /** * @brief Check to see if the trim procedure is ongoing. + * @param wut Pointer to Wakeup Timer instance to check trim status for. * @details Must leave the 32 MHz clock and BLE DBB running while the trim procedure is pending. * @return #E_NO_ERROR If trim is complete, E_BUSY if trim procedure is ongoing. */ -int MXC_WUT_TrimPending(void); +int MXC_WUT_TrimPending(mxc_wut_regs_t *wut); /** * @brief Interrupt handler for trim procedure. - * + * @param wut Pointer to Wakeup Timer instance to handle interrupts for. * @return #E_NO_ERROR If trim is complete, E_BUSY if trim procedure is ongoing. */ -int MXC_WUT_Handler(void); +int MXC_WUT_Handler(mxc_wut_regs_t *wut); /**@} end of group wut */ diff --git a/Libraries/PeriphDrivers/Include/MAX78000/wut.h b/Libraries/PeriphDrivers/Include/MAX78000/wut.h index 1139771367..53cab45cd9 100644 --- a/Libraries/PeriphDrivers/Include/MAX78000/wut.h +++ b/Libraries/PeriphDrivers/Include/MAX78000/wut.h @@ -151,13 +151,26 @@ uint32_t MXC_WUT_GetCount(void); /** * @brief Clear the timer interrupt. */ -void MXC_WUT_IntClear(void); +__attribute__((deprecated("Use MXC_WUT_ClearFlags instead. See wut.h for more details."))) void +MXC_WUT_IntClear(void); + +/** + * @brief Clear the timer interrupt. + */ +void MXC_WUT_ClearFlags(void); + +/** + * @brief Get the timer interrupt status. + * @return Returns the interrupt status. 1 if interrupt has occurred. + */ +__attribute__((deprecated("Use MXC_WUT_GetFlags instead. See wut.h for more details."))) uint32_t +MXC_WUT_IntStatus(void); /** * @brief Get the timer interrupt status. * @return Returns the interrupt status. 1 if interrupt has occurred. */ -uint32_t MXC_WUT_IntStatus(void); +uint32_t MXC_WUT_GetFlags(void); /** * @brief Set the timer compare count. @@ -196,12 +209,24 @@ int MXC_WUT_GetTime(uint32_t ticks, uint32_t *time, mxc_wut_unit_t *units); /** * @brief Wait for an edge of the WUT count register. */ -void MXC_WUT_Edge(void); +__attribute__((deprecated("Use MXC_WUT_WaitForEdge instead. See wut.h for more details."))) void +MXC_WUT_Edge(void); + +/** + * @brief Wait for an edge of the WUT count register. + */ +void MXC_WUT_WaitForEdge(void); + +/** + * @brief Store the count and snapshot values. + */ +__attribute__((deprecated("Use MXC_WUT_StoreCount instead. See wut.h for more details."))) void +MXC_WUT_Store(void); /** * @brief Store the count and snapshot values. */ -void MXC_WUT_Store(void); +void MXC_WUT_StoreCount(void); /** * @brief Restore the DBB clock with the stored count and snapshot values. diff --git a/Libraries/PeriphDrivers/Include/MAX78002/wut.h b/Libraries/PeriphDrivers/Include/MAX78002/wut.h index 8212f907b9..e1405d4573 100644 --- a/Libraries/PeriphDrivers/Include/MAX78002/wut.h +++ b/Libraries/PeriphDrivers/Include/MAX78002/wut.h @@ -150,13 +150,26 @@ uint32_t MXC_WUT_GetCount(void); /** * @brief Clear the timer interrupt. */ -void MXC_WUT_IntClear(void); +__attribute__((deprecated("Use MXC_WUT_ClearFlags instead. See wut.h for more details."))) void +MXC_WUT_IntClear(void); + +/** + * @brief Clear the timer interrupt. + */ +void MXC_WUT_ClearFlags(void); + +/** + * @brief Get the timer interrupt status. + * @return Returns the interrupt status. 1 if interrupt has occurred. + */ +__attribute__((deprecated("Use MXC_WUT_GetFlags instead. See wut.h for more details."))) uint32_t +MXC_WUT_IntStatus(void); /** * @brief Get the timer interrupt status. * @return Returns the interrupt status. 1 if interrupt has occurred. */ -uint32_t MXC_WUT_IntStatus(void); +uint32_t MXC_WUT_GetFlags(void); /** * @brief Set the timer compare count. @@ -195,12 +208,24 @@ int MXC_WUT_GetTime(uint32_t ticks, uint32_t *time, mxc_wut_unit_t *units); /** * @brief Wait for an edge of the WUT count register. */ -void MXC_WUT_Edge(void); +__attribute__((deprecated("Use MXC_WUT_WaitForEdge instead. See wut.h for more details."))) void +MXC_WUT_Edge(void); + +/** + * @brief Wait for an edge of the WUT count register. + */ +void MXC_WUT_WaitForEdge(void); + +/** + * @brief Store the count and snapshot values. + */ +__attribute__((deprecated("Use MXC_WUT_StoreCount instead. See wut.h for more details."))) void +MXC_WUT_Store(void); /** * @brief Store the count and snapshot values. */ -void MXC_WUT_Store(void); +void MXC_WUT_StoreCount(void); /** * @brief Restore the DBB clock with the stored count and snapshot values. diff --git a/Libraries/PeriphDrivers/Source/WUT/wut_ai85.c b/Libraries/PeriphDrivers/Source/WUT/wut_ai85.c index aa1d1887a4..8243c7de9d 100644 --- a/Libraries/PeriphDrivers/Source/WUT/wut_ai85.c +++ b/Libraries/PeriphDrivers/Source/WUT/wut_ai85.c @@ -98,12 +98,24 @@ void MXC_WUT_IntClear(void) MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************* */ +void MXC_WUT_ClearFlags(void) +{ + MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************* */ uint32_t MXC_WUT_IntStatus(void) { return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************* */ +uint32_t MXC_WUT_GetFlags(void) +{ + return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************* */ void MXC_WUT_SetCompare(uint32_t cmp_cnt) { @@ -135,12 +147,24 @@ void MXC_WUT_Edge(void) MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************** */ +void MXC_WUT_WaitForEdge(void) +{ + MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************** */ void MXC_WUT_Store(void) { MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************** */ +void MXC_WUT_StoreCount(void) +{ + MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************** */ void MXC_WUT_RestoreBBClock(uint32_t dbbFreq) { @@ -223,7 +247,7 @@ int MXC_WUT_Handler(void) mxc_wut_complete_cb_t cbTemp; /* Clear the interrupt flags */ - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); if (!trimPending) { return E_NO_ERROR; diff --git a/Libraries/PeriphDrivers/Source/WUT/wut_ai87.c b/Libraries/PeriphDrivers/Source/WUT/wut_ai87.c index 06f97dfa66..458623ce17 100644 --- a/Libraries/PeriphDrivers/Source/WUT/wut_ai87.c +++ b/Libraries/PeriphDrivers/Source/WUT/wut_ai87.c @@ -88,12 +88,24 @@ void MXC_WUT_IntClear(void) MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************* */ +void MXC_WUT_ClearFlags(void) +{ + MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************* */ uint32_t MXC_WUT_IntStatus(void) { return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************* */ +uint32_t MXC_WUT_GetFlags(void) +{ + return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************* */ void MXC_WUT_SetCompare(uint32_t cmp_cnt) { @@ -125,12 +137,24 @@ void MXC_WUT_Edge(void) MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************** */ +void MXC_WUT_WaitForEdge(void) +{ + MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************** */ void MXC_WUT_Store(void) { MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************** */ +void MXC_WUT_StoreCount(void) +{ + MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************** */ void MXC_WUT_RestoreBBClock(uint32_t dbbFreq) { diff --git a/Libraries/PeriphDrivers/Source/WUT/wut_me14.c b/Libraries/PeriphDrivers/Source/WUT/wut_me14.c index 95d829d282..717cf3873c 100644 --- a/Libraries/PeriphDrivers/Source/WUT/wut_me14.c +++ b/Libraries/PeriphDrivers/Source/WUT/wut_me14.c @@ -105,12 +105,24 @@ void MXC_WUT_IntClear(void) MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************* */ +void MXC_WUT_ClearFlags(void) +{ + MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************* */ uint32_t MXC_WUT_IntStatus(void) { return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************* */ +uint32_t MXC_WUT_GetFlags(void) +{ + return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************* */ void MXC_WUT_SetCompare(uint32_t cmp_cnt) { @@ -142,12 +154,24 @@ void MXC_WUT_Edge(void) MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************** */ +void MXC_WUT_WaitForEdge(void) +{ + MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************** */ void MXC_WUT_Store(void) { MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)MXC_WUT); } +/* ************************************************************************** */ +void MXC_WUT_StoreCount(void) +{ + MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)MXC_WUT); +} + /* ************************************************************************** */ void MXC_WUT_RestoreBBClock(uint32_t dbbFreq) { @@ -234,7 +258,7 @@ int MXC_WUT_Handler(void) mxc_wut_complete_cb_t cbTemp; /* Clear the interrupt flags */ - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(); if (!trimPending) { return E_NO_ERROR; diff --git a/Libraries/PeriphDrivers/Source/WUT/wut_me17.c b/Libraries/PeriphDrivers/Source/WUT/wut_me17.c index 021f1861f7..f7da6f83da 100644 --- a/Libraries/PeriphDrivers/Source/WUT/wut_me17.c +++ b/Libraries/PeriphDrivers/Source/WUT/wut_me17.c @@ -98,12 +98,24 @@ void MXC_WUT_IntClear(mxc_wut_regs_t *wut) MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)wut); } +/* ************************************************************************* */ +void MXC_WUT_ClearFlags(mxc_wut_regs_t *wut) +{ + MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)wut); +} + /* ************************************************************************* */ uint32_t MXC_WUT_IntStatus(mxc_wut_regs_t *wut) { return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)wut); } +/* ************************************************************************* */ +uint32_t MXC_WUT_GetFlags(mxc_wut_regs_t *wut) +{ + return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)wut); +} + /* ************************************************************************* */ void MXC_WUT_SetCompare(mxc_wut_regs_t *wut, uint32_t cmp_cnt) { @@ -135,12 +147,24 @@ void MXC_WUT_Edge(mxc_wut_regs_t *wut) MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)wut); } +/* ************************************************************************** */ +void MXC_WUT_WaitForEdge(mxc_wut_regs_t *wut) +{ + MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)wut); +} + /* ************************************************************************** */ void MXC_WUT_Store(mxc_wut_regs_t *wut) { MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)wut); } +/* ************************************************************************** */ +void MXC_WUT_StoreCount(mxc_wut_regs_t *wut) +{ + MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)wut); +} + /* ************************************************************************** */ void MXC_WUT_RestoreBBClock(mxc_wut_regs_t *wut, uint32_t dbbFreq) { @@ -223,7 +247,7 @@ int MXC_WUT_Handler(mxc_wut_regs_t *wut) mxc_wut_complete_cb_t cbTemp; /* Clear the interrupt flags */ - MXC_WUT_IntClear(wut); + MXC_WUT_ClearFlags(wut); if (!trimPending) { return E_NO_ERROR; diff --git a/Libraries/PeriphDrivers/Source/WUT/wut_me18.c b/Libraries/PeriphDrivers/Source/WUT/wut_me18.c index 48913670a0..fb0d32e191 100644 --- a/Libraries/PeriphDrivers/Source/WUT/wut_me18.c +++ b/Libraries/PeriphDrivers/Source/WUT/wut_me18.c @@ -49,130 +49,130 @@ static mxc_wut_complete_cb_t cb_async; /* **** Functions **** */ /* ************************************************************************** */ -void MXC_WUT_Init(mxc_wut_pres_t pres) +void MXC_WUT_Init(mxc_wut_regs_t *wut, mxc_wut_pres_t pres) { #ifndef MSDK_NO_GPIO_CLK_INIT MXC_SYS_ClockSourceEnable(MXC_SYS_CLOCK_ERTCO); #endif - MXC_WUT_RevA_Init((mxc_wut_reva_regs_t *)MXC_WUT, (mxc_wut_reva_pres_t)pres); + MXC_WUT_RevA_Init((mxc_wut_reva_regs_t *)wut, (mxc_wut_reva_pres_t)pres); } /* ************************************************************************** */ -void MXC_WUT_Shutdown(void) +void MXC_WUT_Shutdown(mxc_wut_regs_t *wut) { - MXC_WUT_RevA_Shutdown((mxc_wut_reva_regs_t *)MXC_WUT); + MXC_WUT_RevA_Shutdown((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************** */ -void MXC_WUT_Enable(void) +void MXC_WUT_Enable(mxc_wut_regs_t *wut) { - MXC_WUT_RevA_Enable((mxc_wut_reva_regs_t *)MXC_WUT); + MXC_WUT_RevA_Enable((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************** */ -void MXC_WUT_Disable(void) +void MXC_WUT_Disable(mxc_wut_regs_t *wut) { - MXC_WUT_RevA_Disable((mxc_wut_reva_regs_t *)MXC_WUT); + MXC_WUT_RevA_Disable((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************** */ -void MXC_WUT_Config(const mxc_wut_cfg_t *cfg) +void MXC_WUT_Config(mxc_wut_regs_t *wut, const mxc_wut_cfg_t *cfg) { - MXC_WUT_RevA_Config((mxc_wut_reva_regs_t *)MXC_WUT, (mxc_wut_reva_cfg_t *)cfg); + MXC_WUT_RevA_Config((mxc_wut_reva_regs_t *)wut, (mxc_wut_reva_cfg_t *)cfg); } /* ************************************************************************** */ -uint32_t MXC_WUT_GetCompare(void) +uint32_t MXC_WUT_GetCompare(mxc_wut_regs_t *wut) { - return MXC_WUT_RevA_GetCompare((mxc_wut_reva_regs_t *)MXC_WUT); + return MXC_WUT_RevA_GetCompare((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************** */ -uint32_t MXC_WUT_GetCapture(void) +uint32_t MXC_WUT_GetCapture(mxc_wut_regs_t *wut) { - return MXC_WUT_RevA_GetCapture((mxc_wut_reva_regs_t *)MXC_WUT); + return MXC_WUT_RevA_GetCapture((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************* */ -uint32_t MXC_WUT_GetCount(void) +uint32_t MXC_WUT_GetCount(mxc_wut_regs_t *wut) { - return MXC_WUT_RevA_GetCount((mxc_wut_reva_regs_t *)MXC_WUT); + return MXC_WUT_RevA_GetCount((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************* */ -void MXC_WUT_IntClear(void) +void MXC_WUT_ClearFlags(mxc_wut_regs_t *wut) { - MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)MXC_WUT); + MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************* */ -uint32_t MXC_WUT_IntStatus(void) +uint32_t MXC_WUT_GetFlags(mxc_wut_regs_t *wut) { - return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)MXC_WUT); + return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************* */ -void MXC_WUT_SetCompare(uint32_t cmp_cnt) +void MXC_WUT_SetCompare(mxc_wut_regs_t *wut, uint32_t cmp_cnt) { - MXC_WUT_RevA_SetCompare((mxc_wut_reva_regs_t *)MXC_WUT, cmp_cnt); + MXC_WUT_RevA_SetCompare((mxc_wut_reva_regs_t *)wut, cmp_cnt); } /* ************************************************************************* */ -void MXC_WUT_SetCount(uint32_t cnt) +void MXC_WUT_SetCount(mxc_wut_regs_t *wut, uint32_t cnt) { - MXC_WUT_RevA_SetCount((mxc_wut_reva_regs_t *)MXC_WUT, cnt); + MXC_WUT_RevA_SetCount((mxc_wut_reva_regs_t *)wut, cnt); } /* ************************************************************************* */ -int MXC_WUT_GetTicks(uint32_t time, mxc_wut_unit_t units, uint32_t *ticks) +int MXC_WUT_GetTicks(mxc_wut_regs_t *wut, uint32_t time, mxc_wut_unit_t units, uint32_t *ticks) { - return MXC_WUT_RevA_GetTicks((mxc_wut_reva_regs_t *)MXC_WUT, ERTCO_FREQ, time, + return MXC_WUT_RevA_GetTicks((mxc_wut_reva_regs_t *)wut, ERTCO_FREQ, time, (mxc_wut_reva_unit_t)units, ticks); } /* ************************************************************************* */ -int MXC_WUT_GetTime(uint32_t ticks, uint32_t *time, mxc_wut_unit_t *units) +int MXC_WUT_GetTime(mxc_wut_regs_t *wut, uint32_t ticks, uint32_t *time, mxc_wut_unit_t *units) { - return MXC_WUT_RevA_GetTime((mxc_wut_reva_regs_t *)MXC_WUT, ERTCO_FREQ, ticks, time, + return MXC_WUT_RevA_GetTime((mxc_wut_reva_regs_t *)wut, ERTCO_FREQ, ticks, time, (mxc_wut_reva_unit_t *)units); } /* ************************************************************************** */ -void MXC_WUT_Edge(void) +void MXC_WUT_WaitForEdge(mxc_wut_regs_t *wut) { - MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)MXC_WUT); + MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************** */ -void MXC_WUT_Store(void) +void MXC_WUT_StoreCount(mxc_wut_regs_t *wut) { - MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)MXC_WUT); + MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************** */ -void MXC_WUT_RestoreBBClock(uint32_t dbbFreq) +void MXC_WUT_RestoreBBClock(mxc_wut_regs_t *wut, uint32_t dbbFreq) { - MXC_WUT_RevA_RestoreBBClock((mxc_wut_reva_regs_t *)MXC_WUT, dbbFreq, ERTCO_FREQ); + MXC_WUT_RevA_RestoreBBClock((mxc_wut_reva_regs_t *)wut, dbbFreq, ERTCO_FREQ); } /* ************************************************************************** */ -uint32_t MXC_WUT_GetSleepTicks(void) +uint32_t MXC_WUT_GetSleepTicks(mxc_wut_regs_t *wut) { - return MXC_WUT_RevA_GetSleepTicks((mxc_wut_reva_regs_t *)MXC_WUT); + return MXC_WUT_RevA_GetSleepTicks((mxc_wut_reva_regs_t *)wut); } /* ************************************************************************** */ -void MXC_WUT_Delay_MS(uint32_t waitMs) +void MXC_WUT_Delay_MS(mxc_wut_regs_t *wut, uint32_t waitMs) { - MXC_WUT_RevA_Delay_MS((mxc_wut_reva_regs_t *)MXC_WUT, waitMs, ERTCO_FREQ); + MXC_WUT_RevA_Delay_MS((mxc_wut_reva_regs_t *)wut, waitMs, ERTCO_FREQ); } /* ************************************************************************** */ -static void MXC_WUT_GetWUTSync(uint32_t *wutCnt, uint32_t *snapshot) +static void MXC_WUT_GetWUTSync(mxc_wut_regs_t *wut, uint32_t *wutCnt, uint32_t *snapshot) { - MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)MXC_WUT); - *wutCnt = MXC_WUT->cnt; - *snapshot = MXC_WUT->snapshot; + MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)wut); + *wutCnt = wut->cnt; + *snapshot = wut->snapshot; } /* ************************************************************************** */ @@ -185,24 +185,24 @@ static void MXC_WUT_SetTrim(uint32_t trimValue) } /* ************************************************************************** */ -static int MXC_WUT_StarTrim(void) +static int MXC_WUT_StartTrim(mxc_wut_regs_t *wut) { uint32_t wutCnt0, wutCnt1; uint32_t snapshot0, snapshot1; uint32_t trimValue; /* Make sure the WUT is running in compare mode */ - if (!(MXC_WUT->ctrl & MXC_F_WUT_REVA_CTRL_TEN)) { + if (!(wut->ctrl & MXC_F_WUT_REVA_CTRL_TEN)) { return E_UNINITIALIZED; } - if ((MXC_WUT->ctrl & MXC_F_WUT_CTRL_TMODE) != MXC_S_WUT_CTRL_TMODE_COMPARE) { + if ((wut->ctrl & MXC_F_WUT_CTRL_TMODE) != MXC_S_WUT_CTRL_TMODE_COMPARE) { return E_UNINITIALIZED; } /* Make sure that DBB counter is running */ - MXC_WUT_GetWUTSync(&wutCnt0, &snapshot0); - MXC_WUT_GetWUTSync(&wutCnt1, &snapshot1); + MXC_WUT_GetWUTSync(wut, &wutCnt0, &snapshot0); + MXC_WUT_GetWUTSync(wut, &wutCnt1, &snapshot1); if (snapshot0 == snapshot1) { return E_UNINITIALIZED; } @@ -216,7 +216,7 @@ static int MXC_WUT_StarTrim(void) bestDiff_async = 0xFFFF; /* Get the initial snapshot */ - MXC_WUT_GetWUTSync(&wutCnt0_async, &snapshot0_async); + MXC_WUT_GetWUTSync(wut, &wutCnt0_async, &snapshot0_async); trimPending = 1; @@ -224,7 +224,7 @@ static int MXC_WUT_StarTrim(void) } /* ************************************************************************** */ -int MXC_WUT_Handler(void) +int MXC_WUT_Handler(mxc_wut_regs_t *wut) { uint32_t wutCnt1; uint32_t snapshot1; @@ -235,14 +235,14 @@ int MXC_WUT_Handler(void) mxc_wut_complete_cb_t cbTemp; /* Clear the interrupt flags */ - MXC_WUT_IntClear(); + MXC_WUT_ClearFlags(wut); if (!trimPending) { return E_NO_ERROR; } /* Store the snapshot */ - MXC_WUT_GetWUTSync(&wutCnt1, &snapshot1); + MXC_WUT_GetWUTSync(wut, &wutCnt1, &snapshot1); snapTicks = snapshot1 - snapshot0_async; wutTicks = wutCnt1 - wutCnt0_async; @@ -316,11 +316,11 @@ int MXC_WUT_Handler(void) /* Start the next step */ MXC_WUT_SetTrim(trimValue); - MXC_WUT_GetWUTSync(&wutCnt0_async, &snapshot0_async); + MXC_WUT_GetWUTSync(wut, &wutCnt0_async, &snapshot0_async); if (cb_async != NULL) { /* Prime the compare interrupt */ - MXC_WUT->cmp = MXC_WUT->cnt + WUT_TRIM_TICKS - 1; + wut->cmp = wut->cnt + WUT_TRIM_TICKS - 1; } /* Return E_BUSY to indicate the trim procedure is still running */ @@ -328,7 +328,7 @@ int MXC_WUT_Handler(void) } /* ************************************************************************** */ -int MXC_WUT_TrimCrystal(void) +int MXC_WUT_TrimCrystal(mxc_wut_regs_t *wut) { int err, i; @@ -336,21 +336,21 @@ int MXC_WUT_TrimCrystal(void) cb_async = NULL; /* Start the trim procedure */ - err = MXC_WUT_StarTrim(); + err = MXC_WUT_StartTrim(wut); if (err != E_NO_ERROR) { return err; } do { for (i = 0; i < (WUT_TRIM_TICKS - 1); i++) { - MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)MXC_WUT); + MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)wut); } - } while (MXC_WUT_Handler() != E_NO_ERROR); + } while (MXC_WUT_Handler(wut) != E_NO_ERROR); return E_NO_ERROR; } /* ************************************************************************** */ -int MXC_WUT_TrimCrystalAsync(mxc_wut_complete_cb_t cb) +int MXC_WUT_TrimCrystalAsync(mxc_wut_regs_t *wut, mxc_wut_complete_cb_t cb) { int err; @@ -362,19 +362,19 @@ int MXC_WUT_TrimCrystalAsync(mxc_wut_complete_cb_t cb) cb_async = cb; /* Start the trim procedure */ - err = MXC_WUT_StarTrim(); + err = MXC_WUT_StartTrim(wut); if (err != E_NO_ERROR) { return err; } /* Prime the compare interrupt */ - MXC_WUT->cmp = MXC_WUT->cnt + WUT_TRIM_TICKS - 1; + wut->cmp = wut->cnt + WUT_TRIM_TICKS - 1; return E_NO_ERROR; } /* ************************************************************************** */ -int MXC_WUT_TrimPending(void) +int MXC_WUT_TrimPending(mxc_wut_regs_t *wut) { if (trimPending) { return E_BUSY; diff --git a/Libraries/PeriphDrivers/Source/WUT/wut_me30.c b/Libraries/PeriphDrivers/Source/WUT/wut_me30.c index 2d51c4d2f8..bffcb509d6 100644 --- a/Libraries/PeriphDrivers/Source/WUT/wut_me30.c +++ b/Libraries/PeriphDrivers/Source/WUT/wut_me30.c @@ -96,12 +96,24 @@ void MXC_WUT_IntClear(mxc_wut_regs_t *wut) MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)wut); } +/* ************************************************************************* */ +void MXC_WUT_ClearFlags(mxc_wut_regs_t *wut) +{ + MXC_WUT_RevA_IntClear((mxc_wut_reva_regs_t *)wut); +} + /* ************************************************************************* */ uint32_t MXC_WUT_IntStatus(mxc_wut_regs_t *wut) { return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)wut); } +/* ************************************************************************* */ +uint32_t MXC_WUT_GetFlags(mxc_wut_regs_t *wut) +{ + return MXC_WUT_RevA_IntStatus((mxc_wut_reva_regs_t *)wut); +} + /* ************************************************************************* */ void MXC_WUT_SetCompare(mxc_wut_regs_t *wut, uint32_t cmp_cnt) { @@ -133,12 +145,24 @@ void MXC_WUT_Edge(mxc_wut_regs_t *wut) MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)wut); } +/* ************************************************************************** */ +void MXC_WUT_WaitForEdge(mxc_wut_regs_t *wut) +{ + MXC_WUT_RevA_Edge((mxc_wut_reva_regs_t *)wut); +} + /* ************************************************************************** */ void MXC_WUT_Store(mxc_wut_regs_t *wut) { MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)wut); } +/* ************************************************************************** */ +void MXC_WUT_StoreCount(mxc_wut_regs_t *wut) +{ + MXC_WUT_RevA_Store((mxc_wut_reva_regs_t *)wut); +} + /* ************************************************************************** */ void MXC_WUT_RestoreBBClock(mxc_wut_regs_t *wut, uint32_t dbbFreq) { @@ -223,7 +247,7 @@ int MXC_WUT_Handler(mxc_wut_regs_t *wut) mxc_wut_complete_cb_t cbTemp; /* Clear the interrupt flags */ - MXC_WUT_IntClear(wut); + MXC_WUT_ClearFlags(wut); if (!trimPending) { return E_NO_ERROR; From 1d174f0be31a18c3bbe829af7fa3d774495e7046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tahsin=20T=C3=BCrker=20Mutlug=C3=BCn?= Date: Tue, 17 Dec 2024 01:57:34 +0300 Subject: [PATCH 12/13] fix(PeriphDrivers): Calculate I3C timeout based on data size (#1296) Signed-off-by: Tahsin Mutlugun --- Libraries/PeriphDrivers/Source/I3C/i3c_reva.c | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/Libraries/PeriphDrivers/Source/I3C/i3c_reva.c b/Libraries/PeriphDrivers/Source/I3C/i3c_reva.c index 0c45304424..4ff73b55b0 100644 --- a/Libraries/PeriphDrivers/Source/I3C/i3c_reva.c +++ b/Libraries/PeriphDrivers/Source/I3C/i3c_reva.c @@ -582,6 +582,8 @@ int MXC_I3C_RevA_Controller_Transaction(mxc_i3c_reva_regs_t *i3c, const mxc_i3c_ int ret; uint8_t readCount; uint16_t remaining; + uint32_t timeout; + uint32_t freq; if (MXC_I3C_RevA_Controller_GetState(i3c) != MXC_V_I3C_REVA_CONT_STATUS_STATE_IDLE && MXC_I3C_RevA_Controller_GetState(i3c) != MXC_V_I3C_REVA_CONT_STATUS_STATE_SDR_NORM) { @@ -598,10 +600,12 @@ int MXC_I3C_RevA_Controller_Transaction(mxc_i3c_reva_regs_t *i3c, const mxc_i3c_ if (!req->is_i2c) { ret = MXC_I3C_RevA_EmitStart(i3c, req->is_i2c, MXC_I3C_TRANSFER_TYPE_WRITE, MXC_I3C_BROADCAST_ADDR, 0); - if (ret < 0) { goto err; } + freq = MXC_I3C_RevA_GetPPFrequency(i3c); + } else { + freq = MXC_I3C_RevA_GetI2CFrequency(i3c); } /* Restart with write */ @@ -612,7 +616,13 @@ int MXC_I3C_RevA_Controller_Transaction(mxc_i3c_reva_regs_t *i3c, const mxc_i3c_ goto err; } - ret = MXC_I3C_RevA_WriteTXFIFO(i3c, req->tx_buf, req->tx_len, true, 100); + /* A simple linear estimation to find a reasonable write timeout value, + proportional to clock period and buffer size. Coefficient value has + been found by trial-and-error. + */ + timeout = (uint32_t)(40 * 1000000 / freq) * req->tx_len; + + ret = MXC_I3C_RevA_WriteTXFIFO(i3c, req->tx_buf, req->tx_len, true, timeout); if (ret < 0) { goto err; } @@ -633,8 +643,14 @@ int MXC_I3C_RevA_Controller_Transaction(mxc_i3c_reva_regs_t *i3c, const mxc_i3c_ goto err; } + /* A simple linear estimation to find a reasonable read timeout value, + proportional to clock period and buffer size. Coefficient value has + been found by trial-and-error. + */ + timeout = (uint32_t)(80 * 1000000 / freq) * readCount; + ret = MXC_I3C_RevA_ReadRXFIFO(i3c, req->rx_buf + (req->rx_len - remaining), readCount, - 1000); + timeout); if (ret == readCount) { remaining -= readCount; } else { From 1b95c3c0d3cedfa086518f2c628723007cac838d Mon Sep 17 00:00:00 2001 From: Furkan AKKIZ <94184469+hfakkiz@users.noreply.github.com> Date: Tue, 17 Dec 2024 01:58:41 +0300 Subject: [PATCH 13/13] feat(Other): Enable USB support for Zephyr by adding MAXUSB (#1299) Signed-off-by: Furkan Akkiz --- .github/workflows/scripts/zephyr-hal.sh | 10 ++++++++++ Libraries/MAXUSB/include/core/usb_protocol.h | 3 +++ Libraries/MAXUSB/src/core/musbhsfc/usb.c | 2 ++ Libraries/zephyr/MAX/CMakeLists.txt | 18 ++++++++++++++++++ 4 files changed, 33 insertions(+) diff --git a/.github/workflows/scripts/zephyr-hal.sh b/.github/workflows/scripts/zephyr-hal.sh index 42b212ab5b..8e37ec2282 100644 --- a/.github/workflows/scripts/zephyr-hal.sh +++ b/.github/workflows/scripts/zephyr-hal.sh @@ -25,6 +25,8 @@ rm -rf ${hal_adi}/MAX/ # Create parent folder mkdir -p ${hal_adi}/MAX/Libraries/CMSIS +mkdir -p ${hal_adi}/MAX/Libraries/MAXUSB/include +mkdir -p ${hal_adi}/MAX/Libraries/MAXUSB/src mkdir -p ${hal_adi}/MAX/Libraries/PeriphDrivers # Copy zephyr wrappers, system files and cmakefiles @@ -38,11 +40,19 @@ cp -rf ${msdk}/Libraries/CMSIS/Include ${hal_adi}/MAX/Libraries/CMSIS/ cp -rf ${msdk}/Libraries/PeriphDrivers/Include ${hal_adi}/MAX/Libraries/PeriphDrivers/ cp -rf ${msdk}/Libraries/PeriphDrivers/Source ${hal_adi}/MAX/Libraries/PeriphDrivers/ +# Copy MAXUSB folder +cp -rf ${msdk}/Libraries/MAXUSB/include/core ${hal_adi}/MAX/Libraries/MAXUSB/include/ +cp -rf ${msdk}/Libraries/MAXUSB/src/core ${hal_adi}/MAX/Libraries/MAXUSB/src/ + # Remove unneeded files rm -rf ${hal_adi}/MAX/Libraries/CMSIS/Device/Maxim/GCC rm -rf ${hal_adi}/MAX/Libraries/CMSIS/Device/Maxim/MAX*/Source/IAR rm -rf ${hal_adi}/MAX/Libraries/CMSIS/Device/Maxim/MAX*/Source/GCC rm -rf ${hal_adi}/MAX/Libraries/CMSIS/Device/Maxim/MAX*/Source/ARM +rm -rf ${hal_adi}/MAX/Libraries/MAXUSB/include/core/arm +rm -rf ${hal_adi}/MAX/Libraries/MAXUSB/include/core/maxq +rm -rf ${hal_adi}/MAX/Libraries/MAXUSB/src/core/arm +rm -rf ${hal_adi}/MAX/Libraries/MAXUSB/src/core/maxq # Check either dirty or clean cd ${hal_adi} diff --git a/Libraries/MAXUSB/include/core/usb_protocol.h b/Libraries/MAXUSB/include/core/usb_protocol.h index 58fd33c89b..d1533d2689 100644 --- a/Libraries/MAXUSB/include/core/usb_protocol.h +++ b/Libraries/MAXUSB/include/core/usb_protocol.h @@ -149,7 +149,10 @@ typedef __packed struct { } MXC_USB_interface_descriptor_t; #define USB_EP_NUM_MASK 0x0F + +#ifndef USE_ZEPHYR_USB_STACK #define USB_EP_DIR_MASK 0x80 +#endif #if defined(__GNUC__) typedef struct __attribute__((packed)) { diff --git a/Libraries/MAXUSB/src/core/musbhsfc/usb.c b/Libraries/MAXUSB/src/core/musbhsfc/usb.c index e61a4b687d..ef6b099b4f 100644 --- a/Libraries/MAXUSB/src/core/musbhsfc/usb.c +++ b/Libraries/MAXUSB/src/core/musbhsfc/usb.c @@ -941,7 +941,9 @@ int MXC_USB_GetSetup(MXC_USB_SetupPkt *sud) /* Check for follow-on data and advance state machine */ if (sud->wLength > 0) { +#ifndef USE_ZEPHYR_USB_STACK MXC_USBHS->csr0 |= MXC_F_USBHS_CSR0_SERV_OUTPKTRDY; +#endif /* Determine if IN or OUT data follows */ if (sud->bmRequestType & RT_DEV_TO_HOST) { setup_phase = SETUP_DATA_IN; diff --git a/Libraries/zephyr/MAX/CMakeLists.txt b/Libraries/zephyr/MAX/CMakeLists.txt index 717feffc14..4c00577044 100644 --- a/Libraries/zephyr/MAX/CMakeLists.txt +++ b/Libraries/zephyr/MAX/CMakeLists.txt @@ -46,6 +46,24 @@ zephyr_include_directories( ${MSDK_PERIPH_INC_DIR} ) +if (CONFIG_UDC_MAX32) + zephyr_compile_definitions( + -DUSE_ZEPHYR_USB_STACK=1 + ) + + set(MSDK_MAXUSB_DIR ${MSDK_LIBRARY_DIR}/MAXUSB) + + zephyr_include_directories( + ${MSDK_MAXUSB_DIR}/include/core + ${MSDK_MAXUSB_DIR}/include/core/musbhsfc + ) + + zephyr_library_sources( + ${MSDK_MAXUSB_DIR}/src/core/usb_event.c + ${MSDK_MAXUSB_DIR}/src/core/musbhsfc/usb.c + ) +endif() + add_subdirectory_ifdef(CONFIG_SOC_MAX32520 Source/MAX32520) add_subdirectory_ifdef(CONFIG_SOC_MAX32570 Source/MAX32570) add_subdirectory_ifdef(CONFIG_SOC_MAX32572 Source/MAX32572)

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 z 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