Re: [PATCH v4 3/5] dt-bindings: arm: qcom: Add sc7180 Chromebook board bindings

From: Doug Anderson
Date: Mon May 23 2022 - 12:17:17 EST


Hi,

On Sun, May 22, 2022 at 12:57 AM Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxx> wrote:
>
> On 20/05/2022 23:38, Douglas Anderson wrote:
> > This copy-pastes compatibles from sc7180-based boards from the device
> > trees to the yaml file so that `make dtbs_check` will be happy.
> >
> > NOTES:
> > - I make no attempt to try to share an "item" for all sc7180 based
> > Chromebooks. Because of the revision matching scheme used by the
> > Chromebook bootloader, at times we need a different number of
> > revisions listed.
> > - Some of the odd entries in here (like google,homestar-rev23 or the
> > fact that "Google Lazor Limozeen without Touchscreen" changed from
> > sku5 to sku6) are not typos but simply reflect reality.
> > - Many revisions of boards here never actually went to consumers, but
> > they are still in use within various companies that were involved in
> > Chromebook development. Since Chromebooks are developed with an
> > "upstream first" methodology, having these revisions supported with
> > upstream Linux is important. Making it easy for Chromebooks to be
> > developed with an "upstream first" methodology is valuable to the
> > upstream community because it improves the quality of upstream and
> > gets Chromebooks supported with vanilla upstream faster.
> >
> > One other note here is that, though the bootloader effectively treats
> > the list of compatibles in a given device tree as unordered, some
> > people would prefer future boards to list higher-numbered revisions
> > first in the list. Chromebooks here are not changing and typically
> > list lower revisions first just to avoid churn.
> >
> > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> > Reviewed-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
> > ---
> >
> > (no changes since v3)
> >
> > Changes in v3:
> > - Split link to Chromebook boot doc into a separate patch.
> > - Added a note to desc about revision ordering within a device tree.
> >
> > Changes in v2:
> > - Add link to doc about how Chromebook devicetrees work.
> > - Use a "description" instead of a comment for each item.
> > - Use the marketing name instead of the code name where possible.
> >
> > .../devicetree/bindings/arm/qcom.yaml | 182 +++++++++++++++++-
> > 1 file changed, 181 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
> > index 5ac28e11ea7b..01e40ea40724 100644
> > --- a/Documentation/devicetree/bindings/arm/qcom.yaml
> > +++ b/Documentation/devicetree/bindings/arm/qcom.yaml
> > @@ -219,11 +219,191 @@ properties:
> > - qcom,ipq8074-hk10-c2
> > - const: qcom,ipq8074
> >
> > - - items:
> > + - description: Qualcomm Technologies, Inc. SC7180 IDP
> > + items:
> > - enum:
> > - qcom,sc7180-idp
> > - const: qcom,sc7180
> >
> > + - description: HP Chromebook x2 11c (rev1 - 2)
> > + items:
> > + - const: google,coachz-rev1
> > + - const: google,coachz-rev2
> > + - const: qcom,sc7180
> > +
> > + - description: HP Chromebook x2 11c (newest rev)
> > + items:
> > + - const: google,coachz
> > + - const: qcom,sc7180
> > +
> > + - description: HP Chromebook x2 11c with LTE (rev1 - 2)
> > + items:
> > + - const: google,coachz-rev1-sku0
> > + - const: google,coachz-rev2-sku0
> > + - const: qcom,sc7180
> > +
> > + - description: HP Chromebook x2 11c with LTE (newest rev)
> > + items:
> > + - const: google,coachz-sku0
> > + - const: qcom,sc7180
> > +
> > + - description: Lenovo Chromebook Duet 5 13 (rev2)
> > + items:
> > + - const: google,homestar-rev2
> > + - const: google,homestar-rev23
> > + - const: qcom,sc7180
> > +
> > + - description: Lenovo Chromebook Duet 5 13 (rev3)
> > + items:
> > + - const: google,homestar-rev3
> > + - const: qcom,sc7180
> > +
> > + - description: Lenovo Chromebook Duet 5 13 (newest rev)
> > + items:
> > + - const: google,homestar
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook Spin 513 (rev0)
> > + items:
> > + - const: google,lazor-rev0
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook Spin 513 (rev1 - 2)
> > + items:
> > + - const: google,lazor-rev1
> > + - const: google,lazor-rev2
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook Spin 513 (rev3 - 8)
> > + items:
> > + - const: google,lazor-rev3
> > + - const: google,lazor-rev4
> > + - const: google,lazor-rev5
> > + - const: google,lazor-rev6
> > + - const: google,lazor-rev7
> > + - const: google,lazor-rev8
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook Spin 513 (newest rev)
> > + items:
> > + - const: google,lazor
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook Spin 513 with KB Backlight (rev1 - 2)
> > + items:
> > + - const: google,lazor-rev1-sku2
> > + - const: google,lazor-rev2-sku2
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook Spin 513 with KB Backlight (rev3 - 8)
> > + items:
> > + - const: google,lazor-rev3-sku2
> > + - const: google,lazor-rev4-sku2
> > + - const: google,lazor-rev5-sku2
> > + - const: google,lazor-rev6-sku2
> > + - const: google,lazor-rev7-sku2
> > + - const: google,lazor-rev8-sku2
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook Spin 513 with KB Backlight (newest rev)
> > + items:
> > + - const: google,lazor-sku2
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook Spin 513 with LTE (rev1 - 2)
> > + items:
> > + - const: google,lazor-rev1-sku0
> > + - const: google,lazor-rev2-sku0
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook Spin 513 with LTE (rev3 - 8)
> > + items:
> > + - const: google,lazor-rev3-sku0
> > + - const: google,lazor-rev4-sku0
> > + - const: google,lazor-rev5-sku0
> > + - const: google,lazor-rev6-sku0
> > + - const: google,lazor-rev7-sku0
> > + - const: google,lazor-rev8-sku0
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook Spin 513 with LTE (newest rev)
> > + items:
> > + - const: google,lazor-sku0
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook 511 (rev4 - rev8)
> > + items:
> > + - const: google,lazor-rev4-sku4
> > + - const: google,lazor-rev5-sku4
> > + - const: google,lazor-rev6-sku4
> > + - const: google,lazor-rev7-sku4
> > + - const: google,lazor-rev8-sku4
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook 511 (newest rev)
> > + items:
> > + - const: google,lazor-sku4
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook 511 without Touchscreen (rev4)
> > + items:
> > + - const: google,lazor-rev4-sku5
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook 511 without Touchscreen (rev5 - rev8)
> > + items:
> > + - const: google,lazor-rev5-sku5
> > + - const: google,lazor-rev5-sku6
> > + - const: google,lazor-rev6-sku6
> > + - const: google,lazor-rev7-sku6
> > + - const: google,lazor-rev8-sku6
> > + - const: qcom,sc7180
> > +
> > + - description: Acer Chromebook 511 without Touchscreen (newest rev)
> > + items:
> > + - const: google,lazor-sku6
> > + - const: qcom,sc7180
> > +
> > + - description: Sharp Dynabook Chromebook C1 (rev1)
> > + items:
> > + - const: google,pompom-rev1
> > + - const: qcom,sc7180
> > +
> > + - description: Sharp Dynabook Chromebook C1 (rev2)
> > + items:
> > + - const: google,pompom-rev2
>
> I understand why you do not share "item" (your first notes) for some of
> boards, but I don't get why "google,pompom-rev1" cannot be combined with
> "google,pompom-rev2". Do you see any chances to alter the bindings for
> these two boards?
>
> The same for other such cases (not newest revision).

Yeah, I thought about it when I was writing the file and decided
against it. I guess it's just a style decision. If we combine these
two then I guess it raises the question: do we only combine entries
that list a single revision if they're the same board, or do we have
one uber entry at the end of the list that combines all
single-revision sc7180 Chromebooks? ...and in either case, what should
the description be?

Personally, though it takes up more lines of code, I prefer the
simplicity of having each entry here correspond to a single dts file.

Unless you feel really strongly about it, I'd tend to leave the
decision here to Bjorn.

-Doug