forked from luck/tmp_suning_uos_patched
Merge branch 'for-tony' of master.kernel.org:/pub/scm/linux/kernel/git/balbi/usb into omap-for-linus
This commit is contained in:
commit
b7679ab3f7
@ -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)
|
|||||||
{
|
{
|
||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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);
|
|||||||
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,
|
||||||
|
Loading…
Reference in New Issue
Block a user