Submitter | Andreas Seltenreich |
---|---|
Date | 2012-07-19 10:40:01 |
Message ID | <87fw8o11by.fsf@gate450.dyndns.org> |
Download | mbox | patch |
Permalink | /patch/3683/ |
State | Changes Requested |
Headers | show |
Comments
On Thu, 19 Jul 2012 12:40:01 +0200 Andreas Seltenreich <seltenreich@gmx.de> wrote: > I had to modify my copy a bit to use the PLCC chips I had salvaged > somewhere as boot ROMs in Intel NICs. Patch attached. Thank you very much for your work! We need you to sign it off to commit it though, see http://www.coreboot.org/Development_Guidelines#Sign-off_Procedure > > I'm not sure if the 512kB one qualifies as tested because the programmer > only supports 128kB, and I had to --force it. I would say no, just probing. > diff --git a/flashchips.c b/flashchips.c > index 0c9f6c4..41b43ea 100644 > --- a/flashchips.c > +++ b/flashchips.c > @@ -3791,6 +3791,30 @@ const struct flashchip flashchips[] = { > }, > > { > + .vendor = "Fujitsu", > + .name = "MBM29F040", > + .bustype = BUS_PARALLEL, > + .manufacture_id = FUJITSU_ID, > + .model_id = FUJITSU_MBM29F040C, > + .total_size = 512, > + .page_size = 64 * 1024, > + .feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET, > + .tested = TEST_OK_EPRW, really? :) > + .probe = probe_jedec, > + .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */ > + .block_erasers = > + { > + { > + .eraseblocks = { {64 * 1024, 8} }, > + .block_erase = erase_sector_jedec, > + }, > + }, > + .write = write_jedec_1, > + .read = read_memmapped, > + .voltage = {4750, 5250}, /* 70ns one, 10% on slower models */ please use the common format like "/* 4.75-5.25V for type -55, others 4.5-5.5V */" this makes it easier to reformat them automatically if need be. > + }, > + > + { > /* FIXME: this has WORD/BYTE sequences; 2AA for word, 555 for byte */ > .vendor = "Fujitsu", > .name = "MBM29F400BC", > @@ -8987,6 +9011,29 @@ const struct flashchip flashchips[] = { > > { > .vendor = "Winbond", > + .name = "W29C512A/W29EE512", > + .bustype = BUS_PARALLEL, > + .manufacture_id = WINBOND_ID, > + .model_id = WINBOND_W29C512A, > + .total_size = 64, > + .page_size = 128, > + .feature_bits = FEATURE_LONG_RESET, > + .tested = TEST_OK_PREW, > + .probe = probe_jedec, > + .probe_timing = 10, /* used datasheet for the W29C011A */ There is no datasheet available for the actual chips? > […]
On Thu, 19 Jul 2012 14:13:11 +0200 Stefan Tauner <stefan.tauner@student.tuwien.ac.at> wrote: > On Thu, 19 Jul 2012 12:40:01 +0200 > Andreas Seltenreich <seltenreich@gmx.de> wrote: > > > I had to modify my copy a bit to use the PLCC chips I had salvaged > > somewhere as boot ROMs in Intel NICs. Patch attached. > > Thank you very much for your work! > We need you to sign it off to commit it though, see > http://www.coreboot.org/Development_Guidelines#Sign-off_Procedure ping
Patch
diff --git a/flashchips.c b/flashchips.c index 0c9f6c4..41b43ea 100644 --- a/flashchips.c +++ b/flashchips.c @@ -3791,6 +3791,30 @@ const struct flashchip flashchips[] = { }, { + .vendor = "Fujitsu", + .name = "MBM29F040", + .bustype = BUS_PARALLEL, + .manufacture_id = FUJITSU_ID, + .model_id = FUJITSU_MBM29F040C, + .total_size = 512, + .page_size = 64 * 1024, + .feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET, + .tested = TEST_OK_EPRW, + .probe = probe_jedec, + .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */ + .block_erasers = + { + { + .eraseblocks = { {64 * 1024, 8} }, + .block_erase = erase_sector_jedec, + }, + }, + .write = write_jedec_1, + .read = read_memmapped, + .voltage = {4750, 5250}, /* 70ns one, 10% on slower models */ + }, + + { /* FIXME: this has WORD/BYTE sequences; 2AA for word, 555 for byte */ .vendor = "Fujitsu", .name = "MBM29F400BC", @@ -8987,6 +9011,29 @@ const struct flashchip flashchips[] = { { .vendor = "Winbond", + .name = "W29C512A/W29EE512", + .bustype = BUS_PARALLEL, + .manufacture_id = WINBOND_ID, + .model_id = WINBOND_W29C512A, + .total_size = 64, + .page_size = 128, + .feature_bits = FEATURE_LONG_RESET, + .tested = TEST_OK_PREW, + .probe = probe_jedec, + .probe_timing = 10, /* used datasheet for the W29C011A */ + .block_erasers = + { + { + .eraseblocks = { {128 * 512, 1} }, + .block_erase = erase_chip_block_jedec, + } + }, + .write = write_jedec, + .read = read_memmapped, + }, + + { + .vendor = "Winbond", .name = "W39L040", .bustype = BUS_PARALLEL, .manufacture_id = WINBOND_ID,