diff --git a/src/soc/amd/stoneyridge/usb.c b/src/soc/amd/stoneyridge/usb.c
index 82984b9..0665976 100644
--- a/src/soc/amd/stoneyridge/usb.c
+++ b/src/soc/amd/stoneyridge/usb.c
@@ -20,8 +20,40 @@
 #include <device/pci_ops.h>
 #include <device/pci_ehci.h>
 #include <arch/io.h>
+#include <soc/pci_devs.h>
 #include <soc/southbridge.h>
 
+
+static void set_usb_over_current(struct device *dev)
+{
+	uint16_t map = USB_OC_DISABLE_ALL;
+
+	if (dev->path.pci.devfn == XHCI_DEVFN) {
+		if (mainboard_get_xhci_oc_map(&map) == 0) {
+			xhci_pm_write32(XHCI_PM_INDIRECT_INDEX,
+						XHCI_OVER_CURRENT_CONTROL);
+			xhci_pm_write16(XHCI_PM_INDIRECT_DATA, map);
+		}
+	}
+
+	if (dev->path.pci.devfn == EHCI1_DEVFN) {
+		if (mainboard_get_ehci_oc_map(&map) == 0)
+			pci_write_config16(dev, EHCI_OVER_CURRENT_CONTROL, map);
+	}
+}
+
+int __attribute__((weak)) mainboard_get_xhci_oc_map(uint16_t *map)
+{
+	printk(BIOS_DEBUG, "WEAK: %s/%s called\n", __FILE__, __func__);
+	return -1;
+}
+
+int __attribute__((weak)) mainboard_get_ehci_oc_map(uint16_t *map)
+{
+	printk(BIOS_DEBUG, "WEAK: %s/%s called\n", __FILE__, __func__);
+	return -1;
+}
+
 static struct pci_operations lops_pci = {
 	.set_subsystem = pci_dev_set_subsystem,
 };
@@ -30,7 +62,7 @@
 	.read_resources = pci_ehci_read_resources,
 	.set_resources = pci_dev_set_resources,
 	.enable_resources = pci_dev_enable_resources,
-	.init = NULL,
+	.init = set_usb_over_current,
 	.scan_bus = NULL,
 	.ops_pci = &lops_pci,
 };
