aboutsummaryrefslogtreecommitdiff
path: root/example-fs-bb48/sys.h
diff options
context:
space:
mode:
Diffstat (limited to 'example-fs-bb48/sys.h')
-rw-r--r--example-fs-bb48/sys.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/example-fs-bb48/sys.h b/example-fs-bb48/sys.h
new file mode 100644
index 0000000..c13978c
--- /dev/null
+++ b/example-fs-bb48/sys.h
@@ -0,0 +1,38 @@
+extern const uint8_t sys_version[8];
+extern const uint32_t sys_board_id;
+extern const char *const sys_board_name;
+
+typedef void (*handler)(void);
+extern handler sys_vector[16];
+
+/*
+ * Users can override INLINE by 'attribute((used))' to have an
+ * implementation defined.
+ */
+#if !defined(INLINE)
+#define INLINE __inline__
+#endif
+
+static INLINE void
+clock_init (void)
+{
+ (*sys_vector[0]) ();
+}
+
+static INLINE void
+gpio_init (void)
+{
+ (*sys_vector[1]) ();
+}
+
+static inline void
+set_led (int on)
+{
+ void (*func) (int) = (void (*)(int))sys_vector[2];
+
+ return (*func) (on);
+}
+
+void crc32_init (unsigned int *);
+void crc32_u8 (unsigned int *, unsigned char);
+void crc32_u32 (unsigned int *, unsigned int);