> > > > > > > > +#define MXIC_CR2_DUMMY_SET_ADDR 0x300 > > > > + > > > > +/* Fixup the dummy cycles to device and setup octa_dtr_enable() */ > > > > +static void mx25uw51245g_post_sfdp_fixups(struct spi_nor *nor) > > > > +{ > > > > + struct spi_nor_flash_parameter *params = nor->params; > > > > + int ret; > > > > + u8 rdc, wdc; > > > > + > > > > + ret = spi_nor_read_cr2(nor, MXIC_CR2_DUMMY_SET_ADDR, &rdc); > > > > + if (ret) > > > > + return; > > > > + > > > > + /* Refer to dummy cycle and frequency table(MHz) */ > > > > + switch (params->dummy_cycles) { > > > > + case 10: /* 10 dummy cycles for 104 MHz */ > > > > + wdc = 5; > > > > + break; > > > > + case 12: /* 12 dummy cycles for 133 MHz */ > > > > + wdc = 4; > > > > + break; > > > > + case 16: /* 16 dummy cycles for 166 MHz */ > > > > + wdc = 2; > > > > + break; > > > > + case 18: /* 18 dummy cycles for 173 MHz */ > > > > + wdc = 1; > > > > + break; > > > > + case 20: /* 20 dummy cycles for 200 MHz */ > > > > + default: > > > > + wdc = 0; > > > > + } > > > > > > I don't get the point of this. You already know the fastest the > > > mx25uw51245g flash can run at. Why not just use the maximum dummy > > > cycles? SPI NOR doesn't know the speed the controller is running at so > > > the best it can do is use the maximum dummy cycles possible so it never > > > falls short. Sure, it will be _slightly_ less performance, but we will > > > be sure to read the correct data, which is much much more important. > > > > In general, 200MHz needs 20 dummy cycles but some powerful device may only > > > > needs 18 dummy cycles or less. > > Yes, but do different mx25uw51245g chips have different dummy cycle > requirements? Shouldn't all the chips with the same ID have same > performance? > Same chip ID but different grade, i.e., commercial or industrial grade. thanks & best regards, Mason CONFIDENTIALITY NOTE: This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation. Macronix International Co., Ltd. ===================================================================== ============================================================================ CONFIDENTIALITY NOTE: This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation. Macronix International Co., Ltd. ===================================================================== ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/