All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Julius Werner <jwerner@chromium.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Dmitry Osipenko <digetx@gmail.com>, Jian-Jia Su <jjsu@google.com>,
	Doug Anderson <dianders@chromium.org>,
	Rob Herring <robh+dt@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
	<devicetree@vger.kernel.org>,
	Nikola Milosavljevic <mnidza@outlook.com>
Subject: Re: [RFC] Correct memory layout reporting for "jedec,lpddr2" and related bindings
Date: Fri, 1 Jul 2022 08:57:22 +0200	[thread overview]
Message-ID: <628a7302-1409-81f7-f72b-6b1645df9225@linaro.org> (raw)
In-Reply-To: <CAODwPW9MvYJo8QbKOoVcUAKJ8Hxon2MCv_H5qpv=yaSTLLc+ug@mail.gmail.com>

On 01/07/2022 02:52, Julius Werner wrote:
>> How the asymmetric SDRAMs report density? This is a field with
>> fixed/enum values, so does it mean two-rank-asymmetric module has two
>> registers, one per each rank and choice of register depends on chip select?
> 
> Yes, each rank has a completely separate set of mode registers.

Then I would assume that all lpddr properties can differ between ranks,
including the timings. But probably some SDRAM memory expert should
clarify that.

> 
>> Manufacturer ID is taken from compatible. LPDDR3 has it deprecated.
> 
> Oh! Oh no, I only just saw that. I wish you had CCed us on that patch. :/
> 
> That really doesn't work for our use case, we can't generate a
> specific compatible string for each part number. This may work when
> your board is only using a single memory part and you can hardcode
> that in the DTB blob bundled with the kernel, but we are trying to do
> runtime identification between dozens of different parts on our
> boards. The whole point of us wanting to add these bindings is that we
> want to have the firmware inject the raw values it can read from mode
> registers into the device tree (with just the compatible string
> "jedec,lpddr3"),

You cannot have jedec,lpddr3 alone. You need specific compatible.

> so that we can then delegate the task of matching
> those values to part numbers to a userspace process. 

Constructing a vendor from mode registers is like 10 lines of C code, so
this is not a problem. Trouble would be with device part of compatible.

> We don't want to
> hardcode long tables for ID-to-string matching that have to be updated
> all the time in our constrained firmware space.

I understand.

> Can we please revert that deprecation and at least keep the property
> around as optional?

Yes, we can. You still would need to generate the compatible according
to the current bindings. Whether we can change it I am not sure. I think
it depends how much customization is possible per vendor, according to
JEDEC spec. If we never ever have to identify specific part, because
JEDEC spec and registers tell us everything, then we could skip it,
similarly to lpddr2 and jedec,spi-nor.

Best regards,
Krzysztof

  reply	other threads:[~2022-07-01  6:57 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-15  2:25 [RFC] Correct memory layout reporting for "jedec,lpddr2" and related bindings Julius Werner
2022-06-15  2:28 ` Julius Werner
2022-06-15 19:33   ` Doug Anderson
2022-06-15 21:27     ` Julius Werner
2022-06-15 22:33       ` Doug Anderson
2022-06-15 23:24         ` Julius Werner
2022-06-18  2:17   ` Krzysztof Kozlowski
2022-06-24  9:45   ` Krzysztof Kozlowski
2022-06-30  1:03     ` Julius Werner
2022-06-30  8:05       ` Krzysztof Kozlowski
2022-07-01  0:52         ` Julius Werner
2022-07-01  6:57           ` Krzysztof Kozlowski [this message]
2022-07-08  1:20             ` Julius Werner
2022-07-10 15:06               ` Krzysztof Kozlowski
2022-07-20 23:42                 ` Julius Werner
2022-07-27  8:47                   ` Krzysztof Kozlowski
2022-07-27 14:07                     ` Doug Anderson
2022-07-28  7:35                       ` Krzysztof Kozlowski
2022-07-28  0:22                     ` Julius Werner
2022-07-28  7:38                       ` Krzysztof Kozlowski
2022-07-04  8:22 ` Dmitry Osipenko

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=628a7302-1409-81f7-f72b-6b1645df9225@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=digetx@gmail.com \
    --cc=jjsu@google.com \
    --cc=jwerner@chromium.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mnidza@outlook.com \
    --cc=robh+dt@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.