Re: [PATCH v5 04/14] dt-bindings: media: qcom,venus: Remove clock, power-domain, and iommus from common schema

From: Vishnu Reddy

Date: Sat May 09 2026 - 13:04:51 EST



On 5/9/2026 12:52 AM, Dmitry Baryshkov wrote:
> On Sat, May 09, 2026 at 12:29:53AM +0530, Vishnu Reddy wrote:
>> The common schema defines minItems and maxItems for clocks, power-domains,
>> and iommus. This suggests that the number of these resources can vary,
>> while in reality they are fixed constraints per platform.
> It really doesn't. It provides common definitions, while individual
> platform schemas tighten those.

If a new platform requires more resources than the current maxItems listed in
the common-schema (e.g.,Glymur due to its dual vcodec core design), we need
to keep bumping maxItems in the common schema every time a new platform exceeds
the previous limit. That makes the common schema a moving target driven by
platform specific.

I am fine with increasing maxItems in the common schema instead of removing.
I can set it to a reasonable value (for example, up to 20) so that it
accommodates future platforms without frequent changes. Anyway, each platform
schema must define fixed constraints, since clocks and power-domains are
mandatory per platform.

Could you please let me know which one you would prefer going forward?

>> Remove these constraints from the common schema. Each platform specific
>> schema already defines its own exact fixed constraints for these
>> properties. Additionally, remove these from the required list and update
>> all schemas that reference this common schema.
>>
>> Signed-off-by: Vishnu Reddy <busanna.reddy@xxxxxxxxxxxxxxxx>
>> ---
>> .../bindings/media/qcom,msm8916-venus.yaml | 3 +++
>> .../bindings/media/qcom,msm8996-venus.yaml | 3 +++
>> .../bindings/media/qcom,qcm2290-venus.yaml | 3 +++
>> .../bindings/media/qcom,sc7180-venus.yaml | 3 +++
>> .../bindings/media/qcom,sc7280-venus.yaml | 3 +++
>> .../bindings/media/qcom,sdm660-venus.yaml | 3 +++
>> .../bindings/media/qcom,sdm845-venus-v2.yaml | 3 +++
>> .../bindings/media/qcom,sdm845-venus.yaml | 3 +++
>> .../bindings/media/qcom,sm8250-venus.yaml | 3 +++
>> .../bindings/media/qcom,sm8750-iris.yaml | 3 +++
>> .../bindings/media/qcom,venus-common.yaml | 23 ----------------------
>> 11 files changed, 30 insertions(+), 23 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/media/qcom,msm8916-venus.yaml b/Documentation/devicetree/bindings/media/qcom,msm8916-venus.yaml
>> index da140c2e3d3f..b1046a112e17 100644
>> --- a/Documentation/devicetree/bindings/media/qcom,msm8916-venus.yaml
>> +++ b/Documentation/devicetree/bindings/media/qcom,msm8916-venus.yaml
>> @@ -62,8 +62,11 @@ properties:
>> additionalProperties: false
>>
>> required:
>> + - clocks
>> + - clock-names
>> - compatible
>> - iommus
>> + - power-domains
>>
>> unevaluatedProperties: false
>>
> [...]
>
>> diff --git a/Documentation/devicetree/bindings/media/qcom,venus-common.yaml b/Documentation/devicetree/bindings/media/qcom,venus-common.yaml
>> index 3153d91f9d18..060be67574c7 100644
>> --- a/Documentation/devicetree/bindings/media/qcom,venus-common.yaml
>> +++ b/Documentation/devicetree/bindings/media/qcom,venus-common.yaml
>> @@ -18,35 +18,15 @@ properties:
>> reg:
>> maxItems: 1
>>
>> - clocks:
>> - minItems: 3
>> - maxItems: 7
>> -
>> - clock-names:
>> - minItems: 3
>> - maxItems: 7
>> -
>> firmware-name:
>> maxItems: 1
>>
>> interrupts:
>> maxItems: 1
>>
>> - iommus:
>> - minItems: 1
>> - maxItems: 20
>> -
>> memory-region:
>> maxItems: 1
>>
>> - power-domains:
>> - minItems: 1
>> - maxItems: 4
>> -
>> - power-domain-names:
>> - minItems: 1
>> - maxItems: 4
>> -
>> video-firmware:
>> type: object
>> additionalProperties: false
>> @@ -64,10 +44,7 @@ properties:
>>
>> required:
>> - reg
>> - - clocks
>> - - clock-names
>> - interrupts
>> - memory-region
>> - - power-domains
> Do we expect the platforms with Venus / Iris not having either clocks or
> power domains.

All Venus / Iris platforms have clocks and power-domains. These removed from here
and added in each platform schema.

>>
>> additionalProperties: true
>>
>> --
>> 2.34.1
>>