1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-07-02 22:43:17 +02:00

Add generic 16 bit and 32 bit chip read/write emulation to the external flasher infrastructure

The emulation works by splitting 32 bit accesses into 16 bit accesses
and 16 bit accesses into to 8 bit accesses. That way, external flashers
can mix and match the amount of emulation they need.

Corresponding to flashrom svn r517.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
This commit is contained in:
Carl-Daniel Hailfinger
2009-05-16 01:23:55 +00:00
parent 9862251f89
commit 9ee107721f
4 changed files with 39 additions and 26 deletions

View File

@ -611,6 +611,10 @@ void internal_chip_writel(uint32_t val, volatile void *addr);
uint8_t internal_chip_readb(const volatile void *addr);
uint16_t internal_chip_readw(const volatile void *addr);
uint32_t internal_chip_readl(const volatile void *addr);
void fallback_chip_writew(uint16_t val, volatile void *addr);
void fallback_chip_writel(uint32_t val, volatile void *addr);
uint16_t fallback_chip_readw(const volatile void *addr);
uint32_t fallback_chip_readl(const volatile void *addr);
#if defined(__FreeBSD__) || defined(__DragonFly__)
extern int io_fd;
#endif
@ -635,11 +639,7 @@ int nic3com_shutdown(void);
void *nic3com_map(const char *descr, unsigned long phys_addr, size_t len);
void nic3com_unmap(void *virt_addr, size_t len);
void nic3com_chip_writeb(uint8_t val, volatile void *addr);
void nic3com_chip_writew(uint16_t val, volatile void *addr);
void nic3com_chip_writel(uint32_t val, volatile void *addr);
uint8_t nic3com_chip_readb(const volatile void *addr);
uint16_t nic3com_chip_readw(const volatile void *addr);
uint32_t nic3com_chip_readl(const volatile void *addr);
extern struct pcidev_status nics_3com[];
/* flashrom.c */