Thread (41 messages) 41 messages, 9 authors, 2024-06-28

Re: [PATCH RFC v3 0/9] dt-bindings: hwinfo: Introduce board-id

From: Simon Glass <sjg@chromium.org>
Date: 2024-06-28 08:05:08
Also in: linux-arm-msm, linux-devicetree, lkml

On Fri, 28 Jun 2024 at 08:33, Simon Glass [off-list ref] wrote:
Hi Elliot,

On Fri, 21 Jun 2024 at 23:40, Elliot Berman [off-list ref] wrote:
quoted
Hi Simon,

On Thu, Jun 06, 2024 at 10:00:54AM -0600, Simon Glass wrote:
quoted
On Wed, 5 Jun 2024 at 11:17, Elliot Berman [off-list ref] wrote:
quoted
On Wed, Jun 05, 2024 at 07:17:35AM -0600, Simon Glass wrote:
quoted
Hi Elliot,

I am just picking up the discussion here, which was started on another thread.

I can't see why this new feature is needed. We should be able to use
compatible strings, as we do now. I added a 'usage' section to the FIT
spec [1] which might help. I also incorporated the board revision and
variant information and some notes on how to add to the available
suffixes.

Does that handle your use case?
-rev and -sku don't fit the versioning scheme for QTI devices, so this
isn't a generic enough approach. Patch 5 in this series describes the
versioning scheme for us.

In the other thread, we had talked about using some regex based approach
for matching the root node compatible. I haven't had chance to work on
that proposal and will try to get to it in the next couple weeks.
OK, I look forward to it. Please do check the FIT best match approach
and see how it might be extended to handle your requirements. So far I
have not seen a need for regexes, but it is certainly a possibility.
I spent some time collecting feedback from the team on using compatible
strings + regex-style approach and we're not able to add a regex library
into firmware, so this approach unfortunately won't work for us.
Because we have more axes of board identification than chromebook, using
FIT's compatible strings isn't a scalable solution for us. I don't think
we have incompatible problems, we only have more than 2-3 axes of
information.
I understand that. I assume that you have a lot of devices that use
the same SoC but different PMICs, displays, etc. Some of these can be
handled in the bootloader, e.g. by detecting hardware and applying an
overlay, or enabling/disabling a node in the DT. It can be useful to
have a hardware-readable ID to indicate things which cannot be probed,
e.g. with GPIOs or ADC + resistors.

Another option is to give names to your projects, so that machines
with the same SoC but major hardware differences end up with a
different name (see rk3399-xx.dts for examples).

I'm sure you are already doing some/all of these things. I still feel
(so far) that you don't need to invent something new here.

Re "FIT's compatible strings isn't a scalable solution for us", how is
what you are doing different from other vendors? Is it the sheer
number of variations, or something else?
Here I am referring to the actual number of separate boards which
appear in the wild, not the multiplication of the number of axes which
produced them.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help