diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/flash.h | 7 | ||||
-rw-r--r-- | include/programmer.h | 9 |
2 files changed, 11 insertions, 5 deletions
diff --git a/include/flash.h b/include/flash.h index 79aaa64a..c696f64e 100644 --- a/include/flash.h +++ b/include/flash.h @@ -55,8 +55,11 @@ typedef uintptr_t chipaddr; #define PRIxPTR_WIDTH ((int)(sizeof(uintptr_t)*2)) int register_shutdown(int (*function) (void *data), void *data); -void *programmer_map_flash_region(const char *descr, uintptr_t phys_addr, size_t len); -void programmer_unmap_flash_region(void *virt_addr, size_t len); +struct registered_master; +void *master_map_flash_region(const struct registered_master *mast, + const char *descr, uintptr_t phys_addr, size_t len); +void master_unmap_flash_region(const struct registered_master *mast, + void *virt_addr, size_t len); void programmer_delay(unsigned int usecs); #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) diff --git a/include/programmer.h b/include/programmer.h index 17abfd22..4b5bf92a 100644 --- a/include/programmer.h +++ b/include/programmer.h @@ -50,9 +50,6 @@ struct programmer_entry { int (*init) (const struct programmer_cfg *cfg); - void *(*map_flash_region) (const char *descr, uintptr_t phys_addr, size_t len); - void (*unmap_flash_region) (void *virt_addr, size_t len); - void (*delay) (unsigned int usecs); }; @@ -309,6 +306,8 @@ struct spi_master { int (*multicommand)(const struct flashctx *flash, struct spi_command *cmds); /* Optimized functions for this master */ + void *(*map_flash_region) (const char *descr, uintptr_t phys_addr, size_t len); + void (*unmap_flash_region) (void *virt_addr, size_t len); int (*read)(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len); int (*write_256)(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len); int (*write_aai)(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len); @@ -399,6 +398,8 @@ int wbsio_check_for_spi(void); /* opaque.c */ struct opaque_master { + void *(*map_flash_region) (const char *descr, uintptr_t phys_addr, size_t len); + void (*unmap_flash_region) (void *virt_addr, size_t len); int max_data_read; int max_data_write; /* Specific functions for this master */ @@ -424,6 +425,8 @@ int register_opaque_master(const struct opaque_master *mst, void *data); /* parallel.c */ struct par_master { + void *(*map_flash_region) (const char *descr, uintptr_t phys_addr, size_t len); + void (*unmap_flash_region) (void *virt_addr, size_t len); void (*chip_writeb) (const struct flashctx *flash, uint8_t val, chipaddr addr); void (*chip_writew) (const struct flashctx *flash, uint16_t val, chipaddr addr); void (*chip_writel) (const struct flashctx *flash, uint32_t val, chipaddr addr); |