xref: /rk3399_rockchip-uboot/drivers/usb/host/ehci-spear.c (revision 127efc4fe8cfc3ed525650b1ccbad9c3402e8d5d)
139fd6342SVipin Kumar /*
239fd6342SVipin Kumar  * (C) Copyright 2010
339fd6342SVipin Kumar  * Armando Visconti, ST Micoelectronics, <armando.visconti@st.com>.
439fd6342SVipin Kumar  *
539fd6342SVipin Kumar  * (C) Copyright 2009
639fd6342SVipin Kumar  * Marvell Semiconductor <www.marvell.com>
739fd6342SVipin Kumar  * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
839fd6342SVipin Kumar  *
91a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
1039fd6342SVipin Kumar  */
1139fd6342SVipin Kumar 
1239fd6342SVipin Kumar #include <common.h>
1339fd6342SVipin Kumar #include <asm/io.h>
1439fd6342SVipin Kumar #include <usb.h>
1539fd6342SVipin Kumar #include "ehci.h"
1639fd6342SVipin Kumar #include <asm/arch/hardware.h>
1739fd6342SVipin Kumar 
1839fd6342SVipin Kumar 
1939fd6342SVipin Kumar /*
2039fd6342SVipin Kumar  * Create the appropriate control structures to manage
2139fd6342SVipin Kumar  * a new EHCI host controller.
2239fd6342SVipin Kumar  */
23*127efc4fSTroy Kisky int ehci_hcd_init(int index, enum usb_init_type init,
24*127efc4fSTroy Kisky 		struct ehci_hccr **hccr, struct ehci_hcor **hcor)
2539fd6342SVipin Kumar {
2639fd6342SVipin Kumar 	*hccr = (struct ehci_hccr *)(CONFIG_SYS_UHC0_EHCI_BASE + 0x100);
2739fd6342SVipin Kumar 	*hcor = (struct ehci_hcor *)((uint32_t)*hccr
2839fd6342SVipin Kumar 			+ HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
2939fd6342SVipin Kumar 
3039fd6342SVipin Kumar 	debug("SPEAr-ehci: init hccr %x and hcor %x hc_length %d\n",
3139fd6342SVipin Kumar 		(uint32_t)*hccr, (uint32_t)*hcor,
3239fd6342SVipin Kumar 		(uint32_t)HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
3339fd6342SVipin Kumar 
3439fd6342SVipin Kumar 	return 0;
3539fd6342SVipin Kumar }
3639fd6342SVipin Kumar 
3739fd6342SVipin Kumar /*
3839fd6342SVipin Kumar  * Destroy the appropriate control structures corresponding
3939fd6342SVipin Kumar  * the the EHCI host controller.
4039fd6342SVipin Kumar  */
4139fd6342SVipin Kumar int ehci_hcd_stop(int index)
4239fd6342SVipin Kumar {
4339fd6342SVipin Kumar 	return 0;
4439fd6342SVipin Kumar }
45