*** empty log message ***
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1852 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
883b8793c9
commit
3678ad8e38
|
@ -66,7 +66,7 @@ struct flashchip flashchips[] = {
|
|||
{"SST39VF020", SST_ID, SST_39VF020, NULL, 256, 4096,
|
||||
probe_jedec, erase_chip_jedec, write_39sf020,NULL},
|
||||
{"SST49LF040", SST_ID, SST_49LF040, NULL, 512, 4096,
|
||||
probe_jedec, erase_chip_jedec, write_49lf040,NULL},
|
||||
probe_jedec, erase_49lf040, write_49lf040,NULL},
|
||||
{"SST49LF080A", SST_ID, SST_49LF080A, NULL, 1024, 4096,
|
||||
probe_jedec, erase_chip_jedec, write_49lf040,NULL},
|
||||
{"SST49LF002A/B", SST_ID, SST_49LF002A, NULL, 256, 16 * 1024,
|
||||
|
|
|
@ -30,6 +30,21 @@
|
|||
#include "jedec.h"
|
||||
#include "sst49lf040.h"
|
||||
|
||||
int erase_49lf040(struct flashchip *flash)
|
||||
{
|
||||
int i;
|
||||
int total_size = flash->total_size * 1024;
|
||||
int page_size = flash->page_size;
|
||||
volatile char *bios = flash->virt_addr;
|
||||
|
||||
for (i = 0; i < total_size / page_size; i++) {
|
||||
/* Chip erase only works in parallel programming mode
|
||||
* for the 49lf040. Use sector-erase instead */
|
||||
erase_sector_jedec(bios, i * page_size);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int write_49lf040(struct flashchip *flash, unsigned char *buf)
|
||||
{
|
||||
int i;
|
||||
|
@ -40,8 +55,8 @@ int write_49lf040(struct flashchip *flash, unsigned char *buf)
|
|||
printf("Programming Page: ");
|
||||
for (i = 0; i < total_size / page_size; i++) {
|
||||
/* erase the page before programming
|
||||
* Chip erase only works in parallel programming mode for the 49lf040.
|
||||
* Use sector-erase instead */
|
||||
* Chip erase only works in parallel programming mode
|
||||
* for the 49lf040. Use sector-erase instead */
|
||||
erase_sector_jedec(bios, i * page_size);
|
||||
|
||||
/* write to the sector */
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __SST49LF040_H__
|
||||
#define __SST49LF040_H__ 1
|
||||
|
||||
extern int erase_49lf040(struct flashchip *flash);
|
||||
extern int write_49lf040(struct flashchip *flash, unsigned char *buf);
|
||||
|
||||
#endif /* !__SST49LF040_H__ */
|
||||
|
|
Loading…
Reference in New Issue