Patrick Georgi (pgeorgi@google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10179
-gerrit
commit 6e8f3ba171aac24e34122a3131db0cbe9327e1ea Author: Patrick Georgi pgeorgi@google.com Date: Tue May 12 10:44:02 2015 +0200
libpayload: Fix passing BAR to EHCI driver
The EHCI driver never looked for the base address handed to it but instead used an uninitialized field for that information.
Change-Id: I89fe0cc212092672b36e978083e3de78419b1eb5 Signed-off-by: Patrick Georgi pgeorgi@google.com --- payloads/libpayload/drivers/usb/ehci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/payloads/libpayload/drivers/usb/ehci.c b/payloads/libpayload/drivers/usb/ehci.c index 578db37..bda415f 100644 --- a/payloads/libpayload/drivers/usb/ehci.c +++ b/payloads/libpayload/drivers/usb/ehci.c @@ -816,8 +816,8 @@ ehci_init (unsigned long physical_bar) controller->poll_intr_queue = ehci_poll_intr_queue; init_device_entry (controller, 0);
- EHCI_INST(controller)->capabilities = phys_to_virt(controller->reg_base); - EHCI_INST(controller)->operation = (hc_op_t *)(phys_to_virt(controller->reg_base) + EHCI_INST(controller)->capabilities->caplength); + EHCI_INST(controller)->capabilities = phys_to_virt(physical_bar); + EHCI_INST(controller)->operation = (hc_op_t *)(phys_to_virt(physical_bar) + EHCI_INST(controller)->capabilities->caplength);
/* Set the high address word (aka segment) if controller is 64-bit */ if (EHCI_INST(controller)->capabilities->hccparams & 1)