9
0
Fork 0

ehci: Make has_tt configurable via platform data

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
This commit is contained in:
Sascha Hauer 2010-08-04 11:59:11 +02:00
parent 5145e87c64
commit 50c7d68dd8
2 changed files with 10 additions and 5 deletions

View File

@ -899,22 +899,25 @@ static int ehci_probe(struct device_d *dev)
ehci = xmalloc(sizeof(struct ehci_priv));
host = &ehci->host;
if (pdata)
if (pdata) {
ehci->flags = pdata->flags;
else
ehci->hccr = (void *)(dev->map_base + pdata->hccr_offset);
ehci->hcor = (void *)(dev->map_base + pdata->hcor_offset);
}
else {
/* default to EHCI_HAS_TT to not change behaviour of boards
* with platform_data
*/
ehci->flags = EHCI_HAS_TT;
ehci->hccr = (void *)(dev->map_base + 0x100);
ehci->hcor = (void *)(dev->map_base + 0x140);
}
host->init = ehci_init;
host->submit_int_msg = submit_int_msg;
host->submit_control_msg = submit_control_msg;
host->submit_bulk_msg = submit_bulk_msg;
ehci->hccr = (void *)(dev->map_base + 0x100);
ehci->hcor = (void *)(dev->map_base + 0x140);
usb_register_host(host);
reg = HC_VERSION(ehci_readl(&ehci->hccr->cr_capbase));

View File

@ -5,6 +5,8 @@
struct ehci_platform_data {
unsigned long flags;
unsigned long hccr_offset;
unsigned long hcor_offset;
};
#endif /* __USB_EHCI_H */