drivers/usb/ehci_debug: Add x86_64 support

Use proper int to pointer conversions.

Tested on Lenovo T410 with x86_64 enabled. Still works.

Change-Id: I4ed62297fb47d7d83d4b28e80f3770de99ce70f7
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/37393
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Patrick Rudolph 2019-11-30 09:42:20 +01:00 committed by Patrick Rudolph
parent a8582c4c02
commit ae64f22e8d
3 changed files with 5 additions and 4 deletions

View File

@ -434,7 +434,7 @@ static int ehci_wait_for_port(struct ehci_regs *ehci_regs, int port)
static int usbdebug_init_(unsigned int ehci_bar, unsigned int offset, struct ehci_debug_info *info)
static int usbdebug_init_(uintptr_t ehci_bar, unsigned int offset, struct ehci_debug_info *info)
{
struct ehci_caps *ehci_caps;
struct ehci_regs *ehci_regs;
@ -653,7 +653,7 @@ void dbgp_put(struct dbgp_pipe *pipe)
}
#if ENV_RAMSTAGE
void usbdebug_re_enable(unsigned int ehci_base)
void usbdebug_re_enable(uintptr_t ehci_base)
{
struct ehci_debug_info *dbg_info = dbgp_ehci_info();
u64 diff;

View File

@ -16,7 +16,7 @@
#include <types.h>
void usbdebug_re_enable(unsigned int ehci_base);
void usbdebug_re_enable(uintptr_t ehci_base);
void usbdebug_disable(void);
/* Returns 0 on success and sets MMIO base and dbg_offset if EHCI debug

View File

@ -116,6 +116,7 @@ void pci_ehci_read_resources(struct device *dev)
u8 *pci_ehci_base_regs(pci_devfn_t sdev)
{
u8 *base = (u8 *)(pci_s_read_config32(sdev, EHCI_BAR_INDEX) & ~0x0f);
u32 bar = pci_s_read_config32(sdev, EHCI_BAR_INDEX) & ~0x0f;
u8 *base = (u8 *)(uintptr_t)bar;
return base + HC_LENGTH(read32(base));
}