On 05/06/20 10:53AM, masonccyang@xxxxxxxxxxx wrote: > > > > > > > > > > > +#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. Ok. In that case it makes sense. -- Regards, Pratyush Yadav ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/