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

From: Krzysztof Kozlowski
Date: Thu Nov 03 2022 - 08:25:25 EST


On 02/11/2022 23:44, Bjorn Andersson wrote:
> 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.

True. This also means we do not really know which one is the generic
implementation :)


Best regards,
Krzysztof