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);