Message ID | 20220316172814.v1.2.Ib0fbb7e5218201c81a2d064ff13c9bc1b0863212@changeid (mailing list archive) |
---|---|
State | Accepted |
Commit | f226c660533416c308fcde62d1b785527528974d |
Headers | show |
Series | [v1,1/4] arm64: dts: qcom: sc7280: Rename crd to crd-r3 | expand |
Hi, On Wed, Mar 16, 2022 at 5:28 PM Matthias Kaehlcke <mka@chromium.org> wrote: > > With newer bootloader versions the crd-r3 (aka CRD 1.0 and 2.0) is > identified as a 'piglin' board (like the IDP2 board), instead of 'hoglin' > Add the compatible strings 'google,piglin-rev{3,4}'. The hoglin entries > are kept to make sure the board keeps booting with older bootloader > versions. > > The compatible string 'google,piglin' (without revision information) is > still used by the IDP2 board, which is not expected to evolve further. > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org> > --- > > arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) Reviewed-by: Douglas Anderson <dianders@chromium.org>
Quoting Matthias Kaehlcke (2022-03-16 17:28:18) > With newer bootloader versions the crd-r3 (aka CRD 1.0 and 2.0) is > identified as a 'piglin' board (like the IDP2 board), instead of 'hoglin' > Add the compatible strings 'google,piglin-rev{3,4}'. The hoglin entries > are kept to make sure the board keeps booting with older bootloader > versions. > > The compatible string 'google,piglin' (without revision information) is > still used by the IDP2 board, which is not expected to evolve further. > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org> > --- Reviewed-by: Stephen Boyd <swboyd@chromium.org>
On 3/17/2022 5:58 AM, Matthias Kaehlcke wrote: > With newer bootloader versions the crd-r3 (aka CRD 1.0 and 2.0) is > identified as a 'piglin' board (like the IDP2 board), instead of 'hoglin' > Add the compatible strings 'google,piglin-rev{3,4}'. The hoglin entries > are kept to make sure the board keeps booting with older bootloader > versions. The older bootloaders really look for the google,hoglin-rev3/google,hoglin-rev4 compatibles or just google,hoglin? If its just google,hoglin, won;t it pick the crd-rev5+ dtb now? > > The compatible string 'google,piglin' (without revision information) is > still used by the IDP2 board, which is not expected to evolve further. > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org> > --- > > arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts b/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts > index 7a028b9248c3..344338ad8a01 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts > +++ b/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts > @@ -12,7 +12,10 @@ > > / { > model = "Qualcomm Technologies, Inc. sc7280 CRD platform (rev3 - 4)"; > - compatible = "qcom,sc7280-crd", "google,hoglin-rev3", "google,hoglin-rev4", "qcom,sc7280"; > + compatible = "qcom,sc7280-crd", > + "google,hoglin-rev3", "google,hoglin-rev4", > + "google,piglin-rev3", "google,piglin-rev4", > + "qcom,sc7280"; > > aliases { > serial0 = &uart5;
On Mon, Mar 21, 2022 at 11:14:56AM +0530, Rajendra Nayak wrote: > > On 3/17/2022 5:58 AM, Matthias Kaehlcke wrote: > > With newer bootloader versions the crd-r3 (aka CRD 1.0 and 2.0) is > > identified as a 'piglin' board (like the IDP2 board), instead of 'hoglin' > > Add the compatible strings 'google,piglin-rev{3,4}'. The hoglin entries > > are kept to make sure the board keeps booting with older bootloader > > versions. > > The older bootloaders really look for the google,hoglin-rev3/google,hoglin-rev4 > compatibles or just google,hoglin? If its just google,hoglin, won;t it pick the > crd-rev5+ dtb now? They look for the -revN compatible, I confirmed that on my CRD 2.0.
"Hi, On Mon, Mar 21, 2022 at 8:14 AM Matthias Kaehlcke <mka@chromium.org> wrote: > > On Mon, Mar 21, 2022 at 11:14:56AM +0530, Rajendra Nayak wrote: > > > > On 3/17/2022 5:58 AM, Matthias Kaehlcke wrote: > > > With newer bootloader versions the crd-r3 (aka CRD 1.0 and 2.0) is > > > identified as a 'piglin' board (like the IDP2 board), instead of 'hoglin' > > > Add the compatible strings 'google,piglin-rev{3,4}'. The hoglin entries > > > are kept to make sure the board keeps booting with older bootloader > > > versions. > > > > The older bootloaders really look for the google,hoglin-rev3/google,hoglin-rev4 > > compatibles or just google,hoglin? If its just google,hoglin, won;t it pick the > > crd-rev5+ dtb now? > > They look for the -revN compatible, I confirmed that on my CRD 2.0. Thanks for confirming Matthias! I'll also note that, in general, these "google,board-revX" type compatible strings are all programmatically generated. You can see at: https://chromium.googlesource.com/chromiumos/platform/depthcharge/+/refs/heads/main/src/boot/fit.c#70 ...and whenever it's using this normal logic then it has a standard fallback mechanism in place. On a random board in front of me depthcharge prints out: Compat preference: google,lazor-rev3-sku0 google,lazor-rev3 google,lazor-sku0 google,lazor So it'll first try the very specific verison with rev and sku. Then just by rev. Then just by sku. ...and if none of those match it'll pick a device tree that has neither. The "newest" device tree always has no revision number specified and that way if software doesn't change but the revision bumps then we have no problem. We only add the revision info for old boards. There are a few cases where we add special compatible strings and these don't match on board/rev. This is fairly uncommon, though. You might be aware of the special case of adding "qcom,sc7180-idp" (without rev/sku matching) for "bubs". See: https://chromium.googlesource.com/chromiumos/platform/depthcharge/+/refs/heads/main/src/board/trogdor/board.c#136 -Doug
On 3/21/2022 11:30 PM, Doug Anderson wrote: > "Hi, > > On Mon, Mar 21, 2022 at 8:14 AM Matthias Kaehlcke <mka@chromium.org> wrote: >> >> On Mon, Mar 21, 2022 at 11:14:56AM +0530, Rajendra Nayak wrote: >>> >>> On 3/17/2022 5:58 AM, Matthias Kaehlcke wrote: >>>> With newer bootloader versions the crd-r3 (aka CRD 1.0 and 2.0) is >>>> identified as a 'piglin' board (like the IDP2 board), instead of 'hoglin' >>>> Add the compatible strings 'google,piglin-rev{3,4}'. The hoglin entries >>>> are kept to make sure the board keeps booting with older bootloader >>>> versions. >>> >>> The older bootloaders really look for the google,hoglin-rev3/google,hoglin-rev4 >>> compatibles or just google,hoglin? If its just google,hoglin, won;t it pick the >>> crd-rev5+ dtb now? >> >> They look for the -revN compatible, I confirmed that on my CRD 2.0. > > Thanks for confirming Matthias! I'll also note that, in general, these > "google,board-revX" type compatible strings are all programmatically > generated. You can see at: > > https://chromium.googlesource.com/chromiumos/platform/depthcharge/+/refs/heads/main/src/boot/fit.c#70 > > ...and whenever it's using this normal logic then it has a standard > fallback mechanism in place. On a random board in front of me > depthcharge prints out: > > Compat preference: google,lazor-rev3-sku0 google,lazor-rev3 > google,lazor-sku0 google,lazor > > So it'll first try the very specific verison with rev and sku. Then > just by rev. Then just by sku. ...and if none of those match it'll > pick a device tree that has neither. The "newest" device tree always > has no revision number specified and that way if software doesn't > change but the revision bumps then we have no problem. We only add the > revision info for old boards. Thanks Matthias/Doug for the clarification, Reviewed-by: Rajendra Nayak <quic_rjendra@quicinc.com> > > There are a few cases where we add special compatible strings and > these don't match on board/rev. This is fairly uncommon, though. You > might be aware of the special case of adding "qcom,sc7180-idp" > (without rev/sku matching) for "bubs". See: > > https://chromium.googlesource.com/chromiumos/platform/depthcharge/+/refs/heads/main/src/board/trogdor/board.c#136 > > > -Doug
diff --git a/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts b/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts index 7a028b9248c3..344338ad8a01 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts +++ b/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts @@ -12,7 +12,10 @@ / { model = "Qualcomm Technologies, Inc. sc7280 CRD platform (rev3 - 4)"; - compatible = "qcom,sc7280-crd", "google,hoglin-rev3", "google,hoglin-rev4", "qcom,sc7280"; + compatible = "qcom,sc7280-crd", + "google,hoglin-rev3", "google,hoglin-rev4", + "google,piglin-rev3", "google,piglin-rev4", + "qcom,sc7280"; aliases { serial0 = &uart5;
With newer bootloader versions the crd-r3 (aka CRD 1.0 and 2.0) is identified as a 'piglin' board (like the IDP2 board), instead of 'hoglin' Add the compatible strings 'google,piglin-rev{3,4}'. The hoglin entries are kept to make sure the board keeps booting with older bootloader versions. The compatible string 'google,piglin' (without revision information) is still used by the IDP2 board, which is not expected to evolve further. Signed-off-by: Matthias Kaehlcke <mka@chromium.org> --- arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)