2010/12/17 Idwer Vollering <span dir="ltr"><<a href="mailto:vidwer@gmail.com">vidwer@gmail.com</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
2010/12/17 Michael Karcher <<a href="mailto:flashrom@mkarcher.dialup.fu-berlin.de">flashrom@mkarcher.dialup.fu-berlin.de</a>>:<br>
<div class="im">> Hello Ivan,<br>
><br>
> this patch should add support for the W39L040 chip to flashrom.<br>
<br>
</div>A patched DOS build can be found here:<br>
<a href="http://khepri.coresystems.de/%7Eidwer/flashrom/trunk-djgpp-r1247-patchwork-2438/" target="_blank">http://khepri.coresystems.de/~idwer/flashrom/trunk-djgpp-r1247-patchwork-2438/</a><br>
<div><div></div><div class="h5"><br>
> Please try it on your hardware.</div></div></blockquote><div><br>Ivan: have you tried the  patched .exe ? Is this message gone, with that build: "pcilib: Cannot find any working access method." ?<br> </div>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div class="h5">If you can't compile flashrom yourself, ask<br>
> on the mailing list or our IRC channel (#flashrom on freenode).<br>
><br>
> Regards,<br>
>  Michael Karcher<br>
><br>
> ---<br>
>  chipdrivers.h |    1 +<br>
>  flashchips.c  |   30 ++++++++++++++++++++++++++++++<br>
>  w39.c         |   16 ++++++++++++++++<br>
>  3 files changed, 47 insertions(+), 0 deletions(-)<br>
><br>
> diff --git a/chipdrivers.h b/chipdrivers.h<br>
> index a65cb99..a6b97cb 100644<br>
> --- a/chipdrivers.h<br>
> +++ b/chipdrivers.h<br>
> @@ -110,6 +110,7 @@ int printlock_sst_fwhub(struct flashchip *flash);<br>
>  int unlock_sst_fwhub(struct flashchip *flash);<br>
><br>
>  /* w39.c */<br>
> +int printlock_w39l040(struct flashchip * flash);<br>
>  int printlock_w39v040a(struct flashchip *flash);<br>
>  int printlock_w39v040b(struct flashchip *flash);<br>
>  int printlock_w39v040c(struct flashchip *flash);<br>
> diff --git a/flashchips.c b/flashchips.c<br>
> index 8082160..4564d04 100644<br>
> --- a/flashchips.c<br>
> +++ b/flashchips.c<br>
> @@ -7573,6 +7573,36 @@ struct flashchip flashchips[] = {<br>
><br>
>        {<br>
>                .vendor         = "Winbond",<br>
> +               .name           = "W39L040",<br>
> +               .bustype        = CHIP_BUSTYPE_PARALLEL,<br>
> +               .manufacture_id = WINBOND_ID,<br>
> +               .model_id       = WINBOND_W39L040,<br>
> +               .total_size     = 512,<br>
> +               .page_size      = 64 * 1024,<br>
> +               .feature_bits   = FEATURE_EITHER_RESET,<br>
> +               .tested         = TEST_OK_PR,<br>
> +               .probe          = probe_jedec,<br>
> +               .probe_timing   = 10,<br>
> +               .block_erasers  =<br>
> +               {<br>
> +                       {<br>
> +                               .eraseblocks = { {4 * 1024, 128} },<br>
> +                               .block_erase = erase_block_jedec,<br>
> +                       }, {<br>
> +                               .eraseblocks = { {64 * 1024, 8} },<br>
> +                               .block_erase = erase_sector_jedec,<br>
> +                       }, {<br>
> +                               .eraseblocks = { {512 * 1024, 1} },<br>
> +                               .block_erase = erase_chip_block_jedec,<br>
> +                       }<br>
> +               },<br>
> +               .printlock      = printlock_w39l040,<br>
> +               .write          = write_jedec_1,<br>
> +               .read           = read_memmapped,<br>
> +       },<br>
> +<br>
> +       {<br>
> +               .vendor         = "Winbond",<br>
>                .name           = "W39V040A",<br>
>                .bustype        = CHIP_BUSTYPE_LPC,<br>
>                .manufacture_id = WINBOND_ID,<br>
> diff --git a/w39.c b/w39.c<br>
> index 65cf32f..2ab70fd 100644<br>
> --- a/w39.c<br>
> +++ b/w39.c<br>
> @@ -161,6 +161,22 @@ static int unlock_w39_fwh(struct flashchip *flash)<br>
>        return 0;<br>
>  }<br>
><br>
> +int printlock_w39l040(struct flashchip * flash)<br>
> +{<br>
> +       uint8_t lock;<br>
> +       int ret;<br>
> +<br>
> +       lock = w39_idmode_readb(flash, 0x00002);<br>
> +       msg_cdbg("Bottom boot block:\n");<br>
> +       ret = printlock_w39_bootblock_64k16k(lock);<br>
> +<br>
> +       lock = w39_idmode_readb(flash, 0x7fff2);<br>
> +       msg_cdbg("Top boot block:\n");<br>
> +       ret |= printlock_w39_bootblock_64k16k(lock);<br>
> +<br>
> +       return ret;<br>
> +}<br>
> +<br>
>  int printlock_w39v040a(struct flashchip *flash)<br>
>  {<br>
>        uint8_t lock;<br>
> --<br>
> 1.7.2.3<br>
><br>
><br>
> _______________________________________________<br>
> flashrom mailing list<br>
> <a href="mailto:flashrom@flashrom.org">flashrom@flashrom.org</a><br>
> <a href="http://www.flashrom.org/mailman/listinfo/flashrom" target="_blank">http://www.flashrom.org/mailman/listinfo/flashrom</a><br>
><br>
</div></div></blockquote></div><br>