aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorMarek Vasut2016-01-23 21:04:46 +0100
committerMarek Vasut2016-02-24 19:12:32 +0100
commit643cacb6d6d5a9f3adbf294a390537d53208fd79 (patch)
treea9ec6dcfb3f6149a37b7f7bdbf00dc1eb821608a /drivers/usb
parent52dd704bf8eda7ca039cdb398ec0b6895c3ef939 (diff)
usb: ehci: Use map_physmem in ehci-generic
Some architectures, like MIPS, require remapping of the registers. Add the map_physmem() call to handle it. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/ehci-generic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-generic.c b/drivers/usb/host/ehci-generic.c
index 84114c5df98..4444988e36f 100644
--- a/drivers/usb/host/ehci-generic.c
+++ b/drivers/usb/host/ehci-generic.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <clk.h>
+#include <asm/io.h>
#include <dm.h>
#include "ehci.h"
@@ -20,7 +21,7 @@ struct generic_ehci {
static int ehci_usb_probe(struct udevice *dev)
{
- struct ehci_hccr *hccr = (struct ehci_hccr *)dev_get_addr(dev);
+ struct ehci_hccr *hccr;
struct ehci_hcor *hcor;
int i;
@@ -36,6 +37,7 @@ static int ehci_usb_probe(struct udevice *dev)
clk_dev->name, clk_id);
}
+ hccr = map_physmem(dev_get_addr(dev), 0x100, MAP_NOCACHE);
hcor = (struct ehci_hcor *)((uintptr_t)hccr +
HC_LENGTH(ehci_readl(&hccr->cr_capbase)));