diff --git a/main/Android.mk b/main/Android.mk
index 08db43c..8ac1d80 100644
--- a/main/Android.mk
+++ b/main/Android.mk
@@ -46,6 +46,8 @@
 ANDROID_HARDWARE := ANDROID_HARDWARE_nexus_10
 else ifeq ($(TARGET_BOOTLOADER_BOARD_NAME),grouper)
 ANDROID_HARDWARE := ANDROID_HARDWARE_nexus_7
+else ifeq ($(TARGET_BOOTLOADER_BOARD_NAME),MAKO)
+ANDROID_HARDWARE := ANDROID_HARDWARE_nexus_4
 endif
 
 else
diff --git a/main/coregrind/m_syswrap/syswrap-linux.c b/main/coregrind/m_syswrap/syswrap-linux.c
index 7c4a790..8e2ec0f 100644
--- a/main/coregrind/m_syswrap/syswrap-linux.c
+++ b/main/coregrind/m_syswrap/syswrap-linux.c
@@ -4308,6 +4308,8 @@
    case 0x7231:
    case 0x4004e901: /* used by NFC */
       return;
+#  elif defined(ANDROID_HARDWARE_nexus_4)
+
 #  endif
 
    default:
@@ -5558,6 +5560,13 @@
    case VKI_EVIOCSSUSPENDBLOCK:
       break;
 
+   case VKI_MEDIA_IOC_DEVICE_INFO:
+      if (ARG3) {
+         PRE_MEM_WRITE("ioctl(MEDIA_IOC_DEVICE_INFO)", ARG3,
+                       sizeof(struct vki_media_device_info));
+      }
+      break;
+
    default:
       /* EVIOC* are variable length and return size written on success */
       switch (ARG2 & ~(_VKI_IOC_SIZEMASK << _VKI_IOC_SIZESHIFT)) {
@@ -5675,6 +5684,8 @@
 
 #  elif defined(ANDROID_HARDWARE_nexus_7)
 
+#  elif defined(ANDROID_HARDWARE_nexus_4)
+
 #  else /* no ANDROID_HARDWARE_anything defined */
 
 #   warning ""
@@ -5685,6 +5696,7 @@
 #   warning "   ANDROID_HARDWARE_nexus_s       Samsung Nexus S"
 #   warning "   ANDROID_HARDWARE_nexus_10      Samsung Nexus 10"
 #   warning "   ANDROID_HARDWARE_nexus_7       ASUS Nexus 7"
+#   warning "   ANDROID_HARDWARE_nexus_4       LG Nexus 4"
 #   warning "   ANDROID_HARDWARE_generic       Generic device (eg, Pandaboard)"
 #   warning "   ANDROID_HARDWARE_emulator      x86 or arm emulator"
 #   warning ""
@@ -6571,6 +6583,12 @@
       POST_MEM_WRITE( ARG3, sizeof(int) );
       break;
 
+   case VKI_MEDIA_IOC_DEVICE_INFO:
+      if (ARG3) {
+         POST_MEM_WRITE(ARG3, sizeof(struct vki_media_device_info));
+      }
+      break;
+
    default:
       /* EVIOC* are variable length and return size written on success */
       switch (ARG2 & ~(_VKI_IOC_SIZEMASK << _VKI_IOC_SIZESHIFT)) {
diff --git a/main/include/vki/vki-linux.h b/main/include/vki/vki-linux.h
index 8cefd8f..214a626 100644
--- a/main/include/vki/vki-linux.h
+++ b/main/include/vki/vki-linux.h
@@ -3011,6 +3011,23 @@
 #define VKI_UI_SET_SWBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 109, int)
 #define VKI_UI_SET_PROPBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 110, int)
 
+//----------------------------------------------------------------------
+// From include/linux/media.h
+//----------------------------------------------------------------------
+
+struct vki_media_device_info {
+    char driver[16];
+    char model[32];
+    char serial[40];
+    char bus_info[32];
+    __vki_u32 media_version;
+    __vki_u32 hw_revision;
+    __vki_u32 driver_version;
+    __vki_u32 reserved[31];
+};
+
+#define VKI_MEDIA_IOC_DEVICE_INFO _VKI_IOWR('|', 0x00, struct vki_media_device_info)
+
 #endif // __VKI_LINUX_H
 
 /*--------------------------------------------------------------------*/
