Merge branch 'sa11x0-ir' into sa11x0
This commit is contained in:
Коммит
277dc7ae14
|
@ -14,6 +14,7 @@
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
|
#include <linux/dma-mapping.h>
|
||||||
#include <linux/pm.h>
|
#include <linux/pm.h>
|
||||||
#include <linux/cpufreq.h>
|
#include <linux/cpufreq.h>
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
|
@ -289,6 +290,29 @@ static struct platform_device sa11x0rtc_device = {
|
||||||
.id = -1,
|
.id = -1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource sa11x0dma_resources[] = {
|
||||||
|
DEFINE_RES_MEM(__PREG(DDAR(0)), 6 * DMASp),
|
||||||
|
DEFINE_RES_IRQ(IRQ_DMA0),
|
||||||
|
DEFINE_RES_IRQ(IRQ_DMA1),
|
||||||
|
DEFINE_RES_IRQ(IRQ_DMA2),
|
||||||
|
DEFINE_RES_IRQ(IRQ_DMA3),
|
||||||
|
DEFINE_RES_IRQ(IRQ_DMA4),
|
||||||
|
DEFINE_RES_IRQ(IRQ_DMA5),
|
||||||
|
};
|
||||||
|
|
||||||
|
static u64 sa11x0dma_dma_mask = DMA_BIT_MASK(32);
|
||||||
|
|
||||||
|
static struct platform_device sa11x0dma_device = {
|
||||||
|
.name = "sa11x0-dma",
|
||||||
|
.id = -1,
|
||||||
|
.dev = {
|
||||||
|
.dma_mask = &sa11x0dma_dma_mask,
|
||||||
|
.coherent_dma_mask = 0xffffffff,
|
||||||
|
},
|
||||||
|
.num_resources = ARRAY_SIZE(sa11x0dma_resources),
|
||||||
|
.resource = sa11x0dma_resources,
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device *sa11x0_devices[] __initdata = {
|
static struct platform_device *sa11x0_devices[] __initdata = {
|
||||||
&sa11x0udc_device,
|
&sa11x0udc_device,
|
||||||
&sa11x0uart1_device,
|
&sa11x0uart1_device,
|
||||||
|
@ -297,6 +321,7 @@ static struct platform_device *sa11x0_devices[] __initdata = {
|
||||||
&sa11x0pcmcia_device,
|
&sa11x0pcmcia_device,
|
||||||
&sa11x0fb_device,
|
&sa11x0fb_device,
|
||||||
&sa11x0rtc_device,
|
&sa11x0rtc_device,
|
||||||
|
&sa11x0dma_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init sa1100_init(void)
|
static int __init sa1100_init(void)
|
||||||
|
|
|
@ -252,6 +252,15 @@ config EP93XX_DMA
|
||||||
help
|
help
|
||||||
Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller.
|
Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller.
|
||||||
|
|
||||||
|
config DMA_SA11X0
|
||||||
|
tristate "SA-11x0 DMA support"
|
||||||
|
depends on ARCH_SA1100
|
||||||
|
select DMA_ENGINE
|
||||||
|
help
|
||||||
|
Support the DMA engine found on Intel StrongARM SA-1100 and
|
||||||
|
SA-1110 SoCs. This DMA engine can only be used with on-chip
|
||||||
|
devices.
|
||||||
|
|
||||||
config DMA_ENGINE
|
config DMA_ENGINE
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
|
|
@ -27,3 +27,4 @@ obj-$(CONFIG_PL330_DMA) += pl330.o
|
||||||
obj-$(CONFIG_PCH_DMA) += pch_dma.o
|
obj-$(CONFIG_PCH_DMA) += pch_dma.o
|
||||||
obj-$(CONFIG_AMBA_PL08X) += amba-pl08x.o
|
obj-$(CONFIG_AMBA_PL08X) += amba-pl08x.o
|
||||||
obj-$(CONFIG_EP93XX_DMA) += ep93xx_dma.o
|
obj-$(CONFIG_EP93XX_DMA) += ep93xx_dma.o
|
||||||
|
obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o
|
||||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -356,7 +356,7 @@ config VLSI_FIR
|
||||||
|
|
||||||
config SA1100_FIR
|
config SA1100_FIR
|
||||||
tristate "SA1100 Internal IR"
|
tristate "SA1100 Internal IR"
|
||||||
depends on ARCH_SA1100 && IRDA
|
depends on ARCH_SA1100 && IRDA && DMA_SA11X0
|
||||||
|
|
||||||
config VIA_FIR
|
config VIA_FIR
|
||||||
tristate "VIA VT8231/VT1211 SIR/MIR/FIR"
|
tristate "VIA VT8231/VT1211 SIR/MIR/FIR"
|
||||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,24 @@
|
||||||
|
/*
|
||||||
|
* SA11x0 DMA Engine support
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Russell King
|
||||||
|
*
|
||||||
|
* 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 __LINUX_SA11X0_DMA_H
|
||||||
|
#define __LINUX_SA11X0_DMA_H
|
||||||
|
|
||||||
|
struct dma_chan;
|
||||||
|
|
||||||
|
#if defined(CONFIG_DMA_SA11X0) || defined(CONFIG_DMA_SA11X0_MODULE)
|
||||||
|
bool sa11x0_dma_filter_fn(struct dma_chan *, void *);
|
||||||
|
#else
|
||||||
|
static inline bool sa11x0_dma_filter_fn(struct dma_chan *c, void *d)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Загрузка…
Ссылка в новой задаче