summaryrefslogtreecommitdiff
path: root/src/arch/infineon-tc397-mock/arch.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/infineon-tc397-mock/arch.cc')
-rw-r--r--src/arch/infineon-tc397-mock/arch.cc60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/arch/infineon-tc397-mock/arch.cc b/src/arch/infineon-tc397-mock/arch.cc
new file mode 100644
index 0000000..e219da5
--- /dev/null
+++ b/src/arch/infineon-tc397-mock/arch.cc
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2022 Daniel Friesel
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+#include "arch.h"
+
+#ifdef __acweaving
+#define __delay_cycles(x)
+#endif
+
+void Arch::setup(void)
+{
+}
+
+#ifdef CONFIG_wakeup
+extern void wakeup();
+#endif
+
+#if defined(CONFIG_loop)
+extern void loop();
+volatile char run_loop = 0;
+#endif
+
+volatile bool sleep_done = false;
+
+void Arch::sleep_ms(unsigned int const ms)
+{
+}
+
+void Arch::delay_us(unsigned int const us)
+{
+}
+void Arch::delay_ms(unsigned int const ms)
+{
+}
+
+void Arch::idle_loop(void)
+{
+ while (1) {
+#if defined(CONFIG_loop)
+ if (run_loop) {
+ loop();
+ run_loop = 0;
+ }
+#endif
+#ifdef CONFIG_wakeup
+ wakeup();
+#endif
+ }
+}
+
+void Arch::idle(void)
+{
+#ifdef CONFIG_wakeup
+ wakeup();
+#endif
+}
+
+Arch arch;