Re: DT Query on "New Compatible vs New Property"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 01, 2024 at 12:53:25PM +0100, Ulf Hansson wrote:
> On Wed, 28 Feb 2024 at 18:11, Srinivas Kandagatla
> <srinivas.kandagatla@xxxxxxxxxx> wrote:
> >
> >
> >
> > On 28/02/2024 16:22, Ulf Hansson wrote:
> > > On Wed, 28 Feb 2024 at 17:09, Sudeep Holla <sudeep.holla@xxxxxxx> wrote:
> > >>
> > >> On Wed, Feb 28, 2024 at 03:20:44PM +0100, Krzysztof Kozlowski wrote:
> > >>> On 28/02/2024 15:02, Sudeep Holla wrote:
> > >>>> On Wed, Feb 28, 2024 at 02:27:30PM +0100, Ulf Hansson wrote:
> > >>>>> On Mon, 26 Feb 2024 at 15:24, Nikunj Kela <quic_nkela@xxxxxxxxxxx> wrote:
> > >>>>>>
> > >>>>>> Hi Sudeep,
> > >>>>>>
> > >>>>>> I would like to conclude on this thread. I was discussing this with Ulf.
> > >>>>>> He thinks that using the domain names to identify if platform is
> > >>>>>> abstracting clocks etc. are not scalable and sufficient. Instead he
> > >>>>>> thinks that the change in the interface to OS(and FW) is a good
> > >>>>>> candidate for a new compatible(even though HW is same).  Even for SCMI,
> > >>>>>> we do change phandle in DT to SCMI protocol phandle so that is like a
> > >>>>>> different platform altogether. Could you please let me know if you still
> > >>>>>> think that using a different compatible in this case is not warranted.
> > >>>>>
> > >>>>> My apologies for joining this discussion at this late state. Yet, I
> > >>>>> just wanted to confirm what Nikunj said above.
> > >>>>>
> > >>>>> In the end we are indeed talking about adding a new platform, as
> > >>>>> changing the FW interface from a QCOM proprietary one into SCMI,
> > >>>>> simply requires updates to a DTS file(s) that is platform specific.
> > >>>>>
> > >>>>
> > >>>> The way I read this sounds like all this are platform specific and need
> > >>>> new compatible.
> > >>>>
> > >>>>> That said, it also seems reasonable to me to use a compatible string,
> > >>>>> to allow us to describe the update of HW for various affected devices.
> > >>>>>
> > >>>>
> > >>>> While I agree with the above statement, it depends on what you refer as
> > >>>> update of HW above. It is all Qcom specific and there is so much turn
> > >>>> between SoCs that this shouldn't matter but I would like to take example
> > >>>> and describe what I initially mentioned/argued against.
> > >>>>
> > >>>> Lets us assume 2 SoCs: A and B. A is old and didn't use SCMI while B is
> > >>>> new and migrated to use SCMI. Now let us assume both A and B SoCs have
> > >>>> exact same version/revision of an IP: X. Now just because B uses SCMI,
> > >>>> should X have one compatible to be used in A and another in B. That
> > >>>> doesn't sound right IMO.
> > >>>
> > >>> That's trivial to answer, because these are different SoCs. Compatibles
> > >>> are SoC specific and every SoC-IP-block needs its compatible. Rob was
> > >>> repeating this many times that versioned compatibles are discouraged.
> > >>
> > >> OK I may have confused or derailed the discussion with the mention of
> > >> "exact same version/revision" of X. This is not related versioned compatibles.
> > >> Let me try to explain it with some real example. If you look at all the
> > >> users of "arm,coresight-tpiu", they all have same compatible on all the
> > >> platforms irrespective of the clock/reset/voltage/power domain providers
> > >> on these platforms.
> > >>
> > >> E.g. on juno it is based on SCMI while on qcom-msm8974/apq8064 or
> > >> hi3660/hi6220 it is platform specific clock/power domain providers.
> > >> However all these platform have the same compatible "arm,coresight-tpiu".
> > >> That was the point I was trying to make and not related to versioned
> > >> compatible for different versions on an IP.
> > >
> > > That's perfectly fine, if that is sufficient. It would also be
> > > perfectly fine to extend it with a platform/soc specific compatible,
> > > when needed.
> > >
> > > An example could be:
> > > compatible = "qcom,sm8450-coresight-tpiu", "arm,coresight-tpiu";
> >
> > The issue is not the same as the above example.
> >
> > We already have a soc specific compatible in this case
> > ex: "qcom,sc8280xp-ufshc"
> >
> > making another compatible like "qcom,sc8280xp-ufshc-scmi" or
> > "qcom,sc8280xp-ufshc-xyz" based on how some of the resources (clks,
> > regulators) are provided in bindings does not really make sense.
> >
> > Fact is that we are representing the same IP block.
> >
> > AFAIU, we should go with same compatible irrespective of how the
> > resourcing needs are satisfied.
> 
> I get your point. Nevertheless, we need to create a new platform (new
> DTS file), as we are changing the FW interface to SCMI. That means the
> toplevel compatible for the platform will be a new one
> (Documentation/devicetree/bindings/arm/qcom.yaml).
>

While I don't understand the details of the above mentioned platform,
it should be a blanket rule that the toplevel compatible for the platform
has to be new.

Check
arch/arm64/boot/dts/arm/juno.dts
arch/arm64/boot/dts/arm/juno-scmi.dtsi
arch/arm64/boot/dts/arm/juno-scmi.dts

One is with old firmware interface and -scmi is with SCMI. No new top
level compatible change is needed. I understand it was switch from one
interface to the another and not like Qcom platforms which is moving
from in-kernel solution to firmware solution. But the general rule applies
here as well unless there are specific reasons for needing that exception.
I am not against it or ruling that out, just curious to understand them.

--
Regards,
Sudeep




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux