Re: [PATCH 05/10] dt-bindings: interconnect: Add sm8350, sc8280xp and generic OSM L3 compatibles

From: Bjorn Andersson
Date: Wed Nov 02 2022 - 23:44:45 EST


On Fri, Oct 28, 2022 at 06:12:29PM -0400, Krzysztof Kozlowski wrote:
> On 27/10/2022 23:41, Bjorn Andersson wrote:
> > Add EPSS L3 compatibles for sm8350 and sc8280xp, but while at it also
> > introduce generic compatible for both qcom,osm-l3 and qcom,epss-l3.
> >
> > Signed-off-by: Bjorn Andersson <quic_bjorande@xxxxxxxxxxx>
> > ---
> > .../bindings/interconnect/qcom,osm-l3.yaml | 22 +++++++++++++------
> > 1 file changed, 15 insertions(+), 7 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml b/Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml
> > index bf538c0c5a81..ae0995341a78 100644
> > --- a/Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml
> > +++ b/Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml
> > @@ -16,13 +16,21 @@ description:
> >
> > properties:
> > compatible:
> > - enum:
> > - - qcom,sc7180-osm-l3
> > - - qcom,sc7280-epss-l3
> > - - qcom,sc8180x-osm-l3
> > - - qcom,sdm845-osm-l3
> > - - qcom,sm8150-osm-l3
> > - - qcom,sm8250-epss-l3
> > + oneOf:
> > + items:
>
> oneOf expects a list, so this should be " - items"
>

Ahh, thanks. Must have missed running the dt_binding_check on this one.

> > + - enum:
> > + - qcom,sc7180-osm-l3
> > + - qcom,sc8180x-osm-l3
> > + - qcom,sdm845-osm-l3
> > + - qcom,sm8150-osm-l3
> > + - const: qcom,osm-l3
>
> The concept is good, but are you sure all SoCs will be compatible with
> generic osm-l3?

Per the current implementation yes, worst case if one or more of them isn't the
more specific compatible can be used to alter the behavior of that platform.

> Why not using dedicated compatible of one soc, e.g. the
> oldest here? We already did like that for BWMON, DMA and few others.
>

Because if we say compatible = "qcom,sc8180x-osm-l3", "qcom,sdm845-osm-l3" and
there is a quirk needed for "qcom,sdm845-osm-l3" we're forced to add a "special
case" every other *-osm-l3 in the driver.

This way we can have a generic implementation for the qcom,osm-l3 and if we
realize that we need to quirk something for the oldest platform, we can do so
without affecting the others.

Regards,
Bjorn

> > + items:
> > + - enum:
> > + - qcom,sc7280-epss-l3
> > + - qcom,sc8280xp-epss-l3
> > + - qcom,sm8250-epss-l3
> > + - qcom,sm8350-epss-l3
> > + - const: qcom,epss-l3
> >
> > reg:
> > maxItems: 1
>
> Best regards,
> Krzysztof
>