summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/include/rf/trf6151.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/target/firmware/include/rf/trf6151.h')
-rw-r--r--src/target/firmware/include/rf/trf6151.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/target/firmware/include/rf/trf6151.h b/src/target/firmware/include/rf/trf6151.h
new file mode 100644
index 00000000..41cbe6c4
--- /dev/null
+++ b/src/target/firmware/include/rf/trf6151.h
@@ -0,0 +1,35 @@
+#ifndef _TRF6151_H
+#define _TRF6151_H
+
+#include <gsm.h>
+
+/* initialize (reset + power up) */
+void trf6151_init(void);
+
+/* switch power off or on */
+void trf6151_power(int on);
+
+/* set the VGA and RF gain */
+int trf6151_set_gain(uint8_t dbm, int high);
+
+/* obtain the current total gain of the TRF6151 */
+uint8_t trf6151_get_gain(void);
+
+/* Request the PLL to be tuned to the given frequency */
+void trf6151_set_arfcn(uint16_t arfcn, int uplink);
+
+enum trf6151_mode {
+ TRF6151_IDLE,
+ TRF6151_RX,
+ TRF6151_TX,
+};
+
+/* Set the operational mode of the TRF6151 chip */
+void trf6151_set_mode(enum trf6151_mode mode);
+
+void trf6151_test(uint16_t arfcn);
+
+/* prepare a Rx window with the TRF6151 finished at time 'start' (in qbits) */
+void trf6151_rx_window(int16_t start_qbits, uint16_t arfcn, uint8_t vga_dbm, int rf_gain_high);
+
+#endif /* TRF6151_H */