![]() |
RTEMS
5.1
|
AMBA Plug & Play routines. More...
Files | |
file | ambapp.h |
file | ambapp_ids.h |
AMBA Plug & Play Bus Vendor and Device IDs. | |
file | grlib.h |
Common GRLIB AMBA Core Register definitions. | |
Data Structures | |
struct | ambapp_dev |
struct | ambapp_common_info |
struct | ambapp_apb_info |
struct | ambapp_ahb_info |
struct | ambapp_core |
struct | ambapp_ahb_bus |
struct | ambapp_mmap |
struct | ambapp_bus |
struct | ambapp_pnp_ahb |
struct | ambapp_pnp_apb |
Macros | |
#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 |
Typedefs | |
typedef int(* | ambapp_func_t) (struct ambapp_dev *dev, int index, void *arg) |
typedef void *(* | ambapp_memcpy_t) (void *dest, const void *src, int n, struct ambapp_bus *abus) |
Functions | |
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.
#define AHB_TO_DEV | ( | ahb_info | ) |
#define APB_TO_DEV | ( | apb_info | ) |