|
@@ -95,38 +95,9 @@ static void omap_uart_enable_wakeup(struct device *dev, bool enable)
|
|
|
omap_hwmod_disable_wakeup(od->hwmods[0]);
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * Errata i291: [UART]:Cannot Acknowledge Idle Requests
|
|
|
- * in Smartidle Mode When Configured for DMA Operations.
|
|
|
- * WA: configure uart in force idle mode.
|
|
|
- */
|
|
|
-static void omap_uart_set_noidle(struct device *dev)
|
|
|
-{
|
|
|
- struct platform_device *pdev = to_platform_device(dev);
|
|
|
- struct omap_device *od = to_omap_device(pdev);
|
|
|
-
|
|
|
- omap_hwmod_set_slave_idlemode(od->hwmods[0], HWMOD_IDLEMODE_NO);
|
|
|
-}
|
|
|
-
|
|
|
-static void omap_uart_set_smartidle(struct device *dev)
|
|
|
-{
|
|
|
- struct platform_device *pdev = to_platform_device(dev);
|
|
|
- struct omap_device *od = to_omap_device(pdev);
|
|
|
- u8 idlemode;
|
|
|
-
|
|
|
- if (od->hwmods[0]->class->sysc->idlemodes & SIDLE_SMART_WKUP)
|
|
|
- idlemode = HWMOD_IDLEMODE_SMART_WKUP;
|
|
|
- else
|
|
|
- idlemode = HWMOD_IDLEMODE_SMART;
|
|
|
-
|
|
|
- omap_hwmod_set_slave_idlemode(od->hwmods[0], idlemode);
|
|
|
-}
|
|
|
-
|
|
|
#else
|
|
|
static void omap_uart_enable_wakeup(struct device *dev, bool enable)
|
|
|
{}
|
|
|
-static void omap_uart_set_noidle(struct device *dev) {}
|
|
|
-static void omap_uart_set_smartidle(struct device *dev) {}
|
|
|
#endif /* CONFIG_PM */
|
|
|
|
|
|
#ifdef CONFIG_OMAP_MUX
|
|
@@ -299,8 +270,6 @@ void __init omap_serial_init_port(struct omap_board_data *bdata,
|
|
|
omap_up.uartclk = OMAP24XX_BASE_BAUD * 16;
|
|
|
omap_up.flags = UPF_BOOT_AUTOCONF;
|
|
|
omap_up.get_context_loss_count = omap_pm_get_dev_context_loss_count;
|
|
|
- omap_up.set_forceidle = omap_uart_set_smartidle;
|
|
|
- omap_up.set_noidle = omap_uart_set_noidle;
|
|
|
omap_up.enable_wakeup = omap_uart_enable_wakeup;
|
|
|
omap_up.dma_rx_buf_size = info->dma_rx_buf_size;
|
|
|
omap_up.dma_rx_timeout = info->dma_rx_timeout;
|