forked from Minki/linux
2f7e8faef5
Marvell MMP2 (aka ARMADA610) is a SoC based on PJ4 core. It's ARMv6 compatible. Support basic interrupt handler and timer, and basic support for MMP2 based FLINT platform. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
#include <linux/types.h>
|
|
|
|
#define MAX_RESOURCE_DMA 2
|
|
|
|
/* structure for describing the on-chip devices */
|
|
struct pxa_device_desc {
|
|
const char *dev_name;
|
|
const char *drv_name;
|
|
int id;
|
|
int irq;
|
|
unsigned long start;
|
|
unsigned long size;
|
|
int dma[MAX_RESOURCE_DMA];
|
|
};
|
|
|
|
#define PXA168_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
|
|
struct pxa_device_desc pxa168_device_##_name __initdata = { \
|
|
.dev_name = "pxa168-" #_name, \
|
|
.drv_name = _drv, \
|
|
.id = _id, \
|
|
.irq = IRQ_PXA168_##_irq, \
|
|
.start = _start, \
|
|
.size = _size, \
|
|
.dma = { _dma }, \
|
|
};
|
|
|
|
#define PXA910_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
|
|
struct pxa_device_desc pxa910_device_##_name __initdata = { \
|
|
.dev_name = "pxa910-" #_name, \
|
|
.drv_name = _drv, \
|
|
.id = _id, \
|
|
.irq = IRQ_PXA910_##_irq, \
|
|
.start = _start, \
|
|
.size = _size, \
|
|
.dma = { _dma }, \
|
|
};
|
|
|
|
#define MMP2_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
|
|
struct pxa_device_desc mmp2_device_##_name __initdata = { \
|
|
.dev_name = "mmp2-" #_name, \
|
|
.drv_name = _drv, \
|
|
.id = _id, \
|
|
.irq = IRQ_MMP2_##_irq, \
|
|
.start = _start, \
|
|
.size = _size, \
|
|
.dma = { _dma }, \
|
|
}
|
|
|
|
extern int pxa_register_device(struct pxa_device_desc *, void *, size_t);
|