From 6546df08d5c4cd6b0b5f92ac4d4de0b156480cec Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Thu, 2 Nov 2023 12:52:58 +0100 Subject: [PATCH] UNO R4: add function to restore P214/P215 input capability The function is not being called by default since the pins are unused on both Minima and WiFi. A third party, however, can just call it inside initVariant() to enable the pins --- variants/MINIMA/variant.cpp | 5 +++++ variants/UNOWIFIR4/variant.cpp | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/variants/MINIMA/variant.cpp b/variants/MINIMA/variant.cpp index 02c48b595..794854bdf 100644 --- a/variants/MINIMA/variant.cpp +++ b/variants/MINIMA/variant.cpp @@ -79,6 +79,11 @@ void usb_post_initialization() { ((R_USB_FS0_Type*)R_USB_FS0_BASE)->USBMC_b.VDCEN = 1; } +void enableSubclockInputPins() { + R_BSP_RegisterProtectDisable(BSP_REG_PROTECT_CGC); + R_SYSTEM->SOSCCR_b.SOSTP = 1; + R_BSP_RegisterProtectEnable(BSP_REG_PROTECT_CGC); +} void initVariant() { // bootloader configures LED_BUILTIN as PWM output, deconfigure it to avoid spurious signals diff --git a/variants/UNOWIFIR4/variant.cpp b/variants/UNOWIFIR4/variant.cpp index dddc5415f..91542247d 100644 --- a/variants/UNOWIFIR4/variant.cpp +++ b/variants/UNOWIFIR4/variant.cpp @@ -108,6 +108,12 @@ void usb_post_initialization() { ((R_USB_FS0_Type*)R_USB_FS0_BASE)->USBMC_b.VDCEN = 1; } +void enableSubclockInputPins() { + R_BSP_RegisterProtectDisable(BSP_REG_PROTECT_CGC); + R_SYSTEM->SOSCCR_b.SOSTP = 1; + R_BSP_RegisterProtectEnable(BSP_REG_PROTECT_CGC); +} + void initVariant() { __maybe_start_usb(); // bootloader configures LED_BUILTIN as PWM output, deconfigure it to avoid spurious signals