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