This looks like timeout might be happening because of how your programmer device is set up, not necessarily because the chip definition is wrong. I remember often people say about ch341a_spi "check the wires are not too long", maybe this applies to you?
Also, you need to give more info: the exact command you ran and full verbose logs (-VVV gives you super verbose mode) also what are your current local changes? I assume you run it on your local commit? you can push a patch and mark it "work in progress" so that we know what is the actual code that you are running. On Tue, Apr 9, 2024 at 3:04 PM Vlim <v...@gigadevice.com> wrote: > > Thanks. > > Another question. > I am getting the following message, please advise what is the possible issue? > > Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). > Found GigaDevice flash chip "GD25F64F" (8192 kB, SPI) on ch341a_spi. > Reading old flash chip contents... done. > > cb_in: error: LIBUSB_TRANSFER_TIMED_OUT > ch341a_spi_spi_send_command: Failed to read 3 bytes > Register read failed! > write_flash: failed to write (0x66b200..0x66b7ff). > Write failed at 0x5, Abort. > Erase/write done from 0 to 7fffff > Write Failed!Uh oh. Erase/write failed. Checking if anything has changed. > Reading current flash chip contents... > cb_out: error: LIBUSB_TRANSFER_TIMED_OUT > > cb_in: error: LIBUSB_TRANSFER_TIMED_OUT > > cb_in: error: LIBUSB_TRANSFER_TIMED_OUT > > Regards, > > Victor > > ________________________________ > From: Anastasia Klimchuk <a...@chromium.org> > Sent: Monday, April 8, 2024 06:00 > To: Vlim <v...@gigadevice.com>; Nikolai Artemiev <nartem...@google.com>; > flashrom@flashrom.org <flashrom@flashrom.org>; Peter Marheine > <pmarhe...@chromium.org> > Subject: Re: [flashrom] Re: adding part # > > 此为外部邮件,谨防钓鱼邮件,请注意邮件是否涉及敏感信息 > This is an external email, beware of phishing emails. Please pay close > attention to whether the email contains sensitive information > > If I understand your question correctly, `–wp-status` command should > give you the info: > Prints the flash’s current status register protection mode and write > protection range. > > Probably you have looked at that already, but just in case all > available commands are in the man page, or also can be read here: > https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fflashrom.org%2Fclassic_cli_manpage.html&data=05%7C02%7Cvlim%40gigadevice.com%7C4a985ef0e8814afd275908dc57cbf30f%7Cf84ba339959c4ab19b671e43414f945e%7C0%7C0%7C638481780720654286%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=loxAQPEWneQgWDlahCT1XZta0HrzfVPtM5GXkiT0qtQ%3D&reserved=0 > > > On Sun, Apr 7, 2024 at 7:55 AM Vlim <v...@gigadevice.com> wrote: > > > > Looked at it further and understood that it is determined by the BPx bits, > > tb bit. > > Is there a way I can read the status registers to make sure that all these > > bits match with the datasheet? > > > > Regards, > > > > Victor > > > > > > ________________________________ > > From: Vlim <v...@gigadevice.com> > > Sent: Friday, April 5, 2024 20:37 > > To: Nikolai Artemiev <nartem...@google.com>; Anastasia Klimchuk > > <a...@chromium.org> > > Cc: flashrom@flashrom.org <flashrom@flashrom.org>; Peter Marheine > > <pmarhe...@chromium.org> > > Subject: Re: [flashrom] Re: adding part # > > > > Thanks. > > > > How are the protection ranges defined? > > My device has ½ to 1/512. > > So I am missing 1/128, 1/256, 1/512. > > And I am getting some extra from 1/1024 to 1/8192. > > > > Please advise. > > > > Regards, > > > > Victor > > > > > > > > ________________________________ > > From: Nikolai Artemiev <nartem...@google.com> > > Sent: Tuesday, March 26, 2024 18:54 > > To: Anastasia Klimchuk <a...@chromium.org> > > Cc: Vlim <v...@gigadevice.com>; flashrom@flashrom.org > > <flashrom@flashrom.org>; Peter Marheine <pmarhe...@chromium.org> > > Subject: Re: [flashrom] Re: adding part # > > > > You don't often get email from nartem...@google.com. Learn why this is > > important > > 此为外部邮件,谨防钓鱼邮件,请注意邮件是否涉及敏感信息 > > This is an external email, beware of phishing emails. Please pay close > > attention to whether the email contains sensitive information > > Hi Victor, > > > > One thing to note with the printlock and unlock functions you mentioned > > earlier, i.e.: > > > > .printlock = SPI_PRETTYPRINT_STATUS_REGISTER_BP4_SRWD, > > .unlock = SPI_DISABLE_BLOCKPROTECT_BP4_SRWD, > > > > These functions basically just allow flashrom to remove memory protection > > before writing to the chip. They can (and should) be omitted if you define > > reg_bits and decode_range in the chip entry, because that will enable full > > writeprotect support for the chip. > > > > The reason we still have unlock and printlock functions is for older chips > > that don't have reg_bits and decode_range defined. > > > > Cheers, > > Nik > > > > > > > > On Tue, Mar 26, 2024 at 4:32 PM Anastasia Klimchuk <a...@chromium.org> > > wrote: > > > > I will try to answer to everything in one message, but feel free to > > ask more questions > > > > > Can you point me to the file that defines the commands? > > > > Most of them will be in include/spi.h > > > > It is a longer way if you want to trace implementation from, for > > example SPI_CHIP_READ, to the place where command is sent, but in case > > you would need it: > > > > you would need to go through the sequence of function calls, starting > > from `spi_chip_read` in spi.c and then look into the programmer code > > (for whichever is the programmer you are using) and see how that > > programmer implements spi read and send commands. Specifically look > > for `static const struct spi_master` in the programmer source code > > file. > > > > Default functions are in spi.c and spi25.c files. > > > > > How is Dual IO and Quad IO supported here? > > > > Currently not implemented, however it would be really great to > > implement it in the future (contributions are very welcome). > > We do have those aspirational comments in flashchips.c , for example > > (I am just copying from some chip) > > > > .write = SPI_CHIP_WRITE256, /* Dual I/O (0xA2) supported */ > > .read = SPI_CHIP_READ, /* Fast read (0x0B), dual I/O (0x3B) supported */ > > > > So maybe you can add similar comments for the chip definition for now. > > > > On Tue, Mar 26, 2024 at 5:27 AM Vlim <v...@gigadevice.com> wrote: > > > > > > Hi, > > > > > > Can you point me to the file that defines the commands? > > > Like SPI_CHIP_READ being 0x0b. > > > > > > Thanks, > > > > > > Victor > > > > > > ________________________________ > > > From: Anastasia Klimchuk <a...@chromium.org> > > > Sent: Thursday, March 21, 2024 23:32 > > > To: Vlim <v...@gigadevice.com>; flashrom@flashrom.org > > > <flashrom@flashrom.org> > > > Cc: Peter Marheine <pmarhe...@chromium.org> > > > Subject: Re: [flashrom] Re: adding part # > > > > > > [You don't often get email from a...@chromium.org. Learn why this is > > > important at https://aka.ms/LearnAboutSenderIdentification ] > > > > > > 此为外部邮件,谨防钓鱼邮件,请注意邮件是否涉及敏感信息 > > > This is an external email, beware of phishing emails. Please pay close > > > attention to whether the email contains sensitive information > > > > > > For these two (printlock and unlock), you need to pick the function > > > which handles the highest BP bit that chip supports. In your example, > > > if a chip supports bits BP0-BP4 the correct functions are those with > > > BP4 in the name. So you did it all right. > > > > > > If the chip supports write protection, you also need to set .reg_bits > > > in chip definition. For this you need to have a look at struct > > > reg_bit_map in include/flash.h, it has comments on what each bit in > > > the struct means. > > > > > > > > > On Fri, Mar 22, 2024 at 7:22 AM Vlim <v...@gigadevice.com> wrote: > > > > > > > > Thanks, Anastasia, > > > > > > > > Can you please explain this statement, > > > > > > > > .printlock = SPI_PRETTYPRINT_STATUS_REGISTER_BP4_SRWD, > > > > .unlock = SPI_DISABLE_BLOCKPROTECT_BP4_SRWD, > > > > > > > > Looks like this is to support memory array protection. But it needs > > > > BP0-BP4. > > > > Do I need to specify BP0 to BP3 as well? > > > > Or I specify the setting when I initiate the flashrom programming > > > > command? > > > > > > > > Regards, > > > > > > > > Victor > > > > > > > > ________________________________ > > > > From: Anastasia Klimchuk <a...@chromium.org> > > > > Sent: Thursday, March 21, 2024 05:32 > > > > To: Vlim <v...@gigadevice.com>; flashrom@flashrom.org > > > > <flashrom@flashrom.org> > > > > Cc: Peter Marheine <pmarhe...@chromium.org> > > > > Subject: [flashrom] Re: adding part # > > > > > > > > You don't often get email from a...@chromium.org. Learn why this is > > > > important > > > > 此为外部邮件,谨防钓鱼邮件,请注意邮件是否涉及敏感信息 > > > > This is an external email, beware of phishing emails. Please pay close > > > > attention to whether the email contains sensitive information > > > > Hello Victor, > > > > > > > > Various feature bits are defined as macros in include/flash.h , some of > > > > them have comments explaining what they do. If the feature name is not > > > > descriptive, and there is no comment, but you think you might need this > > > > feature: feel free to ask. I would try to add comments later. > > > > > > > > SPI_DISABLE_BLOCKPROTECT_BP4_SRWD and other unlock functions as in > > > > spi25_statusreg.c. Those functions have comments, hopefully this can > > > > help! > > > > > > > > On Thu, Mar 21, 2024 at 2:48 PM Vlim <v...@gigadevice.com> wrote: > > > > > > > > Thanks, Peter, > > > > > > > > Where can I find the definition of terms like, > > > > > > > > .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_WRSR_EXT2, > > > > SPI_DISABLE_BLOCKPROTECT_BP4_SRWD > > > > > > > > Regards, > > > > > > > > Victor > > > > > > > > > > > > ________________________________ > > > > From: Peter Marheine <pmarhe...@chromium.org> > > > > Sent: Tuesday, March 19, 2024 15:42 > > > > To: Vlim <v...@gigadevice.com> > > > > Cc: flashrom@flashrom.org <flashrom@flashrom.org> > > > > Subject: Re: [flashrom] adding part # > > > > > > > > You don't often get email from pmarhe...@chromium.org. Learn why this > > > > is important > > > > 此为外部邮件,谨防钓鱼邮件,请注意邮件是否涉及敏感信息 > > > > This is an external email, beware of phishing emails. Please pay close > > > > attention to whether the email contains sensitive information > > > > Our "how to add a new chip" documentation should point you in the right > > > > direction: > > > > https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fflashrom.org%2Fcontrib_howtos%2Fhow_to_add_new_chip.html&data=05%7C02%7Cvlim%40gigadevice.com%7C4a985ef0e8814afd275908dc57cbf30f%7Cf84ba339959c4ab19b671e43414f945e%7C0%7C0%7C638481780720666315%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=cjfc4ZWjqKXvQ6frTNbaehlcuZx4AcREFMBgP8I5FDE%3D&reserved=0 > > > > > > > > But feel free to ask further questions if anything there doesn't seem > > > > sufficient for your needs. > > > > > > > > On Wed, Mar 20, 2024 at 6:31 AM Vlim <v...@gigadevice.com> wrote: > > > > > > > > Hi, FlashRom team, > > > > > > > > I am the FAE director in Gigadevice and I would like to add some part > > > > #s to the flashchip.c and flashchip.h. > > > > Can you please provide some guidance? > > > > > > > > Regards, > > > > > > > > Victor Lim > > > > FAE Director > > > > GigaDevice Semiconductor > > > > 4088833856 > > > > > > > > _______________________________________________ > > > > flashrom mailing list -- flashrom@flashrom.org > > > > To unsubscribe send an email to flashrom-le...@flashrom.org > > > > > > > > _______________________________________________ > > > > flashrom mailing list -- flashrom@flashrom.org > > > > To unsubscribe send an email to flashrom-le...@flashrom.org > > > > > > > > > > > > > > > > -- > > > > Anastasia. > > > > > > > > > > > > -- > > > Anastasia. > > > > > > > > -- > > Anastasia. > > _______________________________________________ > > flashrom mailing list -- flashrom@flashrom.org > > To unsubscribe send an email to flashrom-le...@flashrom.org > > > > -- > Anastasia. -- Anastasia. _______________________________________________ flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-le...@flashrom.org