From a5f58bfb3a5f8c8eda1d2090eb19fec149efba44 Mon Sep 17 00:00:00 2001
From: Lightos1 <124387232+Lightos1@users.noreply.github.com>
Date: Fri, 20 Mar 2026 21:16:49 +0100
Subject: [PATCH] add profile stuff
---
.../sysmodule/src/board/board_profile.cpp | 56 +++++++++++++++++++
.../sysmodule/src/board/board_profile.hpp | 34 +++++++++++
2 files changed, 90 insertions(+)
create mode 100644 Source/rewrite-hoc-clk/sysmodule/src/board/board_profile.cpp
create mode 100644 Source/rewrite-hoc-clk/sysmodule/src/board/board_profile.hpp
diff --git a/Source/rewrite-hoc-clk/sysmodule/src/board/board_profile.cpp b/Source/rewrite-hoc-clk/sysmodule/src/board/board_profile.cpp
new file mode 100644
index 00000000..8c86828f
--- /dev/null
+++ b/Source/rewrite-hoc-clk/sysmodule/src/board/board_profile.cpp
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) Souldbminer, Lightos_ and Horizon OC Contributors
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+/* --------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * , ,
+ * wrote this file. As long as you retain this notice you can do whatever you
+ * want with this stuff. If you meet any of us some day, and you think this
+ * stuff is worth it, you can buy us a beer in return. - The sys-clk authors
+ * --------------------------------------------------------------------------
+ */
+
+#include
+#include
+#include
+
+namespace board {
+
+ SysClkProfile GetProfile() {
+ u32 mode = 0;
+ Result rc = apmExtGetPerformanceMode(&mode);
+ ASSERT_RESULT_OK(rc, "apmExtGetPerformanceMode");
+
+ if (mode) {
+ return SysClkProfile_Docked;
+ }
+
+ PsmChargerType chargerType;
+
+ rc = psmGetChargerType(&chargerType);
+ ASSERT_RESULT_OK(rc, "psmGetChargerType");
+
+ if (chargerType == PsmChargerType_EnoughPower) {
+ return SysClkProfile_HandheldChargingOfficial;
+ } else if (chargerType == PsmChargerType_LowPower) {
+ return SysClkProfile_HandheldChargingUSB;
+ }
+
+ return SysClkProfile_Handheld;
+ }
+
+}
diff --git a/Source/rewrite-hoc-clk/sysmodule/src/board/board_profile.hpp b/Source/rewrite-hoc-clk/sysmodule/src/board/board_profile.hpp
new file mode 100644
index 00000000..a36d990b
--- /dev/null
+++ b/Source/rewrite-hoc-clk/sysmodule/src/board/board_profile.hpp
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) Souldbminer, Lightos_ and Horizon OC Contributors
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+/* --------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * , ,
+ * wrote this file. As long as you retain this notice you can do whatever you
+ * want with this stuff. If you meet any of us some day, and you think this
+ * stuff is worth it, you can buy us a beer in return. - The sys-clk authors
+ * --------------------------------------------------------------------------
+ */
+
+#pragma once
+#include
+
+namespace board {
+
+ SysClkProfile GetProfile();
+
+}