xref: /openbmc/u-boot/drivers/usb/host/ehci-spear.c (revision 3e972cb9)
1 /*
2  * (C) Copyright 2010
3  * Armando Visconti, ST Micoelectronics, <armando.visconti@st.com>.
4  *
5  * (C) Copyright 2009
6  * Marvell Semiconductor <www.marvell.com>
7  * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
8  *
9  * SPDX-License-Identifier:	GPL-2.0+
10  */
11 
12 #include <common.h>
13 #include <asm/io.h>
14 #include <usb.h>
15 #include "ehci.h"
16 #include <asm/arch/hardware.h>
17 
18 
19 /*
20  * Create the appropriate control structures to manage
21  * a new EHCI host controller.
22  */
23 int ehci_hcd_init(int index, enum usb_init_type init,
24 		struct ehci_hccr **hccr, struct ehci_hcor **hcor)
25 {
26 	*hccr = (struct ehci_hccr *)(CONFIG_SYS_UHC0_EHCI_BASE + 0x100);
27 	*hcor = (struct ehci_hcor *)((uint32_t)*hccr
28 			+ HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
29 
30 	debug("SPEAr-ehci: init hccr %x and hcor %x hc_length %d\n",
31 		(uint32_t)*hccr, (uint32_t)*hcor,
32 		(uint32_t)HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
33 
34 	return 0;
35 }
36 
37 /*
38  * Destroy the appropriate control structures corresponding
39  * the the EHCI host controller.
40  */
41 int ehci_hcd_stop(int index)
42 {
43 	return 0;
44 }
45