12731b9a8SJean-Christophe PLAGNIOL-VILLARD /* 22731b9a8SJean-Christophe PLAGNIOL-VILLARD * (C) Copyright 2009 Stefan Roese <sr@denx.de>, DENX Software Engineering 32731b9a8SJean-Christophe PLAGNIOL-VILLARD * 41a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 52731b9a8SJean-Christophe PLAGNIOL-VILLARD */ 62731b9a8SJean-Christophe PLAGNIOL-VILLARD 72731b9a8SJean-Christophe PLAGNIOL-VILLARD #include <common.h> 82731b9a8SJean-Christophe PLAGNIOL-VILLARD #include <usb.h> 92731b9a8SJean-Christophe PLAGNIOL-VILLARD 102731b9a8SJean-Christophe PLAGNIOL-VILLARD #include "ehci.h" 112731b9a8SJean-Christophe PLAGNIOL-VILLARD 122731b9a8SJean-Christophe PLAGNIOL-VILLARD int vct_ehci_hcd_init(u32 *hccr, u32 *hcor); 132731b9a8SJean-Christophe PLAGNIOL-VILLARD 142731b9a8SJean-Christophe PLAGNIOL-VILLARD /* 152731b9a8SJean-Christophe PLAGNIOL-VILLARD * Create the appropriate control structures to manage 162731b9a8SJean-Christophe PLAGNIOL-VILLARD * a new EHCI host controller. 172731b9a8SJean-Christophe PLAGNIOL-VILLARD */ ehci_hcd_init(int index,enum usb_init_type init,struct ehci_hccr ** hccr,struct ehci_hcor ** hcor)18*127efc4fSTroy Kiskyint ehci_hcd_init(int index, enum usb_init_type init, 19*127efc4fSTroy Kisky struct ehci_hccr **hccr, struct ehci_hcor **hcor) 202731b9a8SJean-Christophe PLAGNIOL-VILLARD { 212731b9a8SJean-Christophe PLAGNIOL-VILLARD int ret; 222731b9a8SJean-Christophe PLAGNIOL-VILLARD u32 vct_hccr; 232731b9a8SJean-Christophe PLAGNIOL-VILLARD u32 vct_hcor; 242731b9a8SJean-Christophe PLAGNIOL-VILLARD 252731b9a8SJean-Christophe PLAGNIOL-VILLARD /* 262731b9a8SJean-Christophe PLAGNIOL-VILLARD * Init VCT specific stuff 272731b9a8SJean-Christophe PLAGNIOL-VILLARD */ 282731b9a8SJean-Christophe PLAGNIOL-VILLARD ret = vct_ehci_hcd_init(&vct_hccr, &vct_hcor); 292731b9a8SJean-Christophe PLAGNIOL-VILLARD if (ret) 302731b9a8SJean-Christophe PLAGNIOL-VILLARD return ret; 312731b9a8SJean-Christophe PLAGNIOL-VILLARD 32676ae068SLucas Stach *hccr = (struct ehci_hccr *)vct_hccr; 33676ae068SLucas Stach *hcor = (struct ehci_hcor *)vct_hcor; 342731b9a8SJean-Christophe PLAGNIOL-VILLARD 352731b9a8SJean-Christophe PLAGNIOL-VILLARD return 0; 362731b9a8SJean-Christophe PLAGNIOL-VILLARD } 372731b9a8SJean-Christophe PLAGNIOL-VILLARD 382731b9a8SJean-Christophe PLAGNIOL-VILLARD /* 392731b9a8SJean-Christophe PLAGNIOL-VILLARD * Destroy the appropriate control structures corresponding 402731b9a8SJean-Christophe PLAGNIOL-VILLARD * the the EHCI host controller. 412731b9a8SJean-Christophe PLAGNIOL-VILLARD */ ehci_hcd_stop(int index)42676ae068SLucas Stachint ehci_hcd_stop(int index) 432731b9a8SJean-Christophe PLAGNIOL-VILLARD { 442731b9a8SJean-Christophe PLAGNIOL-VILLARD return 0; 452731b9a8SJean-Christophe PLAGNIOL-VILLARD } 46