diff options
Diffstat (limited to 'programmer.h')
-rw-r--r-- | programmer.h | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/programmer.h b/programmer.h index 1510e2fb..e2bb3d82 100644 --- a/programmer.h +++ b/programmer.h @@ -90,8 +90,20 @@ enum programmer { PROGRAMMER_INVALID /* This must always be the last entry. */ }; +enum programmer_type { + PCI = 1, /* to detect uninitialized values */ + USB, + OTHER, +}; + struct programmer_entry { const char *name; + const enum programmer_type type; + union { + const struct pcidev_status *const pci; + const struct usbdev_status *const usb; + const char *const note; + } devs; int (*init) (void); @@ -219,13 +231,6 @@ void internal_delay(int usecs); extern uint32_t io_base_addr; extern struct pci_access *pacc; extern struct pci_dev *pcidev_dev; -struct pcidev_status { - uint16_t vendor_id; - uint16_t device_id; - const enum test_state status; - const char *vendor_name; - const char *device_name; -}; uintptr_t pcidev_readbar(struct pci_dev *dev, int bar); uintptr_t pcidev_init(int bar, const struct pcidev_status *devs); /* rpci_write_* are reversible writes. The original PCI config space register @@ -242,6 +247,21 @@ int rpci_write_long(struct pci_dev *dev, int reg, uint32_t data); void print_supported_pcidevs(const struct pcidev_status *devs); #endif +struct usbdev_status { + uint16_t vendor_id; + uint16_t device_id; + const enum test_state status; + const char *vendor_name; + const char *device_name; +}; +struct pcidev_status { + uint16_t vendor_id; + uint16_t device_id; + const enum test_state status; + const char *vendor_name; + const char *device_name; +}; + #if CONFIG_INTERNAL == 1 /* board_enable.c */ int board_parse_parameter(const char *boardstring, const char **vendor, const char **model); @@ -420,13 +440,6 @@ extern const struct pcidev_status ata_hpt[]; /* ft2232_spi.c */ #if CONFIG_FT2232_SPI == 1 -struct usbdev_status { - uint16_t vendor_id; - uint16_t device_id; - const enum test_state status; - const char *vendor_name; - const char *device_name; -}; int ft2232_spi_init(void); extern const struct usbdev_status devs_ft2232spi[]; void print_supported_usbdevs(const struct usbdev_status *devs); |