summaryrefslogtreecommitdiff
path: root/src/drivers/usb
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2017-07-30 11:37:14 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2017-08-07 12:35:33 +0000
commitd1a0c5770803e45dabecf6094fccb9895ea76d10 (patch)
tree8c949297438a11ebdc39d0ea148ef24559917df8 /src/drivers/usb
parentab1d2ac626d0535191b5f612707ae8f22c46c538 (diff)
usbdebug: Consolidate EHCI_BAR setup
There is assumption of static EHCI_BAR_INDEX, try to clean it up by bringing BAR programming at one spot. Change-Id: Ie16090536ac5470c24720a54813015250ae2d0dd Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/20825 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/drivers/usb')
-rw-r--r--src/drivers/usb/pci_ehci.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/drivers/usb/pci_ehci.c b/src/drivers/usb/pci_ehci.c
index de291ee258..8b72f57a5a 100644
--- a/src/drivers/usb/pci_ehci.c
+++ b/src/drivers/usb/pci_ehci.c
@@ -47,12 +47,18 @@ int ehci_debug_hw_enable(unsigned int *base, unsigned int *dbg_offset)
u32 cap = pci_read_config32(dev, pos);
/* FIXME: We should remove static EHCI_BAR_INDEX. */
- u8 dbg_bar = 0x10 + 4 * ((cap >> 29) - 1);
- if (dbg_bar != EHCI_BAR_INDEX)
+ u8 ehci_bar = 0x10 + 4 * ((cap >> 29) - 1);
+ if (ehci_bar != EHCI_BAR_INDEX)
return -1;
+ pci_write_config32(dev, ehci_bar, CONFIG_EHCI_BAR);
+
+ pci_write_config8(dev, PCI_COMMAND, PCI_COMMAND_MEMORY |
+ PCI_COMMAND_MASTER);
+
*base = CONFIG_EHCI_BAR;
*dbg_offset = (cap>>16) & 0x1ffc;
+
return 0;
}