aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Zapolskiy <vz@mleia.com>2016-03-02 23:19:35 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-03-03 23:38:53 -0500
commitfe54d9ba44da41aaa3096be37dd968efacf37134 (patch)
tree89bb23daa66160871ec9e85aac45f3ae0579f760
parent8073fb828310d5af5597b3059f0523c0e0dd5a22 (diff)
usb: ohci: nxp: remove direct access to clock controller registers
Direct access to clock control registers can be safely removed, the task of clock management is done by platform clock driver based on common clock framework. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/host/ohci-nxp.c18
1 files changed, 0 insertions, 18 deletions
diff --git a/drivers/usb/host/ohci-nxp.c b/drivers/usb/host/ohci-nxp.c
index ebacf97fc406..87588fc21ec7 100644
--- a/drivers/usb/host/ohci-nxp.c
+++ b/drivers/usb/host/ohci-nxp.c
@@ -34,16 +34,6 @@
34#include <mach/hardware.h> 34#include <mach/hardware.h>
35 35
36#define USB_CONFIG_BASE 0x31020000 36#define USB_CONFIG_BASE 0x31020000
37#define PWRMAN_BASE 0x40004000
38
39#define USB_CTRL IO_ADDRESS(PWRMAN_BASE + 0x64)
40
41/* USB_CTRL bit defines */
42#define USB_SLAVE_HCLK_EN (1 << 24)
43#define USB_DEV_NEED_CLK_EN (1 << 22)
44#define USB_HOST_NEED_CLK_EN (1 << 21)
45#define PAD_CONTROL_LAST_DRIVEN (1 << 19)
46
47#define USB_OTG_STAT_CONTROL IO_ADDRESS(USB_CONFIG_BASE + 0x110) 37#define USB_OTG_STAT_CONTROL IO_ADDRESS(USB_CONFIG_BASE + 0x110)
48 38
49/* USB_OTG_STAT_CONTROL bit defines */ 39/* USB_OTG_STAT_CONTROL bit defines */
@@ -110,9 +100,6 @@ static void isp1301_configure_lpc32xx(void)
110 i2c_smbus_write_byte_data(isp1301_i2c_client, 100 i2c_smbus_write_byte_data(isp1301_i2c_client,
111 ISP1301_I2C_INTERRUPT_RISING | ISP1301_I2C_REG_CLEAR_ADDR, ~0); 101 ISP1301_I2C_INTERRUPT_RISING | ISP1301_I2C_REG_CLEAR_ADDR, ~0);
112 102
113 /* Enable usb_need_clk clock after transceiver is initialized */
114 __raw_writel(__raw_readl(USB_CTRL) | USB_HOST_NEED_CLK_EN, USB_CTRL);
115
116 printk(KERN_INFO "ISP1301 Vendor ID : 0x%04x\n", 103 printk(KERN_INFO "ISP1301 Vendor ID : 0x%04x\n",
117 i2c_smbus_read_word_data(isp1301_i2c_client, 0x00)); 104 i2c_smbus_read_word_data(isp1301_i2c_client, 0x00));
118 printk(KERN_INFO "ISP1301 Product ID : 0x%04x\n", 105 printk(KERN_INFO "ISP1301 Product ID : 0x%04x\n",
@@ -185,9 +172,6 @@ static int ohci_hcd_nxp_probe(struct platform_device *pdev)
185 goto fail_disable; 172 goto fail_disable;
186 } 173 }
187 174
188 /* Enable AHB slave USB clock, needed for further USB clock control */
189 __raw_writel(USB_SLAVE_HCLK_EN | PAD_CONTROL_LAST_DRIVEN, USB_CTRL);
190
191 /* Enable USB PLL */ 175 /* Enable USB PLL */
192 usb_pll_clk = devm_clk_get(&pdev->dev, "ck_pll5"); 176 usb_pll_clk = devm_clk_get(&pdev->dev, "ck_pll5");
193 if (IS_ERR(usb_pll_clk)) { 177 if (IS_ERR(usb_pll_clk)) {
@@ -230,8 +214,6 @@ static int ohci_hcd_nxp_probe(struct platform_device *pdev)
230 goto fail_otg; 214 goto fail_otg;
231 } 215 }
232 216
233 __raw_writel(__raw_readl(USB_CTRL) | USB_HOST_NEED_CLK_EN, USB_CTRL);
234
235 ret = clk_prepare_enable(usb_otg_clk); 217 ret = clk_prepare_enable(usb_otg_clk);
236 if (ret < 0) { 218 if (ret < 0) {
237 dev_err(&pdev->dev, "failed to start USB DEV Clock\n"); 219 dev_err(&pdev->dev, "failed to start USB DEV Clock\n");