[PATCH v4 1/6] mtd: spi-nor: Add manufacturer read id function

Tudor Ambarus tudor.ambarus at linaro.org
Thu Oct 5 06:19:57 PDT 2023



On 10/5/23 12:43, Michael Walle wrote:
> Hi,
> 
hey

>>> I see this flash supports 1-1-1, 8-8-8, and 8d-8d-8d, there are no mixed
>>> modes supported, thus a 8d-8d-8s mode seems just like a hardware bug to
>>> me. So my proposal is to leave the core away and to handle the read id
>>> hack just in the macronix driver.
>>
>> +1
> 
> I've looked at the xspi spec. There is no RDID specified. So I'd argue,
> the only pseudo standard is that RDID was only ever used with 1s1s1s. But
> we added spi_nor_read_id() with parameters suited for the "unusual" 8d8d8d
> case with additional address and dummy cycles. Just for checking whether
> the
> octal-dtr switch was successful. Therefore, we've already added
> parameters to
> spi_nor_read_id() which are not standard. Then we can just add one more.
> It's
> just how macronix is doing it. Again there is no standard.
> If we'd only put standard (or for the 9F pseudo standard) things in the
> core,
> then spi_nor_read_id() would need to check whether the flash is in 1s1s1s
> mode. And no I wouldn't prefer that ;)
> 

If we really want to be catholic, we should switch to 8d-8d-8s mode and
then issue the read id and the core will handle the readid correctly.
But there is no such a thing, because macronix considers that it is in
8d-8d-8d mode at the time of issuing 8d-8d-8s read id. That's why I say
it's a bug on their side. The core is meant to be generic, I don't want
to pollute the core with manufacturer specific fixes.

cheers,
ta



More information about the linux-mtd mailing list