summaryrefslogtreecommitdiff
path: root/src/kernel
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-09-11 18:53:15 -0700
committerKeith Packard <keithp@keithp.com>2018-10-13 08:23:25 -0700
commit44ae8b9317fa4aaccabbe9d07b5972f7dfd3baa2 (patch)
tree39997d0c99ff79dd3a0dd4286157e1c8ee45ddaa /src/kernel
parent32463323d888d2b36d4b993d82e2522e1b236299 (diff)
altos: Clean up AO_ROMCONFIG bits
Remove address parameter (doesn't work with gcc), create shared ao_romconfig in kernel. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/ao.h13
-rw-r--r--src/kernel/ao_product.c2
-rw-r--r--src/kernel/ao_romconfig.c26
3 files changed, 40 insertions, 1 deletions
diff --git a/src/kernel/ao.h b/src/kernel/ao.h
index 1b269d73..9baae8b4 100644
--- a/src/kernel/ao.h
+++ b/src/kernel/ao.h
@@ -82,6 +82,19 @@ void
ao_panic(uint8_t reason);
/*
+ * ao_romconfig.c
+ */
+
+#define AO_ROMCONFIG_VERSION 2
+
+extern AO_ROMCONFIG_SYMBOL uint16_t ao_romconfig_version;
+extern AO_ROMCONFIG_SYMBOL uint16_t ao_romconfig_check;
+extern AO_ROMCONFIG_SYMBOL uint16_t ao_serial_number;
+#if HAS_RADIO
+extern AO_ROMCONFIG_SYMBOL uint32_t ao_radio_cal;
+#endif
+
+/*
* ao_timer.c
*/
diff --git a/src/kernel/ao_product.c b/src/kernel/ao_product.c
index 4c2d83ef..72488654 100644
--- a/src/kernel/ao_product.c
+++ b/src/kernel/ao_product.c
@@ -61,7 +61,7 @@ const char ao_product[] = AO_iProduct_STRING;
#define NUM_INTERFACES (AO_USB_HAS_INT + 1)
/* USB descriptors in one giant block of bytes */
-AO_ROMCONFIG_SYMBOL(0x00aa) uint8_t ao_usb_descriptors [] =
+AO_ROMCONFIG_SYMBOL uint8_t ao_usb_descriptors [] =
{
/* Device descriptor */
0x12,
diff --git a/src/kernel/ao_romconfig.c b/src/kernel/ao_romconfig.c
new file mode 100644
index 00000000..b75142f5
--- /dev/null
+++ b/src/kernel/ao_romconfig.c
@@ -0,0 +1,26 @@
+/*
+ * Copyright © 2011 Keith Packard <keithp@keithp.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that 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, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+#include "ao.h"
+
+AO_ROMCONFIG_SYMBOL uint16_t ao_romconfig_version = AO_ROMCONFIG_VERSION;
+AO_ROMCONFIG_SYMBOL uint16_t ao_romconfig_check = ~AO_ROMCONFIG_VERSION;
+AO_ROMCONFIG_SYMBOL uint16_t ao_serial_number = 0;
+#if HAS_RADIO
+AO_ROMCONFIG_SYMBOL uint32_t ao_radio_cal = AO_RADIO_CAL_DEFAULT;
+#endif