Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/bhnd/bcma/bcma_eromvar.h
Show All 34 Lines | |||||
#include <dev/bhnd/bhnd.h> | #include <dev/bhnd/bhnd.h> | ||||
#include "bcmavar.h" | #include "bcmavar.h" | ||||
/** | /** | ||||
* EROM read context. | * EROM read context. | ||||
*/ | */ | ||||
struct bcma_erom { | struct bcma_erom { | ||||
device_t dev; /**< EROM parent device */ | device_t dev; /**< EROM parent device */ | ||||
struct resource *r; /**< EROM table resource. */ | bus_space_tag_t bst; /**< EROM table bus space */ | ||||
bus_space_handle_t bsh; /**< EROM table bus handle */ | |||||
bus_size_t start; /**< EROM table offset */ | bus_size_t start; /**< EROM table offset */ | ||||
bus_size_t offset; /**< current read offset */ | bus_size_t offset; /**< current read offset */ | ||||
}; | }; | ||||
/** EROM core descriptor. */ | /** EROM core descriptor. */ | ||||
struct bcma_erom_core { | struct bcma_erom_core { | ||||
uint16_t vendor; /**< core's designer */ | uint16_t vendor; /**< core's designer */ | ||||
uint16_t device; /**< core's device identifier */ | uint16_t device; /**< core's device identifier */ | ||||
uint16_t rev; /**< core's hardware revision */ | uint16_t rev; /**< core's hardware revision */ | ||||
u_long num_mport; /**< number of master port descriptors */ | u_long num_mport; /**< number of master port descriptors */ | ||||
Show All 18 Lines | struct bcma_erom_sport_region { | ||||
uint8_t region_type; /**< the mapping port's type */ | uint8_t region_type; /**< the mapping port's type */ | ||||
bhnd_addr_t base_addr; /**< region base address */ | bhnd_addr_t base_addr; /**< region base address */ | ||||
bhnd_addr_t size; /**< region size */ | bhnd_addr_t size; /**< region size */ | ||||
}; | }; | ||||
int bcma_erom_open(struct bcma_erom *erom, struct resource *r, | int bcma_erom_open(struct bcma_erom *erom, struct resource *r, | ||||
bus_size_t offset); | bus_size_t offset); | ||||
int bhnd_erom_bus_space_open(struct bcma_erom *erom, device_t owner, | |||||
bus_space_tag_t bst, bus_space_handle_t bsh, | |||||
bus_size_t offset); | |||||
int bcma_erom_peek32(struct bcma_erom *erom, uint32_t *entry); | int bcma_erom_peek32(struct bcma_erom *erom, uint32_t *entry); | ||||
bus_size_t bcma_erom_tell(struct bcma_erom *erom); | bus_size_t bcma_erom_tell(struct bcma_erom *erom); | ||||
void bcma_erom_seek(struct bcma_erom *erom, bus_size_t offset); | void bcma_erom_seek(struct bcma_erom *erom, bus_size_t offset); | ||||
void bcma_erom_reset(struct bcma_erom *erom); | void bcma_erom_reset(struct bcma_erom *erom); | ||||
int bcma_erom_seek_next_core(struct bcma_erom *erom); | |||||
int bcma_erom_seek_core_index(struct bcma_erom *erom, | int bcma_erom_seek_core_index(struct bcma_erom *erom, | ||||
u_int core_index); | u_int core_index); | ||||
int bcma_erom_parse_core(struct bcma_erom *erom, | int bcma_erom_parse_core(struct bcma_erom *erom, | ||||
struct bcma_erom_core *core); | struct bcma_erom_core *core); | ||||
int bcma_erom_seek_core_sport_region(struct bcma_erom *erom, | |||||
u_int core_index, bhnd_port_type port_type, u_int port_num, | |||||
u_int region_num); | |||||
int bcma_erom_parse_mport(struct bcma_erom *erom, | int bcma_erom_parse_mport(struct bcma_erom *erom, | ||||
struct bcma_erom_mport *mport); | struct bcma_erom_mport *mport); | ||||
int bcma_erom_parse_sport_region(struct bcma_erom *erom, | int bcma_erom_parse_sport_region(struct bcma_erom *erom, | ||||
struct bcma_erom_sport_region *region); | struct bcma_erom_sport_region *region); | ||||
void bcma_erom_to_core_info(const struct bcma_erom_core *core, | |||||
u_int core_idx, int core_unit, struct bhnd_core_info *info); | |||||
int bcma_erom_get_core_info(struct bcma_erom *erom, | int bcma_erom_get_core_info(struct bcma_erom *erom, | ||||
struct bhnd_core_info **cores, | struct bhnd_core_info **cores, | ||||
u_int *num_cores); | u_int *num_cores); | ||||
int bcma_erom_parse_corecfg(struct bcma_erom *erom, | int bcma_erom_parse_corecfg(struct bcma_erom *erom, | ||||
struct bcma_corecfg **result); | struct bcma_corecfg **result); | ||||
#endif /* _BCMA_BCMA_EROMVAR_H_ */ | #endif /* _BCMA_BCMA_EROMVAR_H_ */ |