Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ARM: omap2: remove unused USB code

Some musb related code is no longer in use after commit 4d62dbda8561
("ARM: OMAP3: Remove legacy support for am3517-evm") and can be removed.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

-160
-2
arch/arm/mach-omap2/common.h
··· 40 40 #include "i2c.h" 41 41 #include "serial.h" 42 42 43 - #include "usb.h" 44 - 45 43 #define OMAP_INTC_START NR_IRQS 46 44 47 45 extern int (*omap_pm_soc_init)(void);
-87
arch/arm/mach-omap2/omap_phy_internal.c
··· 19 19 20 20 #include "soc.h" 21 21 #include "control.h" 22 - #include "usb.h" 23 22 24 23 #define CONTROL_DEV_CONF 0x300 25 24 #define PHY_PD 0x1 ··· 51 52 return 0; 52 53 } 53 54 omap_early_initcall(omap4430_phy_power_down); 54 - 55 - void am35x_musb_reset(void) 56 - { 57 - u32 regval; 58 - 59 - /* Reset the musb interface */ 60 - regval = omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET); 61 - 62 - regval |= AM35XX_USBOTGSS_SW_RST; 63 - omap_ctrl_writel(regval, AM35XX_CONTROL_IP_SW_RESET); 64 - 65 - regval &= ~AM35XX_USBOTGSS_SW_RST; 66 - omap_ctrl_writel(regval, AM35XX_CONTROL_IP_SW_RESET); 67 - 68 - regval = omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET); 69 - } 70 - 71 - void am35x_musb_phy_power(u8 on) 72 - { 73 - unsigned long timeout = jiffies + msecs_to_jiffies(100); 74 - u32 devconf2; 75 - 76 - if (on) { 77 - /* 78 - * Start the on-chip PHY and its PLL. 79 - */ 80 - devconf2 = omap_ctrl_readl(AM35XX_CONTROL_DEVCONF2); 81 - 82 - devconf2 &= ~(CONF2_RESET | CONF2_PHYPWRDN | CONF2_OTGPWRDN); 83 - devconf2 |= CONF2_PHY_PLLON; 84 - 85 - omap_ctrl_writel(devconf2, AM35XX_CONTROL_DEVCONF2); 86 - 87 - pr_info("Waiting for PHY clock good...\n"); 88 - while (!(omap_ctrl_readl(AM35XX_CONTROL_DEVCONF2) 89 - & CONF2_PHYCLKGD)) { 90 - cpu_relax(); 91 - 92 - if (time_after(jiffies, timeout)) { 93 - pr_err("musb PHY clock good timed out\n"); 94 - break; 95 - } 96 - } 97 - } else { 98 - /* 99 - * Power down the on-chip PHY. 100 - */ 101 - devconf2 = omap_ctrl_readl(AM35XX_CONTROL_DEVCONF2); 102 - 103 - devconf2 &= ~CONF2_PHY_PLLON; 104 - devconf2 |= CONF2_PHYPWRDN | CONF2_OTGPWRDN; 105 - omap_ctrl_writel(devconf2, AM35XX_CONTROL_DEVCONF2); 106 - } 107 - } 108 - 109 - void am35x_musb_clear_irq(void) 110 - { 111 - u32 regval; 112 - 113 - regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); 114 - regval |= AM35XX_USBOTGSS_INT_CLR; 115 - omap_ctrl_writel(regval, AM35XX_CONTROL_LVL_INTR_CLEAR); 116 - regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); 117 - } 118 - 119 - void am35x_set_mode(u8 musb_mode) 120 - { 121 - u32 devconf2 = omap_ctrl_readl(AM35XX_CONTROL_DEVCONF2); 122 - 123 - devconf2 &= ~CONF2_OTGMODE; 124 - switch (musb_mode) { 125 - case MUSB_HOST: /* Force VBUS valid, ID = 0 */ 126 - devconf2 |= CONF2_FORCE_HOST; 127 - break; 128 - case MUSB_PERIPHERAL: /* Force VBUS valid, ID = 1 */ 129 - devconf2 |= CONF2_FORCE_DEVICE; 130 - break; 131 - case MUSB_OTG: /* Don't override the VBUS/ID comparators */ 132 - devconf2 |= CONF2_NO_OVERRIDE; 133 - break; 134 - default: 135 - pr_info("Unsupported mode %u\n", musb_mode); 136 - } 137 - 138 - omap_ctrl_writel(devconf2, AM35XX_CONTROL_DEVCONF2); 139 - }
-71
arch/arm/mach-omap2/usb.h
··· 1 - /* SPDX-License-Identifier: GPL-2.0 */ 2 - #include <linux/platform_data/usb-omap.h> 3 - 4 - /* AM35x */ 5 - /* USB 2.0 PHY Control */ 6 - #define CONF2_PHY_GPIOMODE (1 << 23) 7 - #define CONF2_OTGMODE (3 << 14) 8 - #define CONF2_NO_OVERRIDE (0 << 14) 9 - #define CONF2_FORCE_HOST (1 << 14) 10 - #define CONF2_FORCE_DEVICE (2 << 14) 11 - #define CONF2_FORCE_HOST_VBUS_LOW (3 << 14) 12 - #define CONF2_SESENDEN (1 << 13) 13 - #define CONF2_VBDTCTEN (1 << 12) 14 - #define CONF2_REFFREQ_24MHZ (2 << 8) 15 - #define CONF2_REFFREQ_26MHZ (7 << 8) 16 - #define CONF2_REFFREQ_13MHZ (6 << 8) 17 - #define CONF2_REFFREQ (0xf << 8) 18 - #define CONF2_PHYCLKGD (1 << 7) 19 - #define CONF2_VBUSSENSE (1 << 6) 20 - #define CONF2_PHY_PLLON (1 << 5) 21 - #define CONF2_RESET (1 << 4) 22 - #define CONF2_PHYPWRDN (1 << 3) 23 - #define CONF2_OTGPWRDN (1 << 2) 24 - #define CONF2_DATPOL (1 << 1) 25 - 26 - /* TI81XX specific definitions */ 27 - #define USBCTRL0 0x620 28 - #define USBSTAT0 0x624 29 - 30 - /* TI816X PHY controls bits */ 31 - #define TI816X_USBPHY0_NORMAL_MODE (1 << 0) 32 - #define TI816X_USBPHY_REFCLK_OSC (1 << 8) 33 - 34 - /* TI814X PHY controls bits */ 35 - #define USBPHY_CM_PWRDN (1 << 0) 36 - #define USBPHY_OTG_PWRDN (1 << 1) 37 - #define USBPHY_CHGDET_DIS (1 << 2) 38 - #define USBPHY_CHGDET_RSTRT (1 << 3) 39 - #define USBPHY_SRCONDM (1 << 4) 40 - #define USBPHY_SINKONDP (1 << 5) 41 - #define USBPHY_CHGISINK_EN (1 << 6) 42 - #define USBPHY_CHGVSRC_EN (1 << 7) 43 - #define USBPHY_DMPULLUP (1 << 8) 44 - #define USBPHY_DPPULLUP (1 << 9) 45 - #define USBPHY_CDET_EXTCTL (1 << 10) 46 - #define USBPHY_GPIO_MODE (1 << 12) 47 - #define USBPHY_DPOPBUFCTL (1 << 13) 48 - #define USBPHY_DMOPBUFCTL (1 << 14) 49 - #define USBPHY_DPINPUT (1 << 15) 50 - #define USBPHY_DMINPUT (1 << 16) 51 - #define USBPHY_DPGPIO_PD (1 << 17) 52 - #define USBPHY_DMGPIO_PD (1 << 18) 53 - #define USBPHY_OTGVDET_EN (1 << 19) 54 - #define USBPHY_OTGSESSEND_EN (1 << 20) 55 - #define USBPHY_DATA_POLARITY (1 << 23) 56 - 57 - struct usbhs_phy_data { 58 - int port; /* 1 indexed port number */ 59 - int reset_gpio; 60 - int vcc_gpio; 61 - bool vcc_polarity; /* 1 active high, 0 active low */ 62 - }; 63 - 64 - extern void usb_musb_init(struct omap_musb_board_data *board_data); 65 - extern void usbhs_init(struct usbhs_omap_platform_data *pdata); 66 - extern int usbhs_init_phys(struct usbhs_phy_data *phy, int num_phys); 67 - 68 - extern void am35x_musb_reset(void); 69 - extern void am35x_musb_phy_power(u8 on); 70 - extern void am35x_musb_clear_irq(void); 71 - extern void am35x_set_mode(u8 musb_mode);