diff --git a/libraries/AP_HAL/AP_HAL_Namespace.h b/libraries/AP_HAL/AP_HAL_Namespace.h
index 7e3be1d78d83ccabc4c6d24603cbf56fd89d89d0..7c62a191f7997e77cced2f71941a9290abdc337a 100644
--- a/libraries/AP_HAL/AP_HAL_Namespace.h
+++ b/libraries/AP_HAL/AP_HAL_Namespace.h
@@ -57,7 +57,8 @@ namespace AP_HAL {
         SPIDevice_L3GD20            = 7,
         SPIDevice_LSM303D           = 8,        
         SPIDevice_LSM9DS0_AM        = 9,
-        SPIDevice_LSM9DS0_G         = 10
+        SPIDevice_LSM9DS0_G         = 10,
+        SPIDevice_Ublox             = 11
     };
 
 }
diff --git a/libraries/AP_HAL_Linux/SPIDriver.cpp b/libraries/AP_HAL_Linux/SPIDriver.cpp
index e8cfd18a999797f4d78cf2287c3fbe0bc969f7d8..685bca98e44f339a8b651c2151d15d1e05ecd396 100644
--- a/libraries/AP_HAL_Linux/SPIDriver.cpp
+++ b/libraries/AP_HAL_Linux/SPIDriver.cpp
@@ -35,6 +35,7 @@ LinuxSPIDeviceDriver LinuxSPIDeviceManager::_device[LINUX_SPI_DEVICE_NUM_DEVICES
 LinuxSPIDeviceDriver LinuxSPIDeviceManager::_device[LINUX_SPI_DEVICE_NUM_DEVICES] = {
     /* MPU9250 is restricted to 1MHz for non-data and interrupt registers */
     LinuxSPIDeviceDriver(0, AP_HAL::SPIDevice_MPU9250, SPI_MODE_3, 8, RPI_GPIO_7,  1*MHZ, 16*MHZ),
+    LinuxSPIDeviceDriver(0, AP_HAL::SPIDevice_Ublox, SPI_MODE_0, 8, RPI_GPIO_8,  1*MHZ, 4*MHZ),
 };
 #else
 // empty device table
diff --git a/libraries/AP_HAL_Linux/SPIDriver.h b/libraries/AP_HAL_Linux/SPIDriver.h
index 144ebe60f78e39e70738f8998d6c978992a6898c..8aa9cf2562122d6ac21a877f6008d081ff0b3d6c 100644
--- a/libraries/AP_HAL_Linux/SPIDriver.h
+++ b/libraries/AP_HAL_Linux/SPIDriver.h
@@ -8,7 +8,7 @@
 #if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_PXF || CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_ERLE
 #define LINUX_SPI_DEVICE_NUM_DEVICES 6
 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO
-#define LINUX_SPI_DEVICE_NUM_DEVICES 1
+#define LINUX_SPI_DEVICE_NUM_DEVICES 2
 #else
 #define LINUX_SPI_DEVICE_NUM_DEVICES 0
 #endif