summaryrefslogtreecommitdiff
path: root/en29lv640b.c
diff options
context:
space:
mode:
authorstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2014-08-08 08:33:01 +0000
committerstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2014-08-08 08:33:01 +0000
commitf69f0c63b93e60c9c3bfd2cb6f88544479ce2918 (patch)
tree64ff1e62b06ee89492c914e11c86b54ddf126b0c /en29lv640b.c
parenta38e1e165c826e968ef144dcc74da6a3358097a6 (diff)
downloadflashrom-f69f0c63b93e60c9c3bfd2cb6f88544479ce2918.tar.gz
Unify non-shifted and shifted JEDEC access.
Some Parallel bus chips have a 16-bit mode and an 8-bit mode. They use normal JEDEC addresses for 16-bit mode and shifted addresses (by 1 bit) for 8-bit mode. Some programmers can access them in 16-bit mode, but on all flashrom-supported programmers so far, we access them in 8-bit mode. This means we have to shift the addresses but apart from the addresses we can share the code. This patch makes this possible by checking the chip's FEATURE_ADDR_SHIFTED flag in common JEDEC functions and applying the right addresses respectively. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@1840 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'en29lv640b.c')
-rw-r--r--en29lv640b.c48
1 files changed, 0 insertions, 48 deletions
diff --git a/en29lv640b.c b/en29lv640b.c
index a274f62..3a5f611 100644
--- a/en29lv640b.c
+++ b/en29lv640b.c
@@ -85,51 +85,3 @@ int probe_en29lv640b(struct flashctx *flash)
return 0;
}
-
-static int erase_chip_shifted_jedec(struct flashctx *flash)
-{
- chipaddr bios = flash->virtual_memory;
-
- chip_writeb(flash, 0xAA, bios + 0xAAA);
- chip_writeb(flash, 0x55, bios + 0x555);
- chip_writeb(flash, 0x80, bios + 0xAAA);
-
- chip_writeb(flash, 0xAA, bios + 0xAAA);
- chip_writeb(flash, 0x55, bios + 0x555);
- chip_writeb(flash, 0x10, bios + 0xAAA);
-
- programmer_delay(10);
- toggle_ready_jedec(flash, bios);
-
- /* FIXME: Check the status register for errors. */
- return 0;
-}
-
-int erase_block_shifted_jedec(struct flashctx *flash, unsigned int start, unsigned int len)
-{
- chipaddr bios = flash->virtual_memory;
- chipaddr dst = bios + start;
-
- chip_writeb(flash, 0xAA, bios + 0xAAA);
- chip_writeb(flash, 0x55, bios + 0x555);
- chip_writeb(flash, 0x80, bios + 0xAAA);
-
- chip_writeb(flash, 0xAA, bios + 0xAAA);
- chip_writeb(flash, 0x55, bios + 0x555);
- chip_writeb(flash, 0x30, dst);
-
- programmer_delay(10);
- toggle_ready_jedec(flash, bios);
-
- /* FIXME: Check the status register for errors. */
- return 0;
-}
-
-int erase_chip_block_shifted_jedec(struct flashctx *flash, unsigned int address, unsigned int blocklen)
-{
- if ((address != 0) || (blocklen != flash->chip->total_size * 1024)) {
- msg_cerr("%s called with incorrect arguments\n", __func__);
- return -1;
- }
- return erase_chip_shifted_jedec(flash);
-}