Re: [PATCH v2 2/2] arm64: dts: qcom: msm8939-samsung-a7: Add initial dts

From: Stephan Gerhold
Date: Sun Jun 25 2023 - 15:43:36 EST


On Fri, Jun 23, 2023 at 11:52:25AM +0100, Bryan O'Donoghue wrote:
> On 23/06/2023 11:47, Lin, Meng-Bo wrote:
> > On Friday, June 23rd, 2023 at 10:27 AM, Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> wrote:
> >
> > > > +++ b/arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dts
> > > > @@ -0,0 +1,495 @@
> > > > +// SPDX-License-Identifier: GPL-2.0-only
> > > > +
> > > > +/dts-v1/;
> > > > +
> > > > +#include "msm8939-pm8916.dtsi"
> > > > +
> > > > +#include <dt-bindings/gpio/gpio.h>
> > > > +#include <dt-bindings/input/input.h>
> > > > +#include <dt-bindings/interrupt-controller/irq.h>
> > > > +
> > > > +/ {
> > > > + model = "Samsung Galaxy A7 (2015)";
> > > > + compatible = "samsung,a7", "qcom,msm8939";
> > > > + chassis-type = "handset";
> > >
> > >
> > > Will the downstream bootloader accept this dts without
> > >
> > > // This is used by the bootloader to find the correct DTB
> > > qcom,msm-id = <239 0>;
> > >
> > > qcom,board-id = <0xEF08FF1 1>;
> > >
> > >
> > > ?
> > >
> > > https://github.com/msm8916-mainline/lk2nd/blob/master/dts/msm8916/msm8939-samsung-r01.dts#L10
> > >
> >
> > Similar to A3 and A5, and the other msm8916 devices, with lk2nd,
> > "qcom,msm-id" or "qcom,board-id" are not required in mainline to boot
> > this dts.
> > If I understand correctly, lk2nd will attempt to boot an image with any
> > qcdt appended.
> >
> > https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dts
> > https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dts
>
> I understand.
>
> IMO the upstream DTS should work without depending on lk2nd.
>
> I'd add the board and msm id to the DTS for that reason.
>
> If not then I'd put a comment into the DTS explaining the dependency.
>
> For preference the upstream dts should *just work* as much as possible
> without requiring churning of bootloader.
>

Is it really worth it to support a half-working bootloader though?

No one will ever be able to use this properly without fixing the
bootloader. SMP doesn't work with the stock bootloader, many devices
need display panel selection in the bootloader and on some Samsung
devices there is not even USB and UART without special fixes in the
bootloader.

In most cases it's easy to just add the qcom,msm-id/qcom,board-id but
there are also some cases with particularly weird bootloaders that are
more complicated.

I would just like to avoid forcing everyone to waste time testing with
the half-working or entirely broken stock bootloaders. We could add the
(guessed) properties without testing but I'm not sure if that's useful.

Thanks,
Stephan