Re: [PATCH] USB: Add EHCI and OHCI for Renesas R-Mobile SoC (r8a7740)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

> >> +void rmobile_hc_start(struct usb_hcd *hcd, struct platform_device *pdev)
> > ...
> >> +     data = SMODE_READY_CTR | MMODE_HBUSREQ |
> >> +                     MMODE_WR_INCR | MMODE_BYTE_BURST | MMODE_HTRANS;
> >> +
> >> +     if (data == __raw_readl(hci->base + AHB_BUS_CTR))
> >> +             return;
> >> +
> >> +     /* AHB-PCI Bridge Communication Registers */
> >> +     AHB_WRITE(hci, data, AHB_BUS_CTR);
> >> +     AHB_WRITE(hci, (PHYS_OFFSET & 0xf0000000) | PREFETCH,
> >> +                             PCIAHB_WIN1_CTR);
> >> +     AHB_WRITE(hci, 0xf0000000 | PREFETCH, PCIAHB_WIN2_CTR);
> >> +     AHB_WRITE(hci, hci->phys_base | PCIWIN2_PCICMD, AHBPCI_WIN2_CTR);
> >> +     data = __raw_readl(hci->base + PCI_ARBITER_CTR);
> >> +     AHB_WRITE(hci, data | PCIBP_MODE | PCIREQ1 | PCIREQ0,
> >> +                             PCI_ARBITER_CTR);
> >> +
> >> +     /* PCI Configuration Registers for AHBPCI */
> >> +     AHB_WRITE(hci, PCIWIN1_PCICMD | AHB_CFG_AHBPCI, AHBPCI_WIN1_CTR);
> >> +     AHB_WRITE(hci, hci->phys_base + AHBPCI_OFFSET,
> >> +                             PCI_CONF_AHBPCI_BASEAD);
> >> +     AHB_WRITE(hci, PHYS_OFFSET & 0xf0000000, PCI_CONF_AHBPCI_WIN1_BASEAD);
> >> +     AHB_WRITE(hci, 0xf0000000, PCI_CONF_AHBPCI_WIN2_BASEAD);
> >> +     AHB_WRITE(hci, SERREN | PERREN | MASTEREN | MEMEN,
> >> +                             PCI_CONF_AHBPCI_CMND_STS);
> >> +
> >> +     /* PCI Configuration Registers for EHCI */
> >> +     AHB_WRITE(hci, PCIWIN1_PCICMD | AHB_CFG_HOST, AHBPCI_WIN1_CTR);
> >> +     AHB_WRITE(hci, hci->phys_base + OHCI_OFFSET, OHCI_BASEAD);
> >> +     AHB_WRITE(hci, hci->phys_base + EHCI_OFFSET, EHCI_BASEAD);
> >> +
> >> +     data = SERREN | PERREN | MASTEREN | MEMEN;
> >> +     AHB_WRITE(hci, data, OHCI_CMND_STS);
> >> +     AHB_WRITE(hci, data, EHCI_CMND_STS);
> >> +
> >> +     /* enable pci interrupt */
> >> +     data = __raw_readl(hci->base + PCI_INT_ENABLE);
> >> +     data |= USBH_PMEEN | USBH_INTBEN | USBH_INTAEN;
> >> +     AHB_WRITE(hci, data, PCI_INT_ENABLE);
> >
> > Are these setting Renesas mobile "Common" ???
> > I don't think so.
> > It is R8A7740 specific settings
> 
> This is a problem only for the names, I think.
> It is only only rmobile as r8a7740 now to use this driver.
> Should we switch to ehci-r8a7740 and other?

Now, latest Renesas chip which has ehci/ohci is using
ehci/ohci-platform.c driver.
Your driver will be used only from r8a7740 chip.
(Since, Renesas don't create "Mobile" chip in the future)

I don't know detail,
but can you re-use ehci/ohci-sh.c somehow instead of creating new ehci/ohci-rmobile.c ?
I don't like this kind of "series-name" driver which is useless/pointless/flexibilityless

ohci-rmobile.c -> ohci->sh.c
ohci-common.c  -> ohci-r8a7740.c

 drivers/usb/host/Kconfig          |    4 +
 drivers/usb/host/Makefile         |    1 +
 drivers/usb/host/ehci-hcd.c       |    5 +
 drivers/usb/host/ehci-rmobile.c   |  384 +++++++++++++++++++++++++++++++++++++
 drivers/usb/host/ohci-hcd.c       |   21 +-
 drivers/usb/host/ohci-rmobile.c   |  377 ++++++++++++++++++++++++++++++++++++
 drivers/usb/host/rmobile-common.c |  145 ++++++++++++++
 drivers/usb/host/rmobile-common.h |   53 +++++
 include/linux/usb/rmobile.h       |  254 ++++++++++++++++++++++++


Best regards
---
Kuninori Morimoto
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux