icE1usb fw: Add GPSDO VCXO trimming loop
Rather basic and not super well tested, use with caution
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Change-Id: I5f9ce6621492be967d6a44d31f270e107f3ef686
diff --git a/firmware/ice40-riscv/icE1usb/gpsdo.h b/firmware/ice40-riscv/icE1usb/gpsdo.h
new file mode 100644
index 0000000..181e4b9
--- /dev/null
+++ b/firmware/ice40-riscv/icE1usb/gpsdo.h
@@ -0,0 +1,16 @@
+/*
+ * gpsdo.h
+ *
+ * Copyright (C) 2019-2022 Sylvain Munaut <tnt@246tNt.com>
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ */
+
+#pragma once
+
+enum gpsdo_vctxo_model {
+ VCTXO_TAITIEN_VT40 = 0, /* VTEUALJANF-30.720000 */
+ VCTXO_SITIME_SIT3808_E = 1, /* SIT3808AI-D2-33EE-30.720000T */
+};
+
+void gpsdo_poll(void);
+void gpsdo_init(enum gpsdo_vctxo_model vctxo);