提交 b7679ab3 编写于 作者: T Tony Lindgren

Merge branch 'for-tony' of...

Merge branch 'for-tony' of master.kernel.org:/pub/scm/linux/kernel/git/balbi/usb into omap-for-linus
...@@ -374,7 +374,7 @@ static struct omap_musb_board_data musb_board_data = { ...@@ -374,7 +374,7 @@ static struct omap_musb_board_data musb_board_data = {
.power = 500, .power = 500,
.set_phy_power = am35x_musb_phy_power, .set_phy_power = am35x_musb_phy_power,
.clear_irq = am35x_musb_clear_irq, .clear_irq = am35x_musb_clear_irq,
.set_mode = am35x_musb_set_mode, .set_mode = am35x_set_mode,
.reset = am35x_musb_reset, .reset = am35x_musb_reset,
}; };
......
...@@ -50,13 +50,16 @@ int omap4430_phy_init(struct device *dev) ...@@ -50,13 +50,16 @@ int omap4430_phy_init(struct device *dev)
{ {
ctrl_base = ioremap(OMAP443X_SCM_BASE, SZ_1K); ctrl_base = ioremap(OMAP443X_SCM_BASE, SZ_1K);
if (!ctrl_base) { if (!ctrl_base) {
dev_err(dev, "control module ioremap failed\n"); pr_err("control module ioremap failed\n");
return -ENOMEM; return -ENOMEM;
} }
/* Power down the phy */ /* Power down the phy */
__raw_writel(PHY_PD, ctrl_base + CONTROL_DEV_CONF); __raw_writel(PHY_PD, ctrl_base + CONTROL_DEV_CONF);
phyclk = clk_get(dev, "ocp2scp_usb_phy_ick");
if (!dev)
return 0;
phyclk = clk_get(dev, "ocp2scp_usb_phy_ick");
if (IS_ERR(phyclk)) { if (IS_ERR(phyclk)) {
dev_err(dev, "cannot clk_get ocp2scp_usb_phy_ick\n"); dev_err(dev, "cannot clk_get ocp2scp_usb_phy_ick\n");
iounmap(ctrl_base); iounmap(ctrl_base);
...@@ -228,7 +231,7 @@ void am35x_musb_clear_irq(void) ...@@ -228,7 +231,7 @@ void am35x_musb_clear_irq(void)
regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR);
} }
void am35x_musb_set_mode(u8 musb_mode) void am35x_set_mode(u8 musb_mode)
{ {
u32 devconf2 = omap_ctrl_readl(AM35XX_CONTROL_DEVCONF2); u32 devconf2 = omap_ctrl_readl(AM35XX_CONTROL_DEVCONF2);
......
...@@ -129,11 +129,6 @@ void __init usb_musb_init(struct omap_musb_board_data *musb_board_data) ...@@ -129,11 +129,6 @@ void __init usb_musb_init(struct omap_musb_board_data *musb_board_data)
else else
board_data = &musb_default_board_data; board_data = &musb_default_board_data;
if (cpu_is_omap3517() || cpu_is_omap3505()) {
} else if (cpu_is_omap44xx()) {
usb_musb_mux_init(board_data);
}
/* /*
* REVISIT: This line can be removed once all the platforms using * REVISIT: This line can be removed once all the platforms using
* musb_core.c have been converted to use use clkdev. * musb_core.c have been converted to use use clkdev.
...@@ -176,10 +171,15 @@ void __init usb_musb_init(struct omap_musb_board_data *musb_board_data) ...@@ -176,10 +171,15 @@ void __init usb_musb_init(struct omap_musb_board_data *musb_board_data)
dev->dma_mask = &musb_dmamask; dev->dma_mask = &musb_dmamask;
dev->coherent_dma_mask = musb_dmamask; dev->coherent_dma_mask = musb_dmamask;
put_device(dev); put_device(dev);
if (cpu_is_omap44xx())
omap4430_phy_init(dev);
} }
#else #else
void __init usb_musb_init(struct omap_musb_board_data *board_data) void __init usb_musb_init(struct omap_musb_board_data *board_data)
{ {
if (cpu_is_omap44xx())
omap4430_phy_init(NULL);
} }
#endif /* CONFIG_USB_MUSB_SOC */ #endif /* CONFIG_USB_MUSB_SOC */
...@@ -113,7 +113,7 @@ extern int omap4430_phy_suspend(struct device *dev, int suspend); ...@@ -113,7 +113,7 @@ extern int omap4430_phy_suspend(struct device *dev, int suspend);
extern void am35x_musb_reset(void); extern void am35x_musb_reset(void);
extern void am35x_musb_phy_power(u8 on); extern void am35x_musb_phy_power(u8 on);
extern void am35x_musb_clear_irq(void); extern void am35x_musb_clear_irq(void);
extern void am35x_musb_set_mode(u8 musb_mode); extern void am35x_set_mode(u8 musb_mode);
/* /*
* FIXME correct answer depends on hmc_mode, * FIXME correct answer depends on hmc_mode,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册