]> git.sur5r.net Git - u-boot/commitdiff
sunxi: usb: Rename sunxi_usbc_foo functions to sunxi_usb_phy_bar
authorHans de Goede <hdegoede@redhat.com>
Mon, 27 Apr 2015 12:54:47 +0000 (14:54 +0200)
committerHans de Goede <hdegoede@redhat.com>
Mon, 4 May 2015 14:51:55 +0000 (16:51 +0200)
Rename the sunxi_usbc_foo functions to sunxi_usb_phy_bar to make it clear
that these are usb-phy functions. Also change the verbs & nouns in the suffix
to match the verbs & nouns used in the Linux kernels generic phy framework.

This patch purely renames things, it contains no functional changes.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
arch/arm/cpu/armv7/sunxi/usbc.c
arch/arm/include/asm/arch-sunxi/usbc.h
board/sunxi/board.c
drivers/usb/host/ehci-sunxi.c
drivers/usb/musb-new/musb_uboot.c
drivers/usb/musb-new/sunxi.c

index 131e103aa3e5acb8ba289b58db1eda5dbda945b6..71817c192acfd5250e35d876408149848b6d0ad3 100644 (file)
@@ -1,9 +1,8 @@
 /*
- * Sunxi usb-controller code shared between the ehci and musb controllers
+ * Sunxi usb-phy code
  *
- * Copyright (C) 2014 Roman Byshko
- *
- * Roman Byshko <rbyshko@gmail.com>
+ * Copyright (C) 2015 Hans de Goede <hdegoede@redhat.com>
+ * Copyright (C) 2014 Roman Byshko <rbyshko@gmail.com>
  *
  * Based on code from
  * Allwinner Technology Co., Ltd. <www.allwinnertech.com>
 #define SUNXI_EHCI_AHB_INCRX_ALIGN_EN  (1 << 8)
 #define SUNXI_EHCI_ULPI_BYPASS_EN      (1 << 0)
 
-static struct sunxi_usbc_hcd {
-       struct usb_hcd *hcd;
+static struct sunxi_usb_phy {
        int usb_rst_mask;
        int gpio_vbus;
        int gpio_vbus_det;
        int id;
-} sunxi_usbc_hcd[] = {
+} sunxi_usb_phy[] = {
        {
                .usb_rst_mask = CCM_USB_CTRL_PHY0_RST | CCM_USB_CTRL_PHY0_CLK,
                .id = 0,
@@ -64,7 +62,7 @@ static struct sunxi_usbc_hcd {
 #endif
 };
 
-static int enabled_hcd_count;
+static int sunxi_usb_phy_enabled_count;
 
 static int get_vbus_gpio(int index)
 {
@@ -84,7 +82,7 @@ static int get_vbus_detect_gpio(int index)
        return -EINVAL;
 }
 
-static void usb_phy_write(struct sunxi_usbc_hcd *sunxi_usbc, int addr,
+static void usb_phy_write(struct sunxi_usb_phy *phy, int addr,
                          int data, int len)
 {
        int j = 0, usbc_bit = 0;
@@ -95,7 +93,7 @@ static void usb_phy_write(struct sunxi_usbc_hcd *sunxi_usbc, int addr,
        writel(0, dest);
 #endif
 
-       usbc_bit = 1 << (sunxi_usbc->id * 2);
+       usbc_bit = 1 << (phy->id * 2);
        for (j = 0; j < len; j++) {
                /* set the bit address to be written */
                clrbits_le32(dest, 0xff << 8);
@@ -116,24 +114,24 @@ static void usb_phy_write(struct sunxi_usbc_hcd *sunxi_usbc, int addr,
        }
 }
 
-static void sunxi_usb_phy_init(struct sunxi_usbc_hcd *sunxi_usbc)
+static void sunxi_usb_phy_config(struct sunxi_usb_phy *phy)
 {
        /* The following comments are machine
         * translated from Chinese, you have been warned!
         */
 
        /* Regulation 45 ohms */
-       if (sunxi_usbc->id == 0)
-               usb_phy_write(sunxi_usbc, 0x0c, 0x01, 1);
+       if (phy->id == 0)
+               usb_phy_write(phy, 0x0c, 0x01, 1);
 
        /* adjust PHY's magnitude and rate */
-       usb_phy_write(sunxi_usbc, 0x20, 0x14, 5);
+       usb_phy_write(phy, 0x20, 0x14, 5);
 
        /* threshold adjustment disconnect */
 #if defined CONFIG_MACH_SUN4I || defined CONFIG_MACH_SUN6I
-       usb_phy_write(sunxi_usbc, 0x2a, 3, 2);
+       usb_phy_write(phy, 0x2a, 3, 2);
 #else
-       usb_phy_write(sunxi_usbc, 0x2a, 2, 2);
+       usb_phy_write(phy, 0x2a, 2, 2);
 #endif
 
        return;
@@ -162,110 +160,110 @@ static void sunxi_usb_phy_passby(int index, int enable)
        return;
 }
 
-void sunxi_usbc_enable_squelch_detect(int index, int enable)
+void sunxi_usb_phy_enable_squelch_detect(int index, int enable)
 {
-       struct sunxi_usbc_hcd *sunxi_usbc = &sunxi_usbc_hcd[index];
+       struct sunxi_usb_phy *phy = &sunxi_usb_phy[index];
 
-       usb_phy_write(sunxi_usbc, 0x3c, enable ? 0 : 2, 2);
+       usb_phy_write(phy, 0x3c, enable ? 0 : 2, 2);
 }
 
-int sunxi_usbc_request_resources(int index)
+int sunxi_usb_phy_probe(int index)
 {
-       struct sunxi_usbc_hcd *sunxi_usbc = &sunxi_usbc_hcd[index];
+       struct sunxi_usb_phy *phy = &sunxi_usb_phy[index];
        int ret = 0;
 
-       sunxi_usbc->gpio_vbus = get_vbus_gpio(index);
-       if (sunxi_usbc->gpio_vbus >= 0) {
-               ret |= gpio_request(sunxi_usbc->gpio_vbus, "usbc_vbus");
-               ret |= gpio_direction_output(sunxi_usbc->gpio_vbus, 0);
+       phy->gpio_vbus = get_vbus_gpio(index);
+       if (phy->gpio_vbus >= 0) {
+               ret |= gpio_request(phy->gpio_vbus, "usbc_vbus");
+               ret |= gpio_direction_output(phy->gpio_vbus, 0);
        }
 
-       sunxi_usbc->gpio_vbus_det = get_vbus_detect_gpio(index);
-       if (sunxi_usbc->gpio_vbus_det >= 0) {
-               ret |= gpio_request(sunxi_usbc->gpio_vbus_det, "usbc_vbus_det");
-               ret |= gpio_direction_input(sunxi_usbc->gpio_vbus_det);
+       phy->gpio_vbus_det = get_vbus_detect_gpio(index);
+       if (phy->gpio_vbus_det >= 0) {
+               ret |= gpio_request(phy->gpio_vbus_det, "usbc_vbus_det");
+               ret |= gpio_direction_input(phy->gpio_vbus_det);
        }
 
        return ret;
 }
 
-int sunxi_usbc_free_resources(int index)
+int sunxi_usb_phy_remove(int index)
 {
-       struct sunxi_usbc_hcd *sunxi_usbc = &sunxi_usbc_hcd[index];
+       struct sunxi_usb_phy *phy = &sunxi_usb_phy[index];
        int ret = 0;
 
-       if (sunxi_usbc->gpio_vbus >= 0)
-               ret |= gpio_free(sunxi_usbc->gpio_vbus);
+       if (phy->gpio_vbus >= 0)
+               ret |= gpio_free(phy->gpio_vbus);
 
-       if (sunxi_usbc->gpio_vbus_det >= 0)
-               ret |= gpio_free(sunxi_usbc->gpio_vbus_det);
+       if (phy->gpio_vbus_det >= 0)
+               ret |= gpio_free(phy->gpio_vbus_det);
 
        return ret;
 }
 
-void sunxi_usbc_enable(int index)
+void sunxi_usb_phy_init(int index)
 {
-       struct sunxi_usbc_hcd *sunxi_usbc = &sunxi_usbc_hcd[index];
+       struct sunxi_usb_phy *phy = &sunxi_usb_phy[index];
        struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
 
        /* enable common PHY only once */
-       if (enabled_hcd_count == 0)
+       if (sunxi_usb_phy_enabled_count == 0)
                setbits_le32(&ccm->usb_clk_cfg, CCM_USB_CTRL_PHYGATE);
 
-       setbits_le32(&ccm->usb_clk_cfg, sunxi_usbc->usb_rst_mask);
+       setbits_le32(&ccm->usb_clk_cfg, phy->usb_rst_mask);
 
-       sunxi_usb_phy_init(sunxi_usbc);
+       sunxi_usb_phy_config(phy);
 
-       if (sunxi_usbc->id != 0)
+       if (phy->id != 0)
                sunxi_usb_phy_passby(index, SUNXI_USB_PASSBY_EN);
 
-       enabled_hcd_count++;
+       sunxi_usb_phy_enabled_count++;
 }
 
-void sunxi_usbc_disable(int index)
+void sunxi_usb_phy_exit(int index)
 {
-       struct sunxi_usbc_hcd *sunxi_usbc = &sunxi_usbc_hcd[index];
+       struct sunxi_usb_phy *phy = &sunxi_usb_phy[index];
        struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
 
-       if (sunxi_usbc->id != 0)
+       if (phy->id != 0)
                sunxi_usb_phy_passby(index, !SUNXI_USB_PASSBY_EN);
 
-       clrbits_le32(&ccm->usb_clk_cfg, sunxi_usbc->usb_rst_mask);
+       clrbits_le32(&ccm->usb_clk_cfg, phy->usb_rst_mask);
 
-       /* disable common PHY only once, for the last enabled hcd */
-       if (enabled_hcd_count == 1)
+       /* disable common PHY only once, for the last enabled phy */
+       if (sunxi_usb_phy_enabled_count == 1)
                clrbits_le32(&ccm->usb_clk_cfg, CCM_USB_CTRL_PHYGATE);
 
-       enabled_hcd_count--;
+       sunxi_usb_phy_enabled_count--;
 }
 
-void sunxi_usbc_vbus_enable(int index)
+void sunxi_usb_phy_power_on(int index)
 {
-       struct sunxi_usbc_hcd *sunxi_usbc = &sunxi_usbc_hcd[index];
+       struct sunxi_usb_phy *phy = &sunxi_usb_phy[index];
 
-       if (sunxi_usbc->gpio_vbus >= 0)
-               gpio_set_value(sunxi_usbc->gpio_vbus, 1);
+       if (phy->gpio_vbus >= 0)
+               gpio_set_value(phy->gpio_vbus, 1);
 }
 
-void sunxi_usbc_vbus_disable(int index)
+void sunxi_usb_phy_power_off(int index)
 {
-       struct sunxi_usbc_hcd *sunxi_usbc = &sunxi_usbc_hcd[index];
+       struct sunxi_usb_phy *phy = &sunxi_usb_phy[index];
 
-       if (sunxi_usbc->gpio_vbus >= 0)
-               gpio_set_value(sunxi_usbc->gpio_vbus, 0);
+       if (phy->gpio_vbus >= 0)
+               gpio_set_value(phy->gpio_vbus, 0);
 }
 
-int sunxi_usbc_vbus_detect(int index)
+int sunxi_usb_phy_vbus_detect(int index)
 {
-       struct sunxi_usbc_hcd *sunxi_usbc = &sunxi_usbc_hcd[index];
+       struct sunxi_usb_phy *phy = &sunxi_usb_phy[index];
        int err, retries = 3;
 
-       if (sunxi_usbc->gpio_vbus_det < 0) {
+       if (phy->gpio_vbus_det < 0) {
                eprintf("Error: invalid vbus detection pin\n");
-               return sunxi_usbc->gpio_vbus_det;
+               return phy->gpio_vbus_det;
        }
 
-       err = gpio_get_value(sunxi_usbc->gpio_vbus_det);
+       err = gpio_get_value(phy->gpio_vbus_det);
        /*
         * Vbus may have been provided by the board and just been turned of
         * some milliseconds ago on reset, what we're measuring then is a
@@ -273,7 +271,7 @@ int sunxi_usbc_vbus_detect(int index)
         */
        while (err > 0 && retries--) {
                mdelay(100);
-               err = gpio_get_value(sunxi_usbc->gpio_vbus_det);
+               err = gpio_get_value(phy->gpio_vbus_det);
        }
 
        return err;
index 41721f9f8e67ab4410c4670bdca2a501f16823ba..14ed0814dda7a6493d8d0a544a135f245bec58a4 100644 (file)
@@ -1,9 +1,8 @@
 /*
- * Sunxi usb-controller code shared between the ehci and musb controllers
+ * Sunxi usb-phy code
  *
- * Copyright (C) 2014 Roman Byshko
- *
- * Roman Byshko <rbyshko@gmail.com>
+ * Copyright (C) 2015 Hans de Goede <hdegoede@redhat.com>
+ * Copyright (C) 2014 Roman Byshko <rbyshko@gmail.com>
  *
  * Based on code from
  * Allwinner Technology Co., Ltd. <www.allwinnertech.com>
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
-extern const struct musb_platform_ops sunxi_musb_ops;
-
-int sunxi_usbc_request_resources(int index);
-int sunxi_usbc_free_resources(int index);
-void sunxi_usbc_enable(int index);
-void sunxi_usbc_disable(int index);
-void sunxi_usbc_vbus_enable(int index);
-void sunxi_usbc_vbus_disable(int index);
-int sunxi_usbc_vbus_detect(int index);
-void sunxi_usbc_enable_squelch_detect(int index, int enable);
+int sunxi_usb_phy_probe(int index);
+int sunxi_usb_phy_remove(int index);
+void sunxi_usb_phy_init(int index);
+void sunxi_usb_phy_exit(int index);
+void sunxi_usb_phy_power_on(int index);
+void sunxi_usb_phy_power_off(int index);
+int sunxi_usb_phy_vbus_detect(int index);
+void sunxi_usb_phy_enable_squelch_detect(int index, int enable);
index 50526104a5a633963494a05b0dee77aa313e01b3..881814965b174f9f35c63af47bb5b5c44bc75bfb 100644 (file)
@@ -452,6 +452,8 @@ void sunxi_board_init(void)
 #endif
 
 #if defined(CONFIG_MUSB_HOST) || defined(CONFIG_MUSB_GADGET)
+extern const struct musb_platform_ops sunxi_musb_ops;
+
 static struct musb_hdrc_config musb_config = {
        .multipoint     = 1,
        .dyn_fifo       = 1,
index 5de20f9d2c17e12302106b7aa8427919c79b76d1..b6fa538fb21c66511cfa9f455d42904625e3e2f9 100644 (file)
@@ -1,7 +1,8 @@
 /*
- * Copyright (C) 2014 Roman Byshko
+ * Sunxi ehci glue
  *
- * Roman Byshko <rbyshko@gmail.com>
+ * Copyright (C) 2015 Hans de Goede <hdegoede@redhat.com>
+ * Copyright (C) 2014 Roman Byshko <rbyshko@gmail.com>
  *
  * Based on code from
  * Allwinner Technology Co., Ltd. <www.allwinnertech.com>
@@ -21,7 +22,7 @@ int ehci_hcd_init(int index, enum usb_init_type init, struct ehci_hccr **hccr,
        struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
        int ahb_gate_offset, err;
 
-       err = sunxi_usbc_request_resources(index + 1);
+       err = sunxi_usb_phy_probe(index + 1);
        if (err)
                return err;
 
@@ -32,8 +33,8 @@ int ehci_hcd_init(int index, enum usb_init_type init, struct ehci_hccr **hccr,
        setbits_le32(&ccm->ahb_reset0_cfg, 1 << ahb_gate_offset);
 #endif
 
-       sunxi_usbc_enable(index + 1);
-       sunxi_usbc_vbus_enable(index + 1);
+       sunxi_usb_phy_init(index + 1);
+       sunxi_usb_phy_power_on(index + 1);
 
        if (index == 0)
                *hccr = (void *)SUNXI_USB1_BASE;
@@ -55,8 +56,8 @@ int ehci_hcd_stop(int index)
        struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
        int ahb_gate_offset;
 
-       sunxi_usbc_vbus_disable(index + 1);
-       sunxi_usbc_disable(index + 1);
+       sunxi_usb_phy_power_off(index + 1);
+       sunxi_usb_phy_exit(index + 1);
 
        ahb_gate_offset = index ? AHB_GATE_OFFSET_USB_EHCI1 :
                                  AHB_GATE_OFFSET_USB_EHCI0;
@@ -65,5 +66,5 @@ int ehci_hcd_stop(int index)
 #endif
        clrbits_le32(&ccm->ahb_gate0, 1 << ahb_gate_offset);
 
-       return sunxi_usbc_free_resources(index + 1);
+       return sunxi_usb_phy_remove(index + 1);
 }
index 7d90ebc1f5cf9afeda08f5cdbd0fab7f1d751edf..4d0213a52bca01afa64f999a6b91e42df2556349 100644 (file)
@@ -195,12 +195,12 @@ int usb_reset_root_port(void)
         * when clearing reset on low-speed devices, temporary disable
         * squelch detection to work around this.
         */
-       sunxi_usbc_enable_squelch_detect(0, 0);
+       sunxi_usb_phy_enable_squelch_detect(0, 0);
 #endif
        power = musb_readb(mbase, MUSB_POWER);
        musb_writeb(mbase, MUSB_POWER, ~MUSB_POWER_RESET & power);
 #ifdef CONFIG_ARCH_SUNXI
-       sunxi_usbc_enable_squelch_detect(0, 1);
+       sunxi_usb_phy_enable_squelch_detect(0, 1);
 #endif
        host->isr(0, host);
        host_speed = (musb_readb(mbase, MUSB_POWER) & MUSB_POWER_HSMODE) ?
index e3c6d6a98bf332c73578d5f96cc7f746af7e7d4a..5a9d39ca12c1af0c5cc9281bc7a1bd7fd0319c99 100644 (file)
@@ -214,7 +214,7 @@ static void sunxi_musb_enable(struct musb *musb)
 
        if (is_host_enabled(musb)) {
                /* port power on */
-               sunxi_usbc_vbus_enable(0);
+               sunxi_usb_phy_power_on(0);
        }
 }
 
@@ -226,7 +226,7 @@ static void sunxi_musb_disable(struct musb *musb)
 
        /* Put the controller back in a pristane state for "usb reset" */
        if (musb->is_active) {
-               sunxi_usbc_disable(0);
+               sunxi_usb_phy_exit(0);
 #ifdef CONFIG_SUNXI_GEN_SUN6I
                clrbits_le32(&ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0);
 #endif
@@ -238,7 +238,7 @@ static void sunxi_musb_disable(struct musb *musb)
 #ifdef CONFIG_SUNXI_GEN_SUN6I
                setbits_le32(&ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0);
 #endif
-               sunxi_usbc_enable(0);
+               sunxi_usb_phy_init(0);
                musb->is_active = 0;
        }
 }
@@ -250,15 +250,15 @@ static int sunxi_musb_init(struct musb *musb)
 
        pr_debug("%s():\n", __func__);
 
-       err = sunxi_usbc_request_resources(0);
+       err = sunxi_usb_phy_probe(0);
        if (err)
                return err;
 
        if (is_host_enabled(musb)) {
-               err = sunxi_usbc_vbus_detect(0);
+               err = sunxi_usb_phy_vbus_detect(0);
                if (err) {
                        eprintf("Error: A charger is plugged into the OTG\n");
-                       sunxi_usbc_free_resources(0);
+                       sunxi_usb_phy_remove(0);
                        return -EIO;
                }
        }
@@ -269,7 +269,7 @@ static int sunxi_musb_init(struct musb *musb)
 #ifdef CONFIG_SUNXI_GEN_SUN6I
        setbits_le32(&ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0);
 #endif
-       sunxi_usbc_enable(0);
+       sunxi_usb_phy_init(0);
 
        USBC_ConfigFIFO_Base();
        USBC_EnableDpDmPullUp(musb->mregs);
@@ -293,10 +293,10 @@ static int sunxi_musb_exit(struct musb *musb)
 
        USBC_DisableDpDmPullUp(musb->mregs);
        USBC_DisableIdPullUp(musb->mregs);
-       sunxi_usbc_vbus_disable(0);
-       sunxi_usbc_disable(0);
+       sunxi_usb_phy_power_off(0);
+       sunxi_usb_phy_exit(0);
 
-       return sunxi_usbc_free_resources(0);
+       return sunxi_usb_phy_remove(0);
 }
 
 const struct musb_platform_ops sunxi_musb_ops = {