Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __MACH_DEVICE_H
0003 #define __MACH_DEVICE_H
0004 
0005 #include <linux/types.h>
0006 
0007 #define MAX_RESOURCE_DMA    2
0008 
0009 /* structure for describing the on-chip devices */
0010 struct mmp_device_desc {
0011     const char  *dev_name;
0012     const char  *drv_name;
0013     int     id;
0014     int     irq;
0015     unsigned long   start;
0016     unsigned long   size;
0017     int     dma[MAX_RESOURCE_DMA];
0018 };
0019 
0020 #define PXA168_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...)   \
0021 struct mmp_device_desc pxa168_device_##_name __initdata = {     \
0022     .dev_name   = "pxa168-" #_name,             \
0023     .drv_name   = _drv,                     \
0024     .id     = _id,                      \
0025     .irq        = IRQ_PXA168_##_irq,                \
0026     .start      = _start,                   \
0027     .size       = _size,                    \
0028     .dma        = { _dma },                 \
0029 };
0030 
0031 #define PXA910_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...)   \
0032 struct mmp_device_desc pxa910_device_##_name __initdata = {     \
0033     .dev_name   = "pxa910-" #_name,             \
0034     .drv_name   = _drv,                     \
0035     .id     = _id,                      \
0036     .irq        = IRQ_PXA910_##_irq,                \
0037     .start      = _start,                   \
0038     .size       = _size,                    \
0039     .dma        = { _dma },                 \
0040 };
0041 
0042 #define MMP2_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
0043 struct mmp_device_desc mmp2_device_##_name __initdata = {       \
0044     .dev_name   = "mmp2-" #_name,               \
0045     .drv_name   = _drv,                     \
0046     .id     = _id,                      \
0047     .irq        = IRQ_MMP2_##_irq,              \
0048     .start      = _start,                   \
0049     .size       = _size,                    \
0050     .dma        = { _dma },                 \
0051 }
0052 
0053 extern int mmp_register_device(struct mmp_device_desc *, void *, size_t);
0054 extern int pxa_usb_phy_init(void __iomem *phy_reg);
0055 extern void pxa_usb_phy_deinit(void __iomem *phy_reg);
0056 
0057 #endif /* __MACH_DEVICE_H */