1
2 #ifndef __MACH_DEVICE_H
3 #define __MACH_DEVICE_H
4
5 #include <linux/types.h>
6
7 #define MAX_RESOURCE_DMA 2
8
9
10 struct pxa_device_desc {
11 const char *dev_name;
12 const char *drv_name;
13 int id;
14 int irq;
15 unsigned long start;
16 unsigned long size;
17 int dma[MAX_RESOURCE_DMA];
18 };
19
20 #define PXA168_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
21 struct pxa_device_desc pxa168_device_##_name __initdata = { \
22 .dev_name = "pxa168-" #_name, \
23 .drv_name = _drv, \
24 .id = _id, \
25 .irq = IRQ_PXA168_##_irq, \
26 .start = _start, \
27 .size = _size, \
28 .dma = { _dma }, \
29 };
30
31 #define PXA910_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
32 struct pxa_device_desc pxa910_device_##_name __initdata = { \
33 .dev_name = "pxa910-" #_name, \
34 .drv_name = _drv, \
35 .id = _id, \
36 .irq = IRQ_PXA910_##_irq, \
37 .start = _start, \
38 .size = _size, \
39 .dma = { _dma }, \
40 };
41
42 #define MMP2_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
43 struct pxa_device_desc mmp2_device_##_name __initdata = { \
44 .dev_name = "mmp2-" #_name, \
45 .drv_name = _drv, \
46 .id = _id, \
47 .irq = IRQ_MMP2_##_irq, \
48 .start = _start, \
49 .size = _size, \
50 .dma = { _dma }, \
51 }
52
53 extern int pxa_register_device(struct pxa_device_desc *, void *, size_t);
54 extern int pxa_usb_phy_init(void __iomem *phy_reg);
55 extern void pxa_usb_phy_deinit(void __iomem *phy_reg);
56
57 #endif