new boards tested
[gnuk/neug.git] / src / sys.h
index 3884c95..370aa1c 100644 (file)
--- a/src/sys.h
+++ b/src/sys.h
@@ -1,7 +1,21 @@
+#define BOARD_ID_CQ_STARM          0xc5480875
+#define BOARD_ID_FST_01_00         0x613870a9
+#define BOARD_ID_FST_01            0x696886af
+#define BOARD_ID_MAPLE_MINI        0x7a445272
+#define BOARD_ID_OLIMEX_STM32_H103 0xf92bb594
+#define BOARD_ID_STBEE_MINI        0x1f341961
+#define BOARD_ID_STBEE             0x945c37e8
+#define BOARD_ID_STM32_PRIMER2     0x21e5798d
+#define BOARD_ID_STM8S_DISCOVERY   0x2f0976bb
+#define BOARD_ID_ST_DONGLE         0x2cd4e471
+#define BOARD_ID_ST_NUCLEO_F103    0x9b87c16d
+
 extern const uint8_t sys_version[8];
+extern const uint32_t sys_board_id;
+extern const uint8_t sys_board_name[];
 
 typedef void (*handler)(void);
-extern handler vector[14];
+extern handler vector[16];
 
 static inline const uint8_t *
 unique_device_id (void)
@@ -93,3 +107,23 @@ nvic_system_reset (void)
 {
   (*vector[12]) ();
 }
+
+/*
+ * 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)
+{
+  (*vector[13]) ();
+}
+
+static INLINE void
+gpio_init (void)
+{
+  (*vector[14]) ();
+}