diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2017-07-30 11:37:14 +0300 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2017-08-07 12:35:33 +0000 |
commit | d1a0c5770803e45dabecf6094fccb9895ea76d10 (patch) | |
tree | 8c949297438a11ebdc39d0ea148ef24559917df8 /src/drivers | |
parent | ab1d2ac626d0535191b5f612707ae8f22c46c538 (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')
-rw-r--r-- | src/drivers/usb/pci_ehci.c | 10 |
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; } |