Re: [PATCH 16/19] usb: ehci: add Marvell EHCI host controller driver
"Sascha Hauer" <[email protected]> Mon, 27 Jul 2026 14:09:13 +0000
| Newsgroups | org.infradead.lists.barebox |
|---|---|
| Message-ID | <[email protected]> |
On 2026-07-23 15:57, Luca Lauro via B4 Relay wrote: > From: Luca Lauro <[email protected]> >=20 > --- > drivers/usb/host/Kconfig | 7 ++ > drivers/usb/host/Makefile | 13 +-- > drivers/usb/host/ehci-marvell.c | 229 ++++++++++++++++++++++++++++++++++= ++++++ > 3 files changed, 243 insertions(+), 6 deletions(-) >=20 > diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig > index 58f276cdb4..21bf876d69 100644 > --- a/drivers/usb/host/Kconfig > +++ b/drivers/usb/host/Kconfig > @@ -22,6 +22,13 @@ config USB_EHCI_ZYNQ > help > Enable support for Zynq on-chip EHCI USB controller > =20 > +config USB_EHCI_MARVELL > + bool "Marvell USB EHCI driver" > + depends on ARCH_MVEBU > + depends on USB_EHCI > + help > + Enable support for Marvell USB EHCI controller > + > config USB_OHCI > bool "OHCI driver" > depends on !MMU && HAS_DMA > diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile > index cbddfbe923..932581d691 100644 > --- a/drivers/usb/host/Makefile > +++ b/drivers/usb/host/Makefile > @@ -1,8 +1,9 @@ > # SPDX-License-Identifier: GPL-2.0-only > -obj-$(CONFIG_USB_EHCI) +=3D ehci-hcd.o > -obj-$(CONFIG_USB_EHCI_OMAP) +=3D ehci-omap.o > +obj-$(CONFIG_USB_EHCI) +=3D ehci-hcd.o > +obj-$(CONFIG_USB_EHCI_OMAP) +=3D ehci-omap.o > obj-$(CONFIG_USB_EHCI_ATMEL) +=3D ehci-atmel.o > -obj-$(CONFIG_USB_EHCI_ZYNQ) +=3D ehci-zynq.o > -obj-$(CONFIG_USB_OHCI) +=3D ohci-hcd.o > -obj-$(CONFIG_USB_OHCI_AT91) +=3D ohci-at91.o > -obj-$(CONFIG_USB_XHCI) +=3D xhci.o xhci-mem.o xhci-ring.o > +obj-$(CONFIG_USB_EHCI_ZYNQ) +=3D ehci-zynq.o > +obj-$(CONFIG_USB_EHCI_MARVELL) +=3D ehci-marvell.o > +obj-$(CONFIG_USB_OHCI) +=3D ohci-hcd.o > +obj-$(CONFIG_USB_OHCI_AT91) +=3D ohci-at91.o > +obj-$(CONFIG_USB_XHCI) +=3D xhci.o xhci-mem.o xhci-ring.o > diff --git a/drivers/usb/host/ehci-marvell.c b/drivers/usb/host/ehci-marv= ell.c > new file mode 100644 > index 0000000000..8accfd697d > --- /dev/null > +++ b/drivers/usb/host/ehci-marvell.c > @@ -0,0 +1,229 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * Marvell Orion / Kirkwood / Armada EHCI host for barebox > + * > + * Porting basato su ehci-marvell.c di U-Boot moderno, > + * adattato al modello ehci_register() di barebox. > + */ Per favore usa l'inglese nel codice ;) > +static int marvell_ehci_probe(struct device *dev) > +{ > + struct marvell_ehci *priv; > + struct resource *iores; > + struct ehci_data data; > + void __iomem *base; > + struct ehci_host *ehci; > + > + priv =3D xzalloc(sizeof(*priv)); > + priv->dev =3D dev; > + dev->priv =3D priv; > + > + iores =3D dev_request_mem_resource(dev, 0); > + if (IS_ERR(iores)) > + return PTR_ERR(iores); > + > + base =3D IOMEM(iores->start); > + priv->base =3D base; > + > + memset(&data, 0, sizeof(data)); Easier done with struct ehci_data data =3D {}; Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |