diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/aeskeys_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/aeskeys_regs.h
index ef24ad9635e..da614bb6b21 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/aeskeys_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/aeskeys_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/ctb_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/ctb_regs.h
index 4d0f8be27e4..4228bf6860e 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/ctb_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/ctb_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/dma_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/dma_regs.h
index 0604cd72a8d..c31a69507f9 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/dma_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/dma_regs.h
@@ -50,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
@@ -88,7 +92,7 @@ typedef struct {
__IO uint32_t cn; /**< \b 0x000: DMA CN Register */
__I uint32_t intr; /**< \b 0x004: DMA INTR Register */
__R uint32_t rsv_0x8_0xff[62];
- __IO mxc_dma_ch_regs_t ch[8]; /**< \b 0x100: DMA CH Register */
+ __IO mxc_dma_ch_regs_t ch[8]; /**< \b 0x100: DMA CH Register */
} mxc_dma_regs_t;
/* Register offsets for module DMA */
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/fcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/fcr_regs.h
index 5a445485b71..22d31cbb43f 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/fcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/fcr_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/flc_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/flc_regs.h
index 37277ed8043..0dbb893a5fb 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/flc_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/flc_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/gcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/gcr_regs.h
index d37e1ac812b..8c6b1f79eb0 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/gcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/gcr_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/gpio_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/gpio_regs.h
index 3de904f5573..116b9a568cb 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/gpio_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/gpio_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/i2c_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/i2c_regs.h
index 6fd31c204f2..e386398e6d6 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/i2c_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/i2c_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/icc_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/icc_regs.h
index edd539931b2..adf8b7828c7 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/icc_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/icc_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/mcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/mcr_regs.h
index e76a50c4477..e38361efe90 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/mcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/mcr_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/pwrseq_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/pwrseq_regs.h
index f4458eadb9b..70b50fb7ae3 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/pwrseq_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/pwrseq_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/sfe_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/sfe_regs.h
index 3cae74402d4..88c17439bd0 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/sfe_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/sfe_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/sir_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/sir_regs.h
index 58b5b0667d7..3ee490f22cb 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/sir_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/sir_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/smon_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/smon_regs.h
index 5ae6aff115a..fe4a0ca052d 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/smon_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/smon_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/spi_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/spi_regs.h
index fd7bbf91a0c..9f1201c1221 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/spi_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/spi_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/tmr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/tmr_regs.h
index 19a42e09f3a..657fb0372e4 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/tmr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/tmr_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/trng_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/trng_regs.h
index a48d10fa24b..5e226ebcb08 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/trng_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/trng_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/uart_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/uart_regs.h
index b837fb2be37..d44a60f1914 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/uart_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/uart_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/wdt_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/wdt_regs.h
index 835a8c40fa7..8e4ef542e21 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32520/Include/wdt_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32520/Include/wdt_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/adc_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/adc_regs.h
index a817c52dbb7..c3c5537be3b 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/adc_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/adc_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/aes_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/aes_regs.h
index bb533a2fd89..5d4ecabfb26 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/aes_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/aes_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/aeskeys_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/aeskeys_regs.h
index 85b73126ab3..ceff45c85f1 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/aeskeys_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/aeskeys_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_adc_one_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_adc_one_regs.h
index 310cfe77b67..dd7de652c6e 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_adc_one_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_adc_one_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_adc_zero_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_adc_zero_regs.h
index 949029fc267..539e23b11e0 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_adc_zero_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_adc_zero_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_dac_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_dac_regs.h
index a9953a453fa..583f08cf3ea 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_dac_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_dac_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_hart_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_hart_regs.h
index 7ac2675f937..836c800a991 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_hart_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/afe_hart_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/crc_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/crc_regs.h
index adf5ca1c914..25c6820a720 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/crc_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/crc_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/dma_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/dma_regs.h
index f0f6b9b475f..8131b85045c 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/dma_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/dma_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/dvs_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/dvs_regs.h
index 91ea6ef8e4e..0ca668fd0fc 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/dvs_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/dvs_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/fcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/fcr_regs.h
index 0df60946ee0..5594f8a1e7b 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/fcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/fcr_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/flc_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/flc_regs.h
index 960dc7b5f86..dccaf4e6fa7 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/flc_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/flc_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcfr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcfr_regs.h
index 30e9ce7717d..d71655d24d2 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcfr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcfr_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcr_regs.h
index ff049258432..b342915faa1 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcr_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gpio_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gpio_regs.h
index 1f3604f5547..111608e9e0c 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gpio_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gpio_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/i2c_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/i2c_regs.h
index 87c47a595a7..62194aee5e5 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/i2c_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/i2c_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/i2s_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/i2s_regs.h
index 943d6d39920..55662dd96ab 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/i2s_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/i2s_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/icc_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/icc_regs.h
index 17a37c41c2a..132e58862a0 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/icc_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/icc_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/lpcmp_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/lpcmp_regs.h
index bb3e1696d03..f8e10721f43 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/lpcmp_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/lpcmp_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/lpgcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/lpgcr_regs.h
index 380b507a5db..118514b472f 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/lpgcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/lpgcr_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/mcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/mcr_regs.h
index b9472190005..85eea183755 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/mcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/mcr_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/owm_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/owm_regs.h
index 3aa62b1e9c5..176c5ba69fb 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/owm_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/owm_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/pt_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/pt_regs.h
index b99e56ceb78..936ada4affb 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/pt_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/pt_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/ptg_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/ptg_regs.h
index 26078a7f4e2..cb8c2f8dde7 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/ptg_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/ptg_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/pwrseq_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/pwrseq_regs.h
index fd253a20a43..c1d0c30da4f 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/pwrseq_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/pwrseq_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/rtc_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/rtc_regs.h
index 6279e98ae72..085457695d0 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/rtc_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/rtc_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sema_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sema_regs.h
index c11a4213f8a..471a6f0b175 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sema_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sema_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/simo_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/simo_regs.h
index b8f06b0be59..c7cc4c0a76d 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/simo_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/simo_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sir_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sir_regs.h
index 4f8c04c21dc..68e051d504a 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sir_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sir_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/spi_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/spi_regs.h
index 91247840486..fedb58174d6 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/spi_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/spi_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/tmr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/tmr_regs.h
index e4a6c3e0479..045d69e6d47 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/tmr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/tmr_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/trimsir_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/trimsir_regs.h
index 4b7f0c56bda..8cdf00c534b 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/trimsir_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/trimsir_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/trng_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/trng_regs.h
index 040abdec55e..828cf4c8842 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/trng_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/trng_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/uart_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/uart_regs.h
index a7b6a6dfe55..7d2cfd0e515 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/uart_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/uart_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/wdt_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/wdt_regs.h
index 6ae7e523c88..b47a5f23599 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/wdt_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/wdt_regs.h
@@ -50,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
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/wut_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/wut_regs.h
index 05cfec40e84..6f0caa229f8 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/wut_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/wut_regs.h
@@ -50,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