mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 18:39:59 +00:00
dma: coh901318: create a proper platform data file
This extracts the platform data that we will keep generic from the U300 platform and associates it with the COH901318 driver in <linux/platform_data/dma-coh901318.h>. Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
d1c3ed669a
commit
9f575d9741
6 changed files with 75 additions and 78 deletions
|
@ -31,6 +31,7 @@
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
#include <linux/platform_data/clk-u300.h>
|
#include <linux/platform_data/clk-u300.h>
|
||||||
#include <linux/platform_data/pinctrl-coh901.h>
|
#include <linux/platform_data/pinctrl-coh901.h>
|
||||||
|
#include <linux/platform_data/dma-coh901318.h>
|
||||||
|
|
||||||
#include <asm/types.h>
|
#include <asm/types.h>
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
|
@ -49,7 +50,6 @@
|
||||||
#include "spi.h"
|
#include "spi.h"
|
||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
#include "u300-gpio.h"
|
#include "u300-gpio.h"
|
||||||
#include "dma_channels.h"
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Static I/O mappings that are needed for booting the U300 platforms. The
|
* Static I/O mappings that are needed for booting the U300 platforms. The
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
/*
|
|
||||||
*
|
|
||||||
* arch/arm/mach-u300/include/mach/dma_channels.h
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Copyright (C) 2007-2012 ST-Ericsson
|
|
||||||
* License terms: GNU General Public License (GPL) version 2
|
|
||||||
* Map file for the U300 dma driver.
|
|
||||||
* Author: Per Friden <per.friden@stericsson.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef DMA_CHANNELS_H
|
|
||||||
#define DMA_CHANNELS_H
|
|
||||||
|
|
||||||
#define U300_DMA_MSL_TX_0 0
|
|
||||||
#define U300_DMA_MSL_TX_1 1
|
|
||||||
#define U300_DMA_MSL_TX_2 2
|
|
||||||
#define U300_DMA_MSL_TX_3 3
|
|
||||||
#define U300_DMA_MSL_TX_4 4
|
|
||||||
#define U300_DMA_MSL_TX_5 5
|
|
||||||
#define U300_DMA_MSL_TX_6 6
|
|
||||||
#define U300_DMA_MSL_RX_0 7
|
|
||||||
#define U300_DMA_MSL_RX_1 8
|
|
||||||
#define U300_DMA_MSL_RX_2 9
|
|
||||||
#define U300_DMA_MSL_RX_3 10
|
|
||||||
#define U300_DMA_MSL_RX_4 11
|
|
||||||
#define U300_DMA_MSL_RX_5 12
|
|
||||||
#define U300_DMA_MSL_RX_6 13
|
|
||||||
#define U300_DMA_MMCSD_RX_TX 14
|
|
||||||
#define U300_DMA_MSPRO_TX 15
|
|
||||||
#define U300_DMA_MSPRO_RX 16
|
|
||||||
#define U300_DMA_UART0_TX 17
|
|
||||||
#define U300_DMA_UART0_RX 18
|
|
||||||
#define U300_DMA_APEX_TX 19
|
|
||||||
#define U300_DMA_APEX_RX 20
|
|
||||||
#define U300_DMA_PCM_I2S0_TX 21
|
|
||||||
#define U300_DMA_PCM_I2S0_RX 22
|
|
||||||
#define U300_DMA_PCM_I2S1_TX 23
|
|
||||||
#define U300_DMA_PCM_I2S1_RX 24
|
|
||||||
#define U300_DMA_XGAM_CDI 25
|
|
||||||
#define U300_DMA_XGAM_PDI 26
|
|
||||||
#define U300_DMA_SPI_TX 27
|
|
||||||
#define U300_DMA_SPI_RX 28
|
|
||||||
#define U300_DMA_GENERAL_PURPOSE_0 29
|
|
||||||
#define U300_DMA_GENERAL_PURPOSE_1 30
|
|
||||||
#define U300_DMA_GENERAL_PURPOSE_2 31
|
|
||||||
#define U300_DMA_GENERAL_PURPOSE_3 32
|
|
||||||
#define U300_DMA_GENERAL_PURPOSE_4 33
|
|
||||||
#define U300_DMA_GENERAL_PURPOSE_5 34
|
|
||||||
#define U300_DMA_GENERAL_PURPOSE_6 35
|
|
||||||
#define U300_DMA_GENERAL_PURPOSE_7 36
|
|
||||||
#define U300_DMA_GENERAL_PURPOSE_8 37
|
|
||||||
#define U300_DMA_UART1_TX 38
|
|
||||||
#define U300_DMA_UART1_RX 39
|
|
||||||
|
|
||||||
#define U300_DMA_DEVICE_CHANNELS 32
|
|
||||||
#define U300_DMA_CHANNELS 40
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* DMA_CHANNELS_H */
|
|
|
@ -102,22 +102,6 @@ struct coh901318_platform {
|
||||||
const int max_channels;
|
const int max_channels;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_COH901318
|
|
||||||
/**
|
|
||||||
* coh901318_filter_id() - DMA channel filter function
|
|
||||||
* @chan: dma channel handle
|
|
||||||
* @chan_id: id of dma channel to be filter out
|
|
||||||
*
|
|
||||||
* In dma_request_channel() it specifies what channel id to be requested
|
|
||||||
*/
|
|
||||||
bool coh901318_filter_id(struct dma_chan *chan, void *chan_id);
|
|
||||||
#else
|
|
||||||
static inline bool coh901318_filter_id(struct dma_chan *chan, void *chan_id)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DMA Controller - this access the static mappings of the coh901318 dma.
|
* DMA Controller - this access the static mappings of the coh901318 dma.
|
||||||
*
|
*
|
||||||
|
|
|
@ -10,9 +10,9 @@
|
||||||
#include <linux/amba/bus.h>
|
#include <linux/amba/bus.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
#include <linux/amba/pl022.h>
|
#include <linux/amba/pl022.h>
|
||||||
|
#include <linux/platform_data/dma-coh901318.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <mach/coh901318.h>
|
#include <mach/coh901318.h>
|
||||||
#include "dma_channels.h"
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following is for the actual devices on the SSP/SPI bus
|
* The following is for the actual devices on the SSP/SPI bus
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
|
#include <linux/platform_data/dma-coh901318.h>
|
||||||
#include <mach/coh901318.h>
|
#include <mach/coh901318.h>
|
||||||
|
|
||||||
#include "coh901318_lli.h"
|
#include "coh901318_lli.h"
|
||||||
|
|
72
include/linux/platform_data/dma-coh901318.h
Normal file
72
include/linux/platform_data/dma-coh901318.h
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
/*
|
||||||
|
* Platform data for the COH901318 DMA controller
|
||||||
|
* Copyright (C) 2007-2013 ST-Ericsson
|
||||||
|
* License terms: GNU General Public License (GPL) version 2
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PLAT_COH901318_H
|
||||||
|
#define PLAT_COH901318_H
|
||||||
|
|
||||||
|
#ifdef CONFIG_COH901318
|
||||||
|
|
||||||
|
/* We only support the U300 DMA channels */
|
||||||
|
#define U300_DMA_MSL_TX_0 0
|
||||||
|
#define U300_DMA_MSL_TX_1 1
|
||||||
|
#define U300_DMA_MSL_TX_2 2
|
||||||
|
#define U300_DMA_MSL_TX_3 3
|
||||||
|
#define U300_DMA_MSL_TX_4 4
|
||||||
|
#define U300_DMA_MSL_TX_5 5
|
||||||
|
#define U300_DMA_MSL_TX_6 6
|
||||||
|
#define U300_DMA_MSL_RX_0 7
|
||||||
|
#define U300_DMA_MSL_RX_1 8
|
||||||
|
#define U300_DMA_MSL_RX_2 9
|
||||||
|
#define U300_DMA_MSL_RX_3 10
|
||||||
|
#define U300_DMA_MSL_RX_4 11
|
||||||
|
#define U300_DMA_MSL_RX_5 12
|
||||||
|
#define U300_DMA_MSL_RX_6 13
|
||||||
|
#define U300_DMA_MMCSD_RX_TX 14
|
||||||
|
#define U300_DMA_MSPRO_TX 15
|
||||||
|
#define U300_DMA_MSPRO_RX 16
|
||||||
|
#define U300_DMA_UART0_TX 17
|
||||||
|
#define U300_DMA_UART0_RX 18
|
||||||
|
#define U300_DMA_APEX_TX 19
|
||||||
|
#define U300_DMA_APEX_RX 20
|
||||||
|
#define U300_DMA_PCM_I2S0_TX 21
|
||||||
|
#define U300_DMA_PCM_I2S0_RX 22
|
||||||
|
#define U300_DMA_PCM_I2S1_TX 23
|
||||||
|
#define U300_DMA_PCM_I2S1_RX 24
|
||||||
|
#define U300_DMA_XGAM_CDI 25
|
||||||
|
#define U300_DMA_XGAM_PDI 26
|
||||||
|
#define U300_DMA_SPI_TX 27
|
||||||
|
#define U300_DMA_SPI_RX 28
|
||||||
|
#define U300_DMA_GENERAL_PURPOSE_0 29
|
||||||
|
#define U300_DMA_GENERAL_PURPOSE_1 30
|
||||||
|
#define U300_DMA_GENERAL_PURPOSE_2 31
|
||||||
|
#define U300_DMA_GENERAL_PURPOSE_3 32
|
||||||
|
#define U300_DMA_GENERAL_PURPOSE_4 33
|
||||||
|
#define U300_DMA_GENERAL_PURPOSE_5 34
|
||||||
|
#define U300_DMA_GENERAL_PURPOSE_6 35
|
||||||
|
#define U300_DMA_GENERAL_PURPOSE_7 36
|
||||||
|
#define U300_DMA_GENERAL_PURPOSE_8 37
|
||||||
|
#define U300_DMA_UART1_TX 38
|
||||||
|
#define U300_DMA_UART1_RX 39
|
||||||
|
|
||||||
|
#define U300_DMA_DEVICE_CHANNELS 32
|
||||||
|
#define U300_DMA_CHANNELS 40
|
||||||
|
|
||||||
|
/**
|
||||||
|
* coh901318_filter_id() - DMA channel filter function
|
||||||
|
* @chan: dma channel handle
|
||||||
|
* @chan_id: id of dma channel to be filter out
|
||||||
|
*
|
||||||
|
* In dma_request_channel() it specifies what channel id to be requested
|
||||||
|
*/
|
||||||
|
bool coh901318_filter_id(struct dma_chan *chan, void *chan_id);
|
||||||
|
#else
|
||||||
|
static inline bool coh901318_filter_id(struct dma_chan *chan, void *chan_id)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* PLAT_COH901318_H */
|
Loading…
Reference in a new issue