Hi, Remy Bohmer wrote: > Hello Michael, > > 2008/12/17 Michael Trimarchi <trimar...@gandalf.sssup.it>: >> Add USB ehci pci support. This patch doesn't include any >> pci_ids and it is not tested on real hardware. To use it >> add (for example) the following in the board configuration file: >> >> #define CONFIG_CMD_USB 1 >> #define CONFIG_USB_STORAGE 1 >> #define CONFIG_USB_EHCI >> #define CONFIG_USB_EHCI_PCI 1 >> #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2 >> #define CONFIG_LEGACY_USB_INIT_SEQ 1 >> #define CONFIG_PCI_EHCI_DEVICE 1 > > I think that this kind of information should be put in the toplevel README > file. > A note where to put the PCI-ids is also nice. > > Kind Regards, > > Remy > > Ok I rework the patch and send again. >> Signed-off-by: Michael Trimarchi <trimarchimich...@yahoo.it> >> >> --- >> drivers/usb/Makefile | 1 + >> drivers/usb/usb_ehci_pci.c | 64 >> ++++++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 65 insertions(+), 0 deletions(-) >> create mode 100644 drivers/usb/usb_ehci_pci.c >> >> diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile >> index 6ba154b..26189b6 100644 >> --- a/drivers/usb/Makefile >> +++ b/drivers/usb/Makefile >> @@ -35,6 +35,7 @@ COBJS-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o >> COBJS-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o >> COBJS-$(CONFIG_USB_SL811HS) += sl811_usb.o >> COBJS-$(CONFIG_USB_EHCI_FSL) += usb_ehci_fsl.o >> +COBJS-$(CONFIG_USB_EHCI_PCI) += usb_ehci_pci.o >> >> # device >> ifdef CONFIG_USB_DEVICE >> diff --git a/drivers/usb/usb_ehci_pci.c b/drivers/usb/usb_ehci_pci.c >> new file mode 100644 >> index 0000000..3e7143c >> --- /dev/null >> +++ b/drivers/usb/usb_ehci_pci.c >> @@ -0,0 +1,64 @@ >> +/*- >> + * Copyright (c) 2007-2008, Juniper Networks, Inc. >> + * All rights reserved. >> + * >> + * This program is free software; you can redistribute it and/or >> + * modify it under the terms of the GNU General Public License as >> + * published by the Free Software Foundation version 2 of >> + * the License. >> + * >> + * This program is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + * GNU General Public License for more details. >> + * >> + * You should have received a copy of the GNU General Public License >> + * along with this program; if not, write to the Free Software >> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, >> + * MA 02111-1307 USA >> + */ >> + >> +#include <common.h> >> +#include <pci.h> >> +#include <usb.h> >> +#include "usb_ehci.h" >> +#include "usb_ehci_core.h" >> + >> +#ifdef CONFIG_PCI_EHCI_DEVICE >> +static struct pci_device_id ehci_pci_ids[] = { >> + /* Please add supported PCI EHCI controller ids here */ >> + {0, 0} >> +}; >> +#endif >> + >> +/* >> + * Create the appropriate control structures to manage >> + * a new EHCI host controller. >> + */ >> +int ehci_hcd_init(void) >> +{ >> + pci_dev_t pdev; >> + uint32_t addr; >> + >> + pdev = pci_find_devices(ehci_pci_ids, CONFIG_PCI_EHCI_DEVICE); >> + if (pdev == -1) { >> + printf("EHCI host controller not found\n"); >> + return -1; >> + } >> + >> + pci_read_config_dword(pdev, PCI_BASE_ADDRESS_0, &addr); >> + hccr = (struct ehci_hccr *)addr; >> + hcor = (struct ehci_hcor *)((uint32_t) hccr + >> + HC_LENGTH(ehci_readl(&hccr->cr_capbase))); >> + >> + return 0; >> +} >> + >> +/* >> + * Destroy the appropriate control structures corresponding >> + * the the EHCI host controller. >> + */ >> +int ehci_hcd_stop(void) >> +{ >> + return 0; >> +} >> -- >> 1.5.6.5 >> >> >
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot