usb: musb: Pass fifo_mode in platform data
This allows setting the correct fifo_mode when multiple MUSB glue layers are built-in. Cc: Fabio Baltieri <fabio.baltieri@linaro.org> Cc: Lee Jones <lee.jones@linaro.org> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Apelete Seketeli <apelete@seketeli.net> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
d026e9c76a
commit
8a77f05aa3
|
@ -474,6 +474,7 @@ static const struct musb_platform_ops bfin_ops = {
|
||||||
.writew = bfin_writew,
|
.writew = bfin_writew,
|
||||||
.readl = bfin_readl,
|
.readl = bfin_readl,
|
||||||
.writel = bfin_writel,
|
.writel = bfin_writel,
|
||||||
|
.fifo_mode = 2,
|
||||||
.read_fifo = bfin_read_fifo,
|
.read_fifo = bfin_read_fifo,
|
||||||
.write_fifo = bfin_write_fifo,
|
.write_fifo = bfin_write_fifo,
|
||||||
.enable = bfin_musb_enable,
|
.enable = bfin_musb_enable,
|
||||||
|
|
|
@ -462,6 +462,7 @@ static const struct musb_platform_ops da8xx_ops = {
|
||||||
.init = da8xx_musb_init,
|
.init = da8xx_musb_init,
|
||||||
.exit = da8xx_musb_exit,
|
.exit = da8xx_musb_exit,
|
||||||
|
|
||||||
|
.fifo_mode = 2,
|
||||||
.enable = da8xx_musb_enable,
|
.enable = da8xx_musb_enable,
|
||||||
.disable = da8xx_musb_disable,
|
.disable = da8xx_musb_disable,
|
||||||
|
|
||||||
|
|
|
@ -107,6 +107,7 @@ static int jz4740_musb_exit(struct musb *musb)
|
||||||
|
|
||||||
static const struct musb_platform_ops jz4740_musb_ops = {
|
static const struct musb_platform_ops jz4740_musb_ops = {
|
||||||
.quirks = MUSB_INDEXED_EP,
|
.quirks = MUSB_INDEXED_EP,
|
||||||
|
.fifo_mode = 2,
|
||||||
.init = jz4740_musb_init,
|
.init = jz4740_musb_init,
|
||||||
.exit = jz4740_musb_exit,
|
.exit = jz4740_musb_exit,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1116,21 +1116,7 @@ static void musb_shutdown(struct platform_device *pdev)
|
||||||
* We don't currently use dynamic fifo setup capability to do anything
|
* We don't currently use dynamic fifo setup capability to do anything
|
||||||
* more than selecting one of a bunch of predefined configurations.
|
* more than selecting one of a bunch of predefined configurations.
|
||||||
*/
|
*/
|
||||||
#if defined(CONFIG_USB_MUSB_TUSB6010) \
|
static ushort fifo_mode;
|
||||||
|| defined(CONFIG_USB_MUSB_TUSB6010_MODULE) \
|
|
||||||
|| defined(CONFIG_USB_MUSB_OMAP2PLUS) \
|
|
||||||
|| defined(CONFIG_USB_MUSB_OMAP2PLUS_MODULE) \
|
|
||||||
|| defined(CONFIG_USB_MUSB_AM35X) \
|
|
||||||
|| defined(CONFIG_USB_MUSB_AM35X_MODULE) \
|
|
||||||
|| defined(CONFIG_USB_MUSB_DSPS) \
|
|
||||||
|| defined(CONFIG_USB_MUSB_DSPS_MODULE)
|
|
||||||
static ushort fifo_mode = 4;
|
|
||||||
#elif defined(CONFIG_USB_MUSB_UX500) \
|
|
||||||
|| defined(CONFIG_USB_MUSB_UX500_MODULE)
|
|
||||||
static ushort fifo_mode = 5;
|
|
||||||
#else
|
|
||||||
static ushort fifo_mode = 2;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* "modprobe ... fifo_mode=1" etc */
|
/* "modprobe ... fifo_mode=1" etc */
|
||||||
module_param(fifo_mode, ushort, 0);
|
module_param(fifo_mode, ushort, 0);
|
||||||
|
@ -2043,6 +2029,11 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
|
||||||
musb->io.ep_select = musb_flat_ep_select;
|
musb->io.ep_select = musb_flat_ep_select;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (musb->ops->fifo_mode)
|
||||||
|
fifo_mode = musb->ops->fifo_mode;
|
||||||
|
else
|
||||||
|
fifo_mode = 4;
|
||||||
|
|
||||||
if (musb->ops->fifo_offset)
|
if (musb->ops->fifo_offset)
|
||||||
musb->io.fifo_offset = musb->ops->fifo_offset;
|
musb->io.fifo_offset = musb->ops->fifo_offset;
|
||||||
else
|
else
|
||||||
|
|
|
@ -191,6 +191,7 @@ static const struct musb_platform_ops ux500_ops = {
|
||||||
.quirks = MUSB_INDEXED_EP,
|
.quirks = MUSB_INDEXED_EP,
|
||||||
.init = ux500_musb_init,
|
.init = ux500_musb_init,
|
||||||
.exit = ux500_musb_exit,
|
.exit = ux500_musb_exit,
|
||||||
|
.fifo_mode = 5,
|
||||||
|
|
||||||
.set_vbus = ux500_musb_set_vbus,
|
.set_vbus = ux500_musb_set_vbus,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue