public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Michael Walle <michael@walle.cc>
To: David Bauer <mail@david-bauer.net>
Cc: tudor.ambarus@microchip.com, miquel.raynal@bootlin.com,
	richard@nod.at, vigneshr@ti.com, linux-mtd@lists.infradead.org
Subject: Re: [PATCH] mtd: spi-nor: Add support for BoHong bh25q128as
Date: Mon, 10 May 2021 12:56:10 +0200	[thread overview]
Message-ID: <ee4c8e3ebbe0b4cf762bbcb3a4b0e6dc@walle.cc> (raw)
In-Reply-To: <0b8be4c9-4528-8cac-2067-4ad2b180df79@david-bauer.net>

Am 2021-05-10 12:27, schrieb David Bauer:
> On 5/10/21 11:35 AM, Michael Walle wrote:
>> Am 2021-05-10 11:28, schrieb David Bauer:
>>> On 5/10/21 10:00 AM, Michael Walle wrote
>>> 
>>> [...]
>>> 
>>>>> +static const struct flash_info bohong_parts[] = {
>>>>> +    /* BoHong Microelectronics */
>>>>> +    { "bh25q128as", INFO(0x684018, 0, 64 * 1024, 256,
>>>> 
>>>> I couldn't find "BoHong" in JEP106BC. 0x68 (without continuation 
>>>> codes)
>>>> is "Convex Computer". So this is wrong. OTOH I'm not sure, how many
>>>> SPI flashes "convex computer" have, if any ;) This company was 
>>>> brought
>>>> by HP in the end.
>>>> 
>>>> In any case, this patch depends on how we handle continuation codes 
>>>> or
>>>> if we can handle them at all. Or if this flash just lie about its
>>>> manufacturer id and don't and CC.
>>> 
>>> First of all, BoHong and Boya microelectronics seems to be the same
>>> company, as their datasheets seem to copy each other. There's not 
>>> much
>>> information about either of both, so I'd say that's a fair 
>>> assumption.
>>> 
>>> Regarding the continuation codes, Boya is listed in bank nine, 
>>> however
>>> in this case I should currently read an all 0x7f ID shouldn't I?
>> 
>> I'd guess so, yes.
>> 
>>> The datasheet also only specifies 3 bytes as a return value for
>>> register 0x9fh :(
>> 
>> Yeah. So, this flash falls into the same category "simply hijacks
>> a manuf id" as all the other flashes.
> 
> From a quick check, this is also be the case for GigaDevices and XMC.
> 
> My spontaneous idea would be to extend support for JEDEC IDs to read
> the up to 9 banks of the vendor ID and fix up the existing offenders.

you mean gigadevices and xmc? I'd presume they are also lacking the
continuation bytes.

> To not break existing boards, we could either skip the continuation
> bytes of the kernel ID definitions for all flash chips or flag the
> already existing ones and only perform this on such flagged chips.
> 
> Personally, I'd say that only performing this on existing chips would
> be better, as new vendors with this violation scheme might probably
> appear and cause conflicts.
> 
> As we still lack auto detection for new chips with that, configuring
> the flash chip used with the chip name via DT would allow to set the
> exact chip used and also validate if the manufacturer / product after
> the continuation bits matches the one read from the chip.
> 
> What do you think?

If you'd ask me, unless there is a real world conflict, I'd just go
ahead and add them as is. If there is a conflict we'd need to find
a per device resolution for it.

There is another problem: shared device ids per vendor. Some (most?)
flash vendor share device ids on "similar" flashes, which we still
need tell apart in the kernel. So technically, this is the same problem
as with non-existing continuation bytes. Two different flashes sharing
the same id. For now, we look for differences in the SFDP.

Right now, the flash is probed first by its id and the the SFDP is
read and parsed. There are ideas to first read the SFDP. Having this
might come in handy here, too. Eg. we could fingerprint the flash
by its SFDP.

I know Vingesh is working on the continuation bytes stuff. So I might
be late to the party ;)

Regarding the device tree compatibles, the maintainers doesn't like
that very much. Maybe as a last resort method.

-michael

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  reply	other threads:[~2021-05-10 11:29 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-09 14:47 [PATCH] mtd: spi-nor: Add support for BoHong bh25q128as David Bauer
2021-05-10  8:00 ` Michael Walle
2021-05-10  9:28   ` David Bauer
2021-05-10  9:35     ` Michael Walle
2021-05-10 10:27       ` David Bauer
2021-05-10 10:56         ` Michael Walle [this message]
2021-05-10 11:04           ` David Bauer
2021-05-10 11:22             ` Michael Walle
2021-05-18 19:39               ` David Bauer
2021-06-28  5:48                 ` Tudor.Ambarus
2021-07-02 14:03                   ` Tudor.Ambarus
2021-07-03 15:58                     ` George Brooke
2021-07-03 16:20                       ` Michael Walle
  -- strict thread matches above, loose matches on Subject: below --
2024-02-17 12:20 Christian Marangi
2024-02-19  8:35 ` Michael Walle
2024-02-19 21:56   ` Christian Marangi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ee4c8e3ebbe0b4cf762bbcb3a4b0e6dc@walle.cc \
    --to=michael@walle.cc \
    --cc=linux-mtd@lists.infradead.org \
    --cc=mail@david-bauer.net \
    --cc=miquel.raynal@bootlin.com \
    --cc=richard@nod.at \
    --cc=tudor.ambarus@microchip.com \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox