qmod eeprom/i2c: Re-start watchdog while slow bit-banging
diff --git a/firmware/libboard/qmod/include/board.h b/firmware/libboard/qmod/include/board.h
index 106d5d0..0f6343e 100644
--- a/firmware/libboard/qmod/include/board.h
+++ b/firmware/libboard/qmod/include/board.h
@@ -57,10 +57,10 @@
 
 #define BOARD_USB_BMATTRIBUTES	USBConfigurationDescriptor_SELFPOWERED_NORWAKEUP
 
-#define SIMTRACE_VENDOR_ID          0x1d50
-#define SIMTRACE_PRODUCT_ID         0x60e3	/* FIXME */
-#define USB_VENDOR_ID               SIMTRACE_VENDOR_ID
-#define USB_PRODUCT_ID              SIMTRACE_PRODUCT_ID
+#define BOARD_USB_VENDOR_ID	USB_VENDOR_OPENMOKO
+#define BOARD_USB_PRODUCT_ID	USB_PRODUCT_QMOD_SAM3
+#define BOARD_DFU_USB_PRODUCT_ID USB_PRODUCT_QMOD_SAM3_DFU
+#define BOARD_USB_RELEASE	0x010
 
 #define CARDEMU_SECOND_UART
 #define DETECT_VCC_BY_ADC
diff --git a/firmware/libboard/qmod/source/board_qmod.c b/firmware/libboard/qmod/source/board_qmod.c
index e05a454..3e6ec52 100644
--- a/firmware/libboard/qmod/source/board_qmod.c
+++ b/firmware/libboard/qmod/source/board_qmod.c
@@ -26,7 +26,11 @@
 }
 
 const unsigned char __eeprom_bin[256] = {
-	0x23, 0x42, 0x17, 0x25, 0x00, 0x00, 0x9b, 0x20, 0x01, 0x00, 0x00, 0x00, 0x32, 0x32, 0x32, 0x32, /* 0x00 - 0x0f */
+	USB_VENDOR_OPENMOKO & 0xff,
+	USB_VENDOR_OPENMOKO >> 8,
+	USB_PRODUCT_QMOD_HUB & 0xff,
+	USB_PRODUCT_QMOD_HUB >> 8,
+	                        0x00, 0x00, 0x9b, 0x20, 0x01, 0x00, 0x00, 0x00, 0x32, 0x32, 0x32, 0x32, /* 0x00 - 0x0f */
 	0x32, 0x04, 0x09, 0x18, 0x0d, 0x00, 0x73, 0x00, 0x79, 0x00, 0x73, 0x00, 0x6d, 0x00, 0x6f, 0x00, /* 0x10 - 0x1f */
 	0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x2d, 0x00, 0x20, 0x00, 0x73, 0x00, 0x2e, 0x00, /* 0x20 - 0x2f */
 	0x66, 0x00, 0x2e, 0x00, 0x6d, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x2e, 0x00, 0x20, 0x00, 0x47, 0x00, /* 0x30 - 0x3f */
diff --git a/firmware/libboard/qmod/source/i2c.c b/firmware/libboard/qmod/source/i2c.c
index 0549da1..607f247 100644
--- a/firmware/libboard/qmod/source/i2c.c
+++ b/firmware/libboard/qmod/source/i2c.c
@@ -157,6 +157,8 @@
 {
 	bool nack;
 
+	WDT_Restart(WDT);
+
 	/* Write slave address */
 	nack = i2c_write_byte(true, false, slave << 1);
 	if (nack)
@@ -180,6 +182,8 @@
 {
 	bool nack;
 
+	WDT_Restart(WDT);
+
 	/* dummy write cycle */
 	nack = i2c_write_byte(true, false, slave << 1);
 	if (nack)