From f886e7557e98ebaea0b40e7c99b58585bc1c1df1 Mon Sep 17 00:00:00 2001
From: schneider <schneider@blinkenlichts.net>
Date: Mon, 29 Nov 2021 18:17:06 +0100
Subject: [PATCH] clock: Raise clock speed for BLE to work while sleeping

---
 epicardium/main.c    | 5 +++++
 epicardium/support.c | 2 --
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/epicardium/main.c b/epicardium/main.c
index 6b6dd641..51f4bcf8 100644
--- a/epicardium/main.c
+++ b/epicardium/main.c
@@ -98,6 +98,11 @@ int main(void)
 	disp_ctx_reinit();
 #endif
 
+	epic_gpio_set_pin_mode(EPIC_GPIO_WRISTBAND_1, EPIC_GPIO_MODE_OUT);
+	epic_gpio_set_pin_mode(EPIC_GPIO_WRISTBAND_2, EPIC_GPIO_MODE_OUT);
+	epic_gpio_set_pin_mode(EPIC_GPIO_WRISTBAND_3, EPIC_GPIO_MODE_OUT);
+	epic_gpio_set_pin_mode(EPIC_GPIO_WRISTBAND_4, EPIC_GPIO_MODE_OUT);
+
 	epic_leds_clear_all(0, 0, 0);
 
 	LOG_DEBUG("startup", "Initializing tasks ...");
diff --git a/epicardium/support.c b/epicardium/support.c
index 238a59ed..023d3e70 100644
--- a/epicardium/support.c
+++ b/epicardium/support.c
@@ -61,7 +61,6 @@ void pre_idle_sleep(TickType_t xExpectedIdleTime)
 			if (usb_get_status() & MAXUSB_STATUS_VBUS_ON) {
 				SYS_Clock_Select(SYS_CLOCK_HIRC, NULL);
 			} else {
-				MXC_GCR->clkcn |= MXC_S_GCR_CLKCN_PSC_DIV4;
 				SYS_Clock_Select(SYS_CLOCK_HIRC, NULL);
 				SYS_ClockSourceDisable(SYS_CLOCK_HIRC96);
 			}
@@ -69,7 +68,6 @@ void pre_idle_sleep(TickType_t xExpectedIdleTime)
 			__asm volatile("dsb" ::: "memory");
 			__asm volatile("wfe");
 			__asm volatile("isb");
-			MXC_GCR->clkcn &= ~(MXC_S_GCR_CLKCN_PSC_DIV4);
 			SYS_Clock_Select(SYS_CLOCK_HIRC96, NULL);
 			disp_update_backlight_clock();
 			SYS_ClockSourceDisable(SYS_CLOCK_HIRC);
-- 
GitLab