aboutsummaryrefslogtreecommitdiffstats
path: root/src/ar100/util.c
diff options
context:
space:
mode:
authorElias Bakken <elias@iagent.no>2023-02-21 02:15:01 +0100
committerGitHub <noreply@github.com>2023-02-20 20:15:01 -0500
commitb7978d37b360fb270782a8db5d690342654e6977 (patch)
tree5383243d85dee85a521f466ac966460ee092efa2 /src/ar100/util.c
parentd7bd7f1f4ba6cecd19daa566fdc1864561269ae1 (diff)
downloadkutter-b7978d37b360fb270782a8db5d690342654e6977.tar.gz
kutter-b7978d37b360fb270782a8db5d690342654e6977.tar.xz
kutter-b7978d37b360fb270782a8db5d690342654e6977.zip
ar100: Support for ar100 (#6054)
Add files to support AR100 Signed-off-by: Elias Bakken <elias@iagent.no>
Diffstat (limited to 'src/ar100/util.c')
-rw-r--r--src/ar100/util.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/ar100/util.c b/src/ar100/util.c
new file mode 100644
index 00000000..7f2f9cf7
--- /dev/null
+++ b/src/ar100/util.c
@@ -0,0 +1,34 @@
+// Helper functions for ar100
+//
+// Copyright (C) 2020-2021 Elias Bakken <elias@iagent.no>
+//
+// This file may be distributed under the terms of the GNU GPLv3 license.
+
+#include "util.h"
+
+void *memcpy(void *restrict dest, const void *restrict src, size_t n){
+ // Typecast src and dest addresses to (char *)
+ char *csrc = (char *)src;
+ char *cdest = (char *)dest;
+
+ // Copy contents of src[] to dest[]
+ for (int i=0; i<n; i++)
+ cdest[i] = csrc[i];
+ return dest;
+}
+
+void *memset(void *dest, int c, size_t n){
+ unsigned char *s = dest;
+ for(; n; n--){
+ *s++ = c;
+ }
+ return dest;
+}
+
+void set_bit(uint32_t addr, uint8_t bit){
+ write_reg(addr, read_reg(addr) | (1<<bit));
+}
+
+void clear_bit(uint32_t addr, uint8_t bit){
+ write_reg(addr, read_reg(addr) & ~(1<<bit));
+}