forked from Minki/linux
a580b8c542
This patch adds dma support for Freescale MXS-based SoC i.MX23/28, including apbh-dma and apbx-dma. * apbh-dma and apbx-dma are supported in the driver as two mxs-dma instances. * apbh-dma is different between mx23 and mx28, hardware version register is used to differentiate. * mxs-dma supports pio function besides data transfer. The driver uses dma_data_direction DMA_NONE to identify the pio mode, and steals sgl and sg_len to get pio words and numbers from clients. * mxs dmaengine has some very specific features, like sense function and the special NAND support (nand_lock, nand_wait4ready). These are too specific to implemented in generic dmaengine driver. * The driver refers to imx-sdma and only a single descriptor is statically assigned to each channel. Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
27 lines
643 B
C
27 lines
643 B
C
/*
|
|
* Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef __MACH_MXS_DMA_H__
|
|
#define __MACH_MXS_DMA_H__
|
|
|
|
struct mxs_dma_data {
|
|
int chan_irq;
|
|
};
|
|
|
|
static inline int mxs_dma_is_apbh(struct dma_chan *chan)
|
|
{
|
|
return !strcmp(dev_name(chan->device->dev), "mxs-dma-apbh");
|
|
}
|
|
|
|
static inline int mxs_dma_is_apbx(struct dma_chan *chan)
|
|
{
|
|
return !strcmp(dev_name(chan->device->dev), "mxs-dma-apbx");
|
|
}
|
|
|
|
#endif /* __MACH_MXS_DMA_H__ */
|