Add gnss 8122 support.
Change-Id: I71457eea400e55d41c59a12549b2eec5cc5e5183
diff --git a/mbtk/mbtk_gnssd/gnss_hd8122.c b/mbtk/mbtk_gnssd/gnss_hd8122.c
new file mode 100755
index 0000000..dc36267
--- /dev/null
+++ b/mbtk/mbtk_gnssd/gnss_hd8122.c
@@ -0,0 +1,69 @@
+/*
+* gnss_hd8122.c
+*
+* HD8122 GNSS source.
+*
+*/
+/******************************************************************************
+
+ EDIT HISTORY FOR FILE
+
+ WHEN WHO WHAT,WHERE,WHY
+-------- -------- -------------------------------------------------------
+2024/6/14 LiuBin Initial version
+
+******************************************************************************/
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
+#include <fcntl.h>
+
+#include "mbtk_log.h"
+#include "mbtk_type.h"
+#include "mbtk_gpio.h"
+#include "gnss_utils.h"
+#include "gnss_hd8122.h"
+
+#define UART_BITRATE_NMEA_DEF_FW 115200 // Default bitrate.
+#define GNSS_POWER_GPIO 43
+
+static pthread_cond_t read_cond;
+static pthread_mutex_t read_mutex;
+
+
+int gnss_8122_dev_open()
+{
+ return mbtk_gpio_value_set(GNSS_POWER_GPIO, MBTK_GPIO_DIRECT_OUT, 1);
+}
+
+int gnss_8122_dev_close()
+{
+ return mbtk_gpio_value_set(GNSS_POWER_GPIO, MBTK_GPIO_DIRECT_OUT, 0);
+}
+
+int gnss_8122_open(const char *dev)
+{
+ pthread_mutex_init(&read_mutex, NULL);
+ pthread_cond_init(&read_cond, NULL);
+ return gnss_port_open(dev, O_RDWR | O_NONBLOCK | O_NOCTTY, UART_BITRATE_NMEA_DEF_FW, TRUE);
+}
+
+int gnss_8122_close(int fd)
+{
+ pthread_mutex_destroy(&read_mutex);
+ pthread_cond_destroy(&read_cond);
+ return gnss_port_close(fd);
+}
+
+int gnss_8122_fw_dl()
+{
+ return 0;
+}
+
+
+gnss_err_enum gnss_8122_set(int fd, const char *cmd, void *cmd_rsp, int cmd_rsp_len)
+{
+ return GNSS_ERR_OK;
+}
+