Index: uspace/lib/usbhost/include/usb/host/usb_bus.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/usb_bus.h	(revision 643e7bac040d1890177cba607b3c6457193e570e)
+++ uspace/lib/usbhost/include/usb/host/usb_bus.h	(revision 75d88219af04edb1fd161368bd683b493dbe5ea0)
@@ -53,4 +53,7 @@
 #define BANDWIDTH_AVAILABLE_USB11 ((BANDWIDTH_TOTAL_USB11 / 10) * 9)
 
+//TODO: Implement
+#define BANDWIDTH_AVAILABLE_USB20  1
+
 typedef size_t (*bw_count_func_t)(usb_speed_t, usb_transfer_type_t, size_t, size_t);
 typedef void (*ep_remove_callback_t)(endpoint_t *, void *);
@@ -78,4 +81,6 @@
 
 size_t bandwidth_count_usb11(usb_speed_t speed, usb_transfer_type_t type,
+    size_t size, size_t max_packet_size);
+size_t bandwidth_count_usb20(usb_speed_t speed, usb_transfer_type_t type,
     size_t size, size_t max_packet_size);
 
Index: uspace/lib/usbhost/src/usb_bus.c
===================================================================
--- uspace/lib/usbhost/src/usb_bus.c	(revision 643e7bac040d1890177cba607b3c6457193e570e)
+++ uspace/lib/usbhost/src/usb_bus.c	(revision 75d88219af04edb1fd161368bd683b493dbe5ea0)
@@ -169,4 +169,23 @@
 }
 
+/** Calculate bandwidth that needs to be reserved for communication with EP.
+ * Calculation follows USB 2.0 specification.
+ * @param speed Device's speed.
+ * @param type Type of the transfer.
+ * @param size Number of byte to transfer.
+ * @param max_packet_size Maximum bytes in one packet.
+ */
+size_t bandwidth_count_usb20(usb_speed_t speed, usb_transfer_type_t type,
+    size_t size, size_t max_packet_size)
+{
+	/* We care about bandwidth only for interrupt and isochronous. */
+	if ((type != USB_TRANSFER_INTERRUPT)
+	    && (type != USB_TRANSFER_ISOCHRONOUS)) {
+		return 0;
+	}
+	//TODO Implement
+	return 0;
+}
+
 /** Initialize to default state.
  * You need to provide valid bw_count function if you plan to use
