sunxi: usb: Remove sunxi_usbc_get_io_base function
This is the only function left in sunxi/usbc.c which is not phy related, so remove it. This is a preparation patch for turning the usbc.c code into a proper usb phy driver. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
This commit is contained in:
parent
375de01702
commit
a781c97aaa
@ -66,20 +66,6 @@ static struct sunxi_usbc_hcd {
|
||||
|
||||
static int enabled_hcd_count;
|
||||
|
||||
void *sunxi_usbc_get_io_base(int index)
|
||||
{
|
||||
switch (index) {
|
||||
case 0:
|
||||
return (void *)SUNXI_USB0_BASE;
|
||||
case 1:
|
||||
return (void *)SUNXI_USB1_BASE;
|
||||
case 2:
|
||||
return (void *)SUNXI_USB2_BASE;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static int get_vbus_gpio(int index)
|
||||
{
|
||||
switch (index) {
|
||||
@ -102,7 +88,7 @@ static void usb_phy_write(struct sunxi_usbc_hcd *sunxi_usbc, int addr,
|
||||
int data, int len)
|
||||
{
|
||||
int j = 0, usbc_bit = 0;
|
||||
void *dest = sunxi_usbc_get_io_base(0) + SUNXI_USB_CSR;
|
||||
void *dest = (void *)SUNXI_USB0_BASE + SUNXI_USB_CSR;
|
||||
|
||||
#ifdef CONFIG_MACH_SUN8I_A33
|
||||
/* CSR needs to be explicitly initialized to 0 on A33 */
|
||||
@ -153,11 +139,15 @@ static void sunxi_usb_phy_init(struct sunxi_usbc_hcd *sunxi_usbc)
|
||||
return;
|
||||
}
|
||||
|
||||
static void sunxi_usb_passby(struct sunxi_usbc_hcd *sunxi_usbc, int enable)
|
||||
static void sunxi_usb_phy_passby(int index, int enable)
|
||||
{
|
||||
unsigned long bits = 0;
|
||||
void *addr = sunxi_usbc_get_io_base(sunxi_usbc->id) +
|
||||
SUNXI_USB_PMU_IRQ_ENABLE;
|
||||
void *addr;
|
||||
|
||||
if (index == 1)
|
||||
addr = (void *)SUNXI_USB1_BASE + SUNXI_USB_PMU_IRQ_ENABLE;
|
||||
else
|
||||
addr = (void *)SUNXI_USB2_BASE + SUNXI_USB_PMU_IRQ_ENABLE;
|
||||
|
||||
bits = SUNXI_EHCI_AHB_ICHR8_EN |
|
||||
SUNXI_EHCI_AHB_INCR4_BURST_EN |
|
||||
@ -227,7 +217,7 @@ void sunxi_usbc_enable(int index)
|
||||
sunxi_usb_phy_init(sunxi_usbc);
|
||||
|
||||
if (sunxi_usbc->id != 0)
|
||||
sunxi_usb_passby(sunxi_usbc, SUNXI_USB_PASSBY_EN);
|
||||
sunxi_usb_phy_passby(index, SUNXI_USB_PASSBY_EN);
|
||||
|
||||
enabled_hcd_count++;
|
||||
}
|
||||
@ -238,7 +228,7 @@ void sunxi_usbc_disable(int index)
|
||||
struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
|
||||
|
||||
if (sunxi_usbc->id != 0)
|
||||
sunxi_usb_passby(sunxi_usbc, !SUNXI_USB_PASSBY_EN);
|
||||
sunxi_usb_phy_passby(index, !SUNXI_USB_PASSBY_EN);
|
||||
|
||||
clrbits_le32(&ccm->usb_clk_cfg, sunxi_usbc->usb_rst_mask);
|
||||
|
||||
|
@ -13,7 +13,6 @@
|
||||
|
||||
extern const struct musb_platform_ops sunxi_musb_ops;
|
||||
|
||||
void *sunxi_usbc_get_io_base(int index);
|
||||
int sunxi_usbc_request_resources(int index);
|
||||
int sunxi_usbc_free_resources(int index);
|
||||
void sunxi_usbc_enable(int index);
|
||||
|
@ -35,7 +35,10 @@ int ehci_hcd_init(int index, enum usb_init_type init, struct ehci_hccr **hccr,
|
||||
sunxi_usbc_enable(index + 1);
|
||||
sunxi_usbc_vbus_enable(index + 1);
|
||||
|
||||
*hccr = sunxi_usbc_get_io_base(index + 1);
|
||||
if (index == 0)
|
||||
*hccr = (void *)SUNXI_USB1_BASE;
|
||||
else
|
||||
*hccr = (void *)SUNXI_USB2_BASE;
|
||||
|
||||
*hcor = (struct ehci_hcor *)((uint32_t) *hccr
|
||||
+ HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
|
||||
|
Loading…
Reference in New Issue
Block a user