* [PATCH v3 2/5] dt-bindings: arm: qcom: Mention that Chromebooks use a different scheme
2022-05-19 23:51 [PATCH v3 1/5] dt-bindings: Document how Chromebooks with depthcharge boot Douglas Anderson
@ 2022-05-19 23:51 ` Douglas Anderson
2022-05-20 0:01 ` Stephen Boyd
2022-05-19 23:51 ` [PATCH v3 3/5] dt-bindings: arm: qcom: Add sc7180 Chromebook board bindings Douglas Anderson
` (3 subsequent siblings)
4 siblings, 1 reply; 7+ messages in thread
From: Douglas Anderson @ 2022-05-19 23:51 UTC (permalink / raw)
To: Rob Herring, Bjorn Andersson
Cc: Stephen Boyd, linux-arm-msm, Matthias Kaehlcke, Andy Gross,
Alexandru M Stan, Joseph S . Barrera III, patches, devicetree,
Rajendra Nayak, Krzysztof Kozlowski, Julius Werner,
Douglas Anderson, Stephen Boyd, linux-kernel
The qcom.yaml bindings file has a whole description of what the
top-level compatible should look like for Qualcomm devices. It doesn't
match what Chromebooks do, so add a link to the Chromebook docs.
Reported-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
---
The link added here will (obviously) not function until the
documentation patch makes it to mainline. Presumably folks who want to
read it in the meantime can find it pretty easily. If there's a better
way to link this then please let me know.
Changes in v3:
- ("Mention that Chromebooks use a different scheme") split out for v3.
Documentation/devicetree/bindings/arm/qcom.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 5c06d1bfc046..df5230792b37 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -90,6 +90,11 @@ description: |
A dragonboard board v0.1 of subtype 1 with an apq8074 SoC version 2, made in
foundry 2.
+ There are many devices in the list below that run the standard ChromeOS
+ bootloader setup and use the open source depthcharge bootloader to boot the
+ OS. These devices do not use the scheme described above. For details, see:
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/google/chromebook-boot-flow.rst
+
properties:
$nodename:
const: "/"
--
2.36.1.124.g0e6072fb45-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v3 2/5] dt-bindings: arm: qcom: Mention that Chromebooks use a different scheme
2022-05-19 23:51 ` [PATCH v3 2/5] dt-bindings: arm: qcom: Mention that Chromebooks use a different scheme Douglas Anderson
@ 2022-05-20 0:01 ` Stephen Boyd
0 siblings, 0 replies; 7+ messages in thread
From: Stephen Boyd @ 2022-05-20 0:01 UTC (permalink / raw)
To: Bjorn Andersson, Douglas Anderson, Rob Herring
Cc: linux-arm-msm, Matthias Kaehlcke, Andy Gross, Alexandru M Stan,
Joseph S . Barrera III, patches, devicetree, Rajendra Nayak,
Krzysztof Kozlowski, Julius Werner, Stephen Boyd, linux-kernel
Quoting Douglas Anderson (2022-05-19 16:51:06)
> The qcom.yaml bindings file has a whole description of what the
> top-level compatible should look like for Qualcomm devices. It doesn't
> match what Chromebooks do, so add a link to the Chromebook docs.
>
> Reported-by: Stephen Boyd <swboyd@chromium.org>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
> ---
> The link added here will (obviously) not function until the
> documentation patch makes it to mainline. Presumably folks who want to
> read it in the meantime can find it pretty easily. If there's a better
> way to link this then please let me know.
>
> Changes in v3:
> - ("Mention that Chromebooks use a different scheme") split out for v3.
>
> Documentation/devicetree/bindings/arm/qcom.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
> index 5c06d1bfc046..df5230792b37 100644
> --- a/Documentation/devicetree/bindings/arm/qcom.yaml
> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml
> @@ -90,6 +90,11 @@ description: |
> A dragonboard board v0.1 of subtype 1 with an apq8074 SoC version 2, made in
> foundry 2.
>
> + There are many devices in the list below that run the standard ChromeOS
> + bootloader setup and use the open source depthcharge bootloader to boot the
> + OS. These devices do not use the scheme described above. For details, see:
> + https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/google/chromebook-boot-flow.rst
Can you use the docs.kernel.org link instead of Linus' tree? I think it
would be
https://docs.kernel.org/arm/google/chromebook-boot-flow.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 3/5] dt-bindings: arm: qcom: Add sc7180 Chromebook board bindings
2022-05-19 23:51 [PATCH v3 1/5] dt-bindings: Document how Chromebooks with depthcharge boot Douglas Anderson
2022-05-19 23:51 ` [PATCH v3 2/5] dt-bindings: arm: qcom: Mention that Chromebooks use a different scheme Douglas Anderson
@ 2022-05-19 23:51 ` Douglas Anderson
2022-05-19 23:51 ` [PATCH v3 4/5] dt-bindings: arm: qcom: Add / fix sc7280 " Douglas Anderson
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Douglas Anderson @ 2022-05-19 23:51 UTC (permalink / raw)
To: Rob Herring, Bjorn Andersson
Cc: Stephen Boyd, linux-arm-msm, Matthias Kaehlcke, Andy Gross,
Alexandru M Stan, Joseph S . Barrera III, patches, devicetree,
Rajendra Nayak, Krzysztof Kozlowski, Julius Werner,
Douglas Anderson, Stephen Boyd, linux-kernel
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@chromium.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
---
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 df5230792b37..2269493a1b48 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
+ - const: qcom,sc7180
+
+ - description: Sharp Dynabook Chromebook C1 (newest rev)
+ items:
+ - const: google,pompom
+ - const: qcom,sc7180
+
+ - description: Sharp Dynabook Chromebook C1 with LTE (rev1)
+ items:
+ - const: google,pompom-rev1-sku0
+ - const: qcom,sc7180
+
+ - description: Sharp Dynabook Chromebook C1 with LTE (rev2)
+ items:
+ - const: google,pompom-rev2-sku0
+ - const: qcom,sc7180
+
+ - description: Sharp Dynabook Chromebook C1 with LTE (newest rev)
+ items:
+ - const: google,pompom-sku0
+ - const: qcom,sc7180
+
+ - description: Google Trogdor (newest rev)
+ items:
+ - const: google,trogdor
+ - const: qcom,sc7180
+
+ - description: Google Trogdor with LTE (newest rev)
+ items:
+ - const: google,trogdor-sku0
+ - const: qcom,sc7180
+
- items:
- enum:
- qcom,sc7280-crd
--
2.36.1.124.g0e6072fb45-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v3 4/5] dt-bindings: arm: qcom: Add / fix sc7280 board bindings
2022-05-19 23:51 [PATCH v3 1/5] dt-bindings: Document how Chromebooks with depthcharge boot Douglas Anderson
2022-05-19 23:51 ` [PATCH v3 2/5] dt-bindings: arm: qcom: Mention that Chromebooks use a different scheme Douglas Anderson
2022-05-19 23:51 ` [PATCH v3 3/5] dt-bindings: arm: qcom: Add sc7180 Chromebook board bindings Douglas Anderson
@ 2022-05-19 23:51 ` Douglas Anderson
2022-05-19 23:51 ` [PATCH v3 5/5] dt-bindings: arm: qcom: Add more sc7180 Chromebook " Douglas Anderson
2022-05-20 0:17 ` [PATCH v3 1/5] dt-bindings: Document how Chromebooks with depthcharge boot Stephen Boyd
4 siblings, 0 replies; 7+ messages in thread
From: Douglas Anderson @ 2022-05-19 23:51 UTC (permalink / raw)
To: Rob Herring, Bjorn Andersson
Cc: Stephen Boyd, linux-arm-msm, Matthias Kaehlcke, Andy Gross,
Alexandru M Stan, Joseph S . Barrera III, patches, devicetree,
Rajendra Nayak, Krzysztof Kozlowski, Julius Werner,
Douglas Anderson, Krzysztof Kozlowski, Stephen Boyd, linux-kernel
This copy-pastes compatibles from sc7280-based boards from the device
trees to the yaml file. It also fixes the CRD/IDP bindings which had
gotten stale.
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
It should be noted that these match the sc7280 boards as of the top of
the "for-next" branch of the tree
git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
(no changes since v2)
Changes in v2:
- Use a "description" instead of a comment for each item.
.../devicetree/bindings/arm/qcom.yaml | 42 +++++++++++++++----
1 file changed, 34 insertions(+), 8 deletions(-)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 2269493a1b48..f8caf4b920c8 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -404,14 +404,40 @@ properties:
- const: google,trogdor-sku0
- const: qcom,sc7180
- - items:
- - enum:
- - qcom,sc7280-crd
- - qcom,sc7280-idp
- - qcom,sc7280-idp2
- - google,hoglin
- - google,piglin
- - google,senor
+ - description: Qualcomm Technologies, Inc. sc7280 CRD platform (rev3 - 4)
+ items:
+ - const: qcom,sc7280-crd
+ - const: google,hoglin-rev3
+ - const: google,hoglin-rev4
+ - const: google,piglin-rev3
+ - const: google,piglin-rev4
+ - const: qcom,sc7280
+
+ - description: Qualcomm Technologies, Inc. sc7280 CRD platform (newest rev)
+ items:
+ - const: google,hoglin
+ - const: qcom,sc7280
+
+ - description: Qualcomm Technologies, Inc. sc7280 IDP SKU1 platform
+ items:
+ - const: qcom,sc7280-idp
+ - const: google,senor
+ - const: qcom,sc7280
+
+ - description: Qualcomm Technologies, Inc. sc7280 IDP SKU2 platform
+ items:
+ - const: qcom,sc7280-idp2
+ - const: google,piglin
+ - const: qcom,sc7280
+
+ - description: Google Herobrine (newest rev)
+ items:
+ - const: google,herobrine
+ - const: qcom,sc7280
+
+ - description: Google Villager (newest rev)
+ items:
+ - const: google,villager
- const: qcom,sc7280
- items:
--
2.36.1.124.g0e6072fb45-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v3 5/5] dt-bindings: arm: qcom: Add more sc7180 Chromebook board bindings
2022-05-19 23:51 [PATCH v3 1/5] dt-bindings: Document how Chromebooks with depthcharge boot Douglas Anderson
` (2 preceding siblings ...)
2022-05-19 23:51 ` [PATCH v3 4/5] dt-bindings: arm: qcom: Add / fix sc7280 " Douglas Anderson
@ 2022-05-19 23:51 ` Douglas Anderson
2022-05-20 0:17 ` [PATCH v3 1/5] dt-bindings: Document how Chromebooks with depthcharge boot Stephen Boyd
4 siblings, 0 replies; 7+ messages in thread
From: Douglas Anderson @ 2022-05-19 23:51 UTC (permalink / raw)
To: Rob Herring, Bjorn Andersson
Cc: Stephen Boyd, linux-arm-msm, Matthias Kaehlcke, Andy Gross,
Alexandru M Stan, Joseph S . Barrera III, patches, devicetree,
Rajendra Nayak, Krzysztof Kozlowski, Julius Werner,
Douglas Anderson, Stephen Boyd, linux-kernel
This adds board bindings for boards that are downstream but not quite
upstream yet.
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
---
Normally this bindings doc would go together in the same series that
adds the device trees. In this case, Joe has been sending patches
supporting these Chromebooks. His most recent posting is:
https://lore.kernel.org/r/20220510154406.v5.1.Id769ddc5dbf570ccb511db96da59f97d08f75a9c@changeid/
If he were to add this patch to the end of his v6, however, it would
make things a bit more complicated simply becuase it would cause
conflicts with all the other patches in this series. ...so steady
state it would be correct to keep it in the series with the device
tree files, but for this one time I think it makes sense to keep all
the Chromebook board bindings patches together.
(no changes since v2)
Changes in v2:
- 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 | 92 +++++++++++++++++++
1 file changed, 92 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index f8caf4b920c8..572a3677688e 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -263,6 +263,16 @@ properties:
- const: google,homestar
- const: qcom,sc7180
+ - description: Google Kingoftown (rev0)
+ items:
+ - const: google,kingoftown-rev0
+ - const: qcom,sc7180
+
+ - description: Google Kingoftown (newest rev)
+ items:
+ - const: google,kingoftown
+ - const: qcom,sc7180
+
- description: Acer Chromebook Spin 513 (rev0)
items:
- const: google,lazor-rev0
@@ -364,6 +374,48 @@ properties:
- const: google,lazor-sku6
- const: qcom,sc7180
+ - description: Google Mrbland with AUO panel (rev0)
+ items:
+ - const: google,mrbland-rev0-sku0
+ - const: qcom,sc7180
+
+ - description: Google Mrbland with AUO panel (newest rev)
+ items:
+ - const: google,mrbland-sku1536
+ - const: qcom,sc7180
+
+ - description: Google Mrbland with BOE panel (rev0)
+ items:
+ - const: google,mrbland-rev0-sku16
+ - const: qcom,sc7180
+
+ - description: Google Mrbland with BOE panel (newest rev)
+ items:
+ - const: google,mrbland-sku1024
+ - const: google,mrbland-sku768
+ - const: qcom,sc7180
+
+ - description: Google Pazquel with Parade (newest rev)
+ items:
+ - const: google,pazquel-sku5
+ - const: qcom,sc7180
+
+ - description: Google Pazquel with TI (newest rev)
+ items:
+ - const: google,pazquel-sku1
+ - const: qcom,sc7180
+
+ - description: Google Pazquel with LTE and Parade (newest rev)
+ items:
+ - const: google,pazquel-sku4
+ - const: qcom,sc7180
+
+ - description: Google Pazquel with LTE and TI (newest rev)
+ items:
+ - const: google,pazquel-sku0
+ - const: google,pazquel-sku2
+ - const: qcom,sc7180
+
- description: Sharp Dynabook Chromebook C1 (rev1)
items:
- const: google,pompom-rev1
@@ -394,6 +446,16 @@ properties:
- const: google,pompom-sku0
- const: qcom,sc7180
+ - description: Google Quackingstick (newest rev)
+ items:
+ - const: google,quackingstick-sku1537
+ - const: qcom,sc7180
+
+ - description: Google Quackingstick with LTE (newest rev)
+ items:
+ - const: google,quackingstick-sku1536
+ - const: qcom,sc7180
+
- description: Google Trogdor (newest rev)
items:
- const: google,trogdor
@@ -404,6 +466,36 @@ properties:
- const: google,trogdor-sku0
- const: qcom,sc7180
+ - description: Lenovo IdeaPad Chromebook Duet 3 with BOE panel (rev0)
+ items:
+ - const: google,wormdingler-rev0-sku16
+ - const: qcom,sc7180
+
+ - description: Lenovo IdeaPad Chromebook Duet 3 with BOE panel (newest rev)
+ items:
+ - const: google,wormdingler-sku1024
+ - const: qcom,sc7180
+
+ - description: Lenovo IdeaPad Chromebook Duet 3 with BOE panel and rt5682s (newest rev)
+ items:
+ - const: google,wormdingler-sku1025
+ - const: qcom,sc7180
+
+ - description: Lenovo IdeaPad Chromebook Duet 3 with INX panel (rev0)
+ items:
+ - const: google,wormdingler-rev0-sku0
+ - const: qcom,sc7180
+
+ - description: Lenovo IdeaPad Chromebook Duet 3 with INX panel (newest rev)
+ items:
+ - const: google,wormdingler-sku0
+ - const: qcom,sc7180
+
+ - description: Lenovo IdeaPad Chromebook Duet 3 with INX panel and rt5682s (newest rev)
+ items:
+ - const: google,wormdingler-sku1
+ - const: qcom,sc7180
+
- description: Qualcomm Technologies, Inc. sc7280 CRD platform (rev3 - 4)
items:
- const: qcom,sc7280-crd
--
2.36.1.124.g0e6072fb45-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v3 1/5] dt-bindings: Document how Chromebooks with depthcharge boot
2022-05-19 23:51 [PATCH v3 1/5] dt-bindings: Document how Chromebooks with depthcharge boot Douglas Anderson
` (3 preceding siblings ...)
2022-05-19 23:51 ` [PATCH v3 5/5] dt-bindings: arm: qcom: Add more sc7180 Chromebook " Douglas Anderson
@ 2022-05-20 0:17 ` Stephen Boyd
4 siblings, 0 replies; 7+ messages in thread
From: Stephen Boyd @ 2022-05-20 0:17 UTC (permalink / raw)
To: Bjorn Andersson, Douglas Anderson, Rob Herring
Cc: linux-arm-msm, Matthias Kaehlcke, Andy Gross, Alexandru M Stan,
Joseph S . Barrera III, patches, devicetree, Rajendra Nayak,
Krzysztof Kozlowski, Julius Werner, Jonathan Corbet, linux-doc,
linux-kernel
Quoting Douglas Anderson (2022-05-19 16:51:05)
> diff --git a/Documentation/arm/google/chromebook-boot-flow.rst b/Documentation/arm/google/chromebook-boot-flow.rst
> new file mode 100644
> index 000000000000..92d8a658ceaa
> --- /dev/null
> +++ b/Documentation/arm/google/chromebook-boot-flow.rst
> @@ -0,0 +1,63 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +======================================
> +Chromebook Boot Flow
> +======================================
> +
> +Most recent Chromebooks that use device tree are using the opensource
> +depthcharge bootloader. Depthcharge expects the OS to be packaged as a "FIT
Is there a reference for depthcharge? I guess there's source browser[2] but
I was hoping for some README or something.
> +Image" which contains an OS image as well as a collection of device trees. It
Reference coreboot docs[1]?
> +is up to depthcharge to pick the right device tree from the FIT Image and
> +provide it to the OS.
> +
> +The scheme that depthcharge uses to pick the device tree takes into account
> +three variables:
> +- Board name, specified at compile time.
Which compile time? depthcharge compile time? Also mention "BOARD"
somehow so it corresponds to the list below.
> +- Board revision number, read from GPIO strappings at boot time.
Maybe just say "determined at runtime" as who knows if it may change
from GPIO to something else. Also mention "REV" somehow so it
corresponds to the list below.
> +- SKU number, read from GPIO strappings at boot time.
> +
> +For recent Chromebooks, depthcharge creates a match list that looks like this:
> +- google,$(BOARD)-rev$(REV)-sku$(SKU)
> +- google,$(BOARD)-rev$(REV)
> +- google,$(BOARD)-sku$(SKU)
> +- google,$(BOARD)
> +
> +Note that some older Chromebooks use a slightly different list that may
> +not include sku matching or may prioritize sku/rev differently.
s/sku/SKU/g
> +
> +Note that for some boards there may be extra board-specific logic to inject
> +extra compatibles into the list, but this is uncommon.
> +
> +Depthcharge will look through all device trees in the FIT image trying to
> +find one that matches the most specific compatible. It will then look
> +through all device trees in the FIT image trying to find the one that
> +matches the _second most_ specific compatible, etc.
> +
> +When searching for a device tree, depthcharge doesn't care where the
> +compatible falls within a given device tree. As an example, if we're on
where the compatible string falls within a device tree's root compatible
string array?
> +board "lazor", rev 4, sku 0 and we have two device trees:
> +- "google,lazor-rev5-sku0", "google,lazor-rev4-sku0", "qcom,sc7180"
> +- "google,lazor", "qcom,sc7180"
> +
> +Then depthcharge will pick the first device tree even though
> +"google,lazor-rev4-sku0" was the second compatible listed in that device tree.
> +This is because it is a more specific compatible than "google,lazor".
> +
> +It should be noted that depthcharge does not have any smarts to try to
> +match board or SKU revisions that are "close by". That is to say that
> +if depthcharge knows it's on "rev4" of a board but there is no "rev4"
> +device tree then depthcharge _won't_ look for a "rev3" device tree.
> +
> +In general when any significant changes are made to a board the board
> +revision number is increased even if none of those changes need to
> +be reflected in the device tree. Thus it's fairly common to see device
> +trees with multiple revisions.
> +
> +It should be noted that, taking into account the above system that
> +depthcharge has, the most flexibility is achieved if the device tree
> +supporting the newest revision(s) of a board omits the "-rev{REV}"
> +compatible strings. When this is done then if you get a new board
> +revision and try to run old software on it then we'll at pick the most
then we'll pick the most? These last two sentences confuse me.
> +reasonable device tree. If it turns out that the new revision actually
> +has no device-tree visible changes then we'll not only pick the most
There's 'device tree' and 'device-tree', please pick one, or use a new
one like 'devicetree'.
> +reasonable device tree, we'll pick the exact right one.
[1] https://doc.coreboot.org/lib/payloads/fit.html
[2] https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform/depthcharge/
^ permalink raw reply [flat|nested] 7+ messages in thread