Index: uspace/drv/bus/usb/ohci/root_hub.c
===================================================================
--- uspace/drv/bus/usb/ohci/root_hub.c	(revision 735236a0f3d25bd29f05df8fa52414a92f8b2495)
+++ uspace/drv/bus/usb/ohci/root_hub.c	(revision 7372a9a0d468e8f8b7923df2c9902b62ee2a7947)
@@ -152,4 +152,6 @@
 } while (0)
 
+#define OHCI_POWER 2
+
 /** Root hub initialization
  * @return Error code.
@@ -172,7 +174,17 @@
 	instance->interrupt_mask_size = (instance->port_count + 1 + 8) / 8;
 	instance->unfinished_interrupt_transfer = NULL;
-
+#if OHCI_POWER == 0
 	/* Set port power mode to no power-switching. (always on) */
 	instance->registers->rh_desc_a |= RHDA_NPS_FLAG;
+#elif OHCI_POWER == 1
+	/* Set port power mode to no ganged power-switching. */
+	instance->registers->rh_desc_a &= ~RHDA_NPS_FLAG;
+	instance->registers->rh_desc_a &= ~RHDA_PSM_FLAG;
+#else
+	/* Set port power mode to no per port power-switching. */
+	instance->registers->rh_desc_a &= ~RHDA_NPS_FLAG;
+	instance->registers->rh_desc_a |= RHDA_PSM_FLAG;
+
+#endif
 
 	rh_init_descriptors(instance);
