xref: /openbmc/u-boot/drivers/usb/host/ehci-vct.c (revision e8f80a5a)
1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+
22731b9a8SJean-Christophe PLAGNIOL-VILLARD /*
32731b9a8SJean-Christophe PLAGNIOL-VILLARD  * (C) Copyright 2009 Stefan Roese <sr@denx.de>, DENX Software Engineering
42731b9a8SJean-Christophe PLAGNIOL-VILLARD  */
52731b9a8SJean-Christophe PLAGNIOL-VILLARD 
62731b9a8SJean-Christophe PLAGNIOL-VILLARD #include <common.h>
72731b9a8SJean-Christophe PLAGNIOL-VILLARD #include <usb.h>
82731b9a8SJean-Christophe PLAGNIOL-VILLARD 
92731b9a8SJean-Christophe PLAGNIOL-VILLARD #include "ehci.h"
102731b9a8SJean-Christophe PLAGNIOL-VILLARD 
112731b9a8SJean-Christophe PLAGNIOL-VILLARD int vct_ehci_hcd_init(u32 *hccr, u32 *hcor);
122731b9a8SJean-Christophe PLAGNIOL-VILLARD 
132731b9a8SJean-Christophe PLAGNIOL-VILLARD /*
142731b9a8SJean-Christophe PLAGNIOL-VILLARD  * Create the appropriate control structures to manage
152731b9a8SJean-Christophe PLAGNIOL-VILLARD  * a new EHCI host controller.
162731b9a8SJean-Christophe PLAGNIOL-VILLARD  */
ehci_hcd_init(int index,enum usb_init_type init,struct ehci_hccr ** hccr,struct ehci_hcor ** hcor)17127efc4fSTroy Kisky int ehci_hcd_init(int index, enum usb_init_type init,
18127efc4fSTroy Kisky 		struct ehci_hccr **hccr, struct ehci_hcor **hcor)
192731b9a8SJean-Christophe PLAGNIOL-VILLARD {
202731b9a8SJean-Christophe PLAGNIOL-VILLARD 	int ret;
212731b9a8SJean-Christophe PLAGNIOL-VILLARD 	u32 vct_hccr;
222731b9a8SJean-Christophe PLAGNIOL-VILLARD 	u32 vct_hcor;
232731b9a8SJean-Christophe PLAGNIOL-VILLARD 
242731b9a8SJean-Christophe PLAGNIOL-VILLARD 	/*
252731b9a8SJean-Christophe PLAGNIOL-VILLARD 	 * Init VCT specific stuff
262731b9a8SJean-Christophe PLAGNIOL-VILLARD 	 */
272731b9a8SJean-Christophe PLAGNIOL-VILLARD 	ret = vct_ehci_hcd_init(&vct_hccr, &vct_hcor);
282731b9a8SJean-Christophe PLAGNIOL-VILLARD 	if (ret)
292731b9a8SJean-Christophe PLAGNIOL-VILLARD 		return ret;
302731b9a8SJean-Christophe PLAGNIOL-VILLARD 
31676ae068SLucas Stach 	*hccr = (struct ehci_hccr *)vct_hccr;
32676ae068SLucas Stach 	*hcor = (struct ehci_hcor *)vct_hcor;
332731b9a8SJean-Christophe PLAGNIOL-VILLARD 
342731b9a8SJean-Christophe PLAGNIOL-VILLARD 	return 0;
352731b9a8SJean-Christophe PLAGNIOL-VILLARD }
362731b9a8SJean-Christophe PLAGNIOL-VILLARD 
372731b9a8SJean-Christophe PLAGNIOL-VILLARD /*
382731b9a8SJean-Christophe PLAGNIOL-VILLARD  * Destroy the appropriate control structures corresponding
392731b9a8SJean-Christophe PLAGNIOL-VILLARD  * the the EHCI host controller.
402731b9a8SJean-Christophe PLAGNIOL-VILLARD  */
ehci_hcd_stop(int index)41676ae068SLucas Stach int ehci_hcd_stop(int index)
422731b9a8SJean-Christophe PLAGNIOL-VILLARD {
432731b9a8SJean-Christophe PLAGNIOL-VILLARD 	return 0;
442731b9a8SJean-Christophe PLAGNIOL-VILLARD }
45