diff --git a/sdk/Libraries/CMSIS/Device/Maxim/MAX32665/Source/system_max32665.c b/sdk/Libraries/CMSIS/Device/Maxim/MAX32665/Source/system_max32665.c index 4501a49f0b42a92e86997259a8ad16fbd3a78562..0e515a35cb504cd5080472ea9e0dffb708c3558d 100644 --- a/sdk/Libraries/CMSIS/Device/Maxim/MAX32665/Source/system_max32665.c +++ b/sdk/Libraries/CMSIS/Device/Maxim/MAX32665/Source/system_max32665.c @@ -159,11 +159,27 @@ __weak void SystemInit(void) // Set all GPIO to 25K pullup mode by default SYS_ClockEnable(SYS_PERIPH_CLOCK_GPIO0); SYS_ClockEnable(SYS_PERIPH_CLOCK_GPIO1); - MXC_GPIO0->vssel |= 0xFFFFFFFF; + + // All GPIO on port 0 to 1.8 V first + MXC_GPIO0->vssel = 0; + MXC_GPIO0->vssel |= (1UL << 0) | (1UL << 1) | (1UL << 2) | (1UL << 3) | (1UL << 4) | (1UL << 5); // Flash + MXC_GPIO0->vssel |= (1UL << 6) | ( 1UL << 7); // USB I2C + MXC_GPIO0->vssel |= (1UL << 8); // Motor FET + MXC_GPIO0->vssel |= (1UL << 9) | (1UL << 10); // USB UART + MXC_GPIO0->vssel |= (1UL << 20) | (1UL << 21) | (1UL << 22) | (1UL << 29); // Wristband + MXC_GPIO0->vssel |= (1UL << 17) | (1UL << 23) | (1UL << 28); // GPIO to TOP + MXC_GPIO0->vssel |= (1UL << 31); // ECG Switch + MXC_GPIO0->ps |= 0xFFFFFFFF; MXC_GPIO0->pad_cfg1 |= 0xFFFFFFFF; MXC_GPIO0->pad_cfg2 &= ~(0xFFFFFFFF); - MXC_GPIO1->vssel |= 0xFFFFFFFF; + + // All GPIO on port 1 to 1.8 V first + MXC_GPIO1->vssel = 0; + MXC_GPIO0->vssel |= (1UL << 0) | (1UL << 1) | (1UL << 2) | (1UL << 3) | (1UL << 4) | (1UL << 5); // SDHC + MXC_GPIO1->vssel |= (1 << 6) | (1 << 7); // GPIO to TOP + MXC_GPIO1->vssel |= (1 << 14) | (1 << 15); // GPIO for RGB LEDs + MXC_GPIO1->ps |= 0xFFFFFFFF; MXC_GPIO1->pad_cfg1 |= 0xFFFFFFFF; MXC_GPIO1->pad_cfg2 &= ~(0xFFFFFFFF);