| 
| 
#define  | AHB_BUS_MAX   6 | 
|   | 
| 
#define  | AMBAPP_FLAG_FFACT_DIR   0x100	/* Frequency factor direction, 0=down, 1=up */ | 
|   | 
| 
#define  | AMBAPP_FLAG_FFACT   0x0f0	/* Frequency factor against top bus */ | 
|   | 
| 
#define  | AMBAPP_FLAG_MBUS   0x00c | 
|   | 
| 
#define  | AMBAPP_FLAG_SBUS   0x003 | 
|   | 
| 
#define  | DEV_TO_APB(adev)   ((struct ambapp_apb_info *)((adev)->devinfo)) | 
|   | 
| 
#define  | DEV_TO_AHB(adev)   ((struct ambapp_ahb_info *)((adev)->devinfo)) | 
|   | 
| 
#define  | DEV_TO_COMMON(adev)   ((struct ambapp_common_info *)((adev)->devinfo)) | 
|   | 
| #define  | APB_TO_DEV(apb_info) | 
|   | 
| #define  | AHB_TO_DEV(ahb_info) | 
|   | 
| 
#define  | DEV_IS_FREE(dev)   (dev->owner == NULL) | 
|   | 
| 
#define  | DEV_IS_ALLOCATED(dev)   (dev->owner != NULL) | 
|   | 
| 
#define  | OPTIONS_AHB_MSTS   0x00000001 | 
|   | 
| 
#define  | OPTIONS_AHB_SLVS   0x00000002 | 
|   | 
| 
#define  | OPTIONS_APB_SLVS   0x00000004 | 
|   | 
| 
#define  | OPTIONS_ALL_DEVS   (OPTIONS_AHB_MSTS|OPTIONS_AHB_SLVS|OPTIONS_APB_SLVS) | 
|   | 
| 
#define  | OPTIONS_FREE   0x00000010 | 
|   | 
| 
#define  | OPTIONS_ALLOCATED   0x00000020 | 
|   | 
| 
#define  | OPTIONS_ALL   (OPTIONS_FREE|OPTIONS_ALLOCATED) | 
|   | 
| 
#define  | OPTIONS_DEPTH_FIRST   0x00000100 | 
|   | 
| 
#define  | DEV_AHB_NONE   0 | 
|   | 
| 
#define  | DEV_AHB_MST   1 | 
|   | 
| 
#define  | DEV_AHB_SLV   2 | 
|   | 
| 
#define  | DEV_APB_SLV   3 | 
|   | 
| 
#define  | ambapp_pnp_vendor(id)   (((id) >> 24) & 0xff) | 
|   | 
| 
#define  | ambapp_pnp_device(id)   (((id) >> 12) & 0xfff) | 
|   | 
| 
#define  | ambapp_pnp_ver(id)   (((id)>>5) & 0x1f) | 
|   | 
| 
#define  | ambapp_pnp_irq(id)   ((id) & 0x1f) | 
|   | 
| 
#define  | ambapp_pnp_start(mbar)   (((mbar) & 0xfff00000) & (((mbar) & 0xfff0) << 16)) | 
|   | 
| 
#define  | ambapp_pnp_mbar_mask(mbar)   (((mbar)>>4) & 0xfff) | 
|   | 
| 
#define  | ambapp_pnp_mbar_type(mbar)   ((mbar) & 0xf) | 
|   | 
| 
#define  | ambapp_pnp_apb_start(iobar,  base)   ((base) | ((((iobar) & 0xfff00000)>>12) & (((iobar) & 0xfff0)<<4)) ) | 
|   | 
| 
#define  | ambapp_pnp_apb_mask(iobar)   ((~(ambapp_pnp_mbar_mask(iobar)<<8) & 0x000fffff) + 1) | 
|   | 
| 
#define  | AMBA_TYPE_AHBIO_ADDR(addr,  base_ioarea)   ((unsigned int)(base_ioarea) | ((addr) >> 12)) | 
|   | 
| 
#define  | AMBA_TYPE_APBIO   0x1 | 
|   | 
| 
#define  | AMBA_TYPE_MEM   0x2 | 
|   | 
| 
#define  | AMBA_TYPE_AHBIO   0x3 | 
|   | 
 | 
| 
int  | ambapp_scan (struct ambapp_bus *abus, unsigned int ioarea, ambapp_memcpy_t memfunc, struct ambapp_mmap *mmaps) | 
|   | 
| 
void  | ambapp_freq_init (struct ambapp_bus *abus, struct ambapp_dev *dev, unsigned int freq) | 
|   | 
| 
unsigned int  | ambapp_freq_get (struct ambapp_bus *abus, struct ambapp_dev *dev) | 
|   | 
| 
int  | ambapp_for_each (struct ambapp_bus *abus, unsigned int options, int vendor, int device, ambapp_func_t func, void *arg) | 
|   | 
| 
int  | ambapp_find_by_idx (struct ambapp_dev *dev, int index, void *pcount) | 
|   | 
| 
int  | ambapp_dev_count (struct ambapp_bus *abus, unsigned int options, int vendor, int device) | 
|   | 
| 
void  | ambapp_print (struct ambapp_bus *abus, int show_depth) | 
|   | 
| 
int  | ambapp_alloc_dev (struct ambapp_dev *dev, void *owner) | 
|   | 
| 
void  | ambapp_free_dev (struct ambapp_dev *dev) | 
|   | 
| 
struct ambapp_dev *  | ambapp_find_parent (struct ambapp_dev *dev) | 
|   | 
| 
int  | ambapp_depth (struct ambapp_dev *dev) | 
|   | 
| 
char *  | ambapp_device_id2str (int vendor, int id) | 
|   | 
| 
char *  | ambapp_vendor_id2str (int vendor) | 
|   | 
| 
int  | ambapp_vendev_id2str (int vendor, int id, char *buf) | 
|   | 
| 
int  | ambapp_find_apbslv (struct ambapp_bus *abus, int vendor, int device, struct ambapp_apb_info *dev) | 
|   | 
| 
int  | ambapp_find_apbslv_next (struct ambapp_bus *abus, int vendor, int device, struct ambapp_apb_info *dev, int index) | 
|   | 
| 
int  | ambapp_find_apbslvs_next (struct ambapp_bus *abus, int vendor, int device, struct ambapp_apb_info *dev, int index, int maxno) | 
|   | 
| 
int  | ambapp_find_apbslvs (struct ambapp_bus *abus, int vendor, int device, struct ambapp_apb_info *dev, int maxno) | 
|   | 
| 
int  | ambapp_find_ahbslv (struct ambapp_bus *abus, int vendor, int device, struct ambapp_ahb_info *dev) | 
|   | 
| 
int  | ambapp_find_ahbslv_next (struct ambapp_bus *abus, int vendor, int device, struct ambapp_ahb_info *dev, int index) | 
|   | 
| 
int  | ambapp_find_ahbslvs_next (struct ambapp_bus *abus, int vendor, int device, struct ambapp_ahb_info *dev, int index, int maxno) | 
|   | 
| 
int  | ambapp_find_ahbslvs (struct ambapp_bus *abus, int vendor, int device, struct ambapp_ahb_info *dev, int maxno) | 
|   | 
| 
int  | ambapp_get_number_ahbslv_devices (struct ambapp_bus *abus, int vendor, int device) | 
|   | 
| 
int  | ambapp_get_number_apbslv_devices (struct ambapp_bus *abus, int vendor, int device) | 
|   | 
AMBA Plug & Play routines.