Commit f8cc21d4 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Mauro Carvalho Chehab

media: dt-bindings: qcom,venus: split common properties

All Qualcomm SoC Venus bindings share a lot of properties, so split
common part to re-usable schema to reduce the duplication and promote
unified style.
Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent af2270e0
...@@ -13,16 +13,13 @@ description: | ...@@ -13,16 +13,13 @@ description: |
The Venus IP is a video encode and decode accelerator present The Venus IP is a video encode and decode accelerator present
on Qualcomm platforms on Qualcomm platforms
allOf:
- $ref: qcom,venus-common.yaml#
properties: properties:
compatible: compatible:
const: qcom,msm8916-venus const: qcom,msm8916-venus
reg:
maxItems: 1
interrupts:
maxItems: 1
power-domains: power-domains:
maxItems: 1 maxItems: 1
...@@ -38,9 +35,6 @@ properties: ...@@ -38,9 +35,6 @@ properties:
iommus: iommus:
maxItems: 1 maxItems: 1
memory-region:
maxItems: 1
video-decoder: video-decoder:
type: object type: object
...@@ -65,34 +59,13 @@ properties: ...@@ -65,34 +59,13 @@ properties:
additionalProperties: false additionalProperties: false
video-firmware:
type: object
additionalProperties: false
description: |
Firmware subnode is needed when the platform does not
have TrustZone.
properties:
iommus:
maxItems: 1
required:
- iommus
required: required:
- compatible - compatible
- reg
- interrupts
- power-domains
- clocks
- clock-names
- iommus - iommus
- memory-region
- video-decoder - video-decoder
- video-encoder - video-encoder
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |
......
...@@ -13,16 +13,13 @@ description: | ...@@ -13,16 +13,13 @@ description: |
The Venus IP is a video encode and decode accelerator present The Venus IP is a video encode and decode accelerator present
on Qualcomm platforms on Qualcomm platforms
allOf:
- $ref: qcom,venus-common.yaml#
properties: properties:
compatible: compatible:
const: qcom,msm8996-venus const: qcom,msm8996-venus
reg:
maxItems: 1
interrupts:
maxItems: 1
power-domains: power-domains:
maxItems: 1 maxItems: 1
...@@ -39,9 +36,6 @@ properties: ...@@ -39,9 +36,6 @@ properties:
iommus: iommus:
maxItems: 20 maxItems: 20
memory-region:
maxItems: 1
video-decoder: video-decoder:
type: object type: object
...@@ -92,34 +86,13 @@ properties: ...@@ -92,34 +86,13 @@ properties:
additionalProperties: false additionalProperties: false
video-firmware:
type: object
additionalProperties: false
description: |
Firmware subnode is needed when the platform does not
have TrustZone.
properties:
iommus:
maxItems: 1
required:
- iommus
required: required:
- compatible - compatible
- reg
- interrupts
- power-domains
- clocks
- clock-names
- iommus - iommus
- memory-region
- video-decoder - video-decoder
- video-encoder - video-encoder
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |
......
...@@ -13,16 +13,13 @@ description: | ...@@ -13,16 +13,13 @@ description: |
The Venus IP is a video encode and decode accelerator present The Venus IP is a video encode and decode accelerator present
on Qualcomm platforms on Qualcomm platforms
allOf:
- $ref: qcom,venus-common.yaml#
properties: properties:
compatible: compatible:
const: qcom,sc7180-venus const: qcom,sc7180-venus
reg:
maxItems: 1
interrupts:
maxItems: 1
power-domains: power-domains:
minItems: 2 minItems: 2
maxItems: 3 maxItems: 3
...@@ -83,35 +80,14 @@ properties: ...@@ -83,35 +80,14 @@ properties:
additionalProperties: false additionalProperties: false
video-firmware:
type: object
additionalProperties: false
description: |
Firmware subnode is needed when the platform does not
have TrustZone.
properties:
iommus:
maxItems: 1
required:
- iommus
required: required:
- compatible - compatible
- reg
- interrupts
- power-domains
- power-domain-names - power-domain-names
- clocks
- clock-names
- iommus - iommus
- memory-region
- video-decoder - video-decoder
- video-encoder - video-encoder
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |
......
...@@ -13,16 +13,13 @@ description: | ...@@ -13,16 +13,13 @@ description: |
The Venus Iris2 IP is a video encode and decode accelerator present The Venus Iris2 IP is a video encode and decode accelerator present
on Qualcomm platforms on Qualcomm platforms
allOf:
- $ref: qcom,venus-common.yaml#
properties: properties:
compatible: compatible:
const: qcom,sc7280-venus const: qcom,sc7280-venus
reg:
maxItems: 1
interrupts:
maxItems: 1
power-domains: power-domains:
minItems: 2 minItems: 2
maxItems: 3 maxItems: 3
...@@ -48,9 +45,6 @@ properties: ...@@ -48,9 +45,6 @@ properties:
iommus: iommus:
maxItems: 2 maxItems: 2
memory-region:
maxItems: 1
interconnects: interconnects:
maxItems: 2 maxItems: 2
...@@ -83,35 +77,14 @@ properties: ...@@ -83,35 +77,14 @@ properties:
additionalProperties: false additionalProperties: false
video-firmware:
type: object
additionalProperties: false
description: |
Firmware subnode is needed when the platform does not
have TrustZone.
properties:
iommus:
maxItems: 1
required:
- iommus
required: required:
- compatible - compatible
- reg
- interrupts
- power-domains
- power-domain-names - power-domain-names
- clocks
- clock-names
- iommus - iommus
- memory-region
- video-decoder - video-decoder
- video-encoder - video-encoder
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |
......
...@@ -14,13 +14,13 @@ description: | ...@@ -14,13 +14,13 @@ description: |
The Venus IP is a video encode and decode accelerator present The Venus IP is a video encode and decode accelerator present
on Qualcomm platforms on Qualcomm platforms
allOf:
- $ref: qcom,venus-common.yaml#
properties: properties:
compatible: compatible:
const: qcom,sdm660-venus const: qcom,sdm660-venus
reg:
maxItems: 1
clocks: clocks:
maxItems: 4 maxItems: 4
...@@ -39,15 +39,9 @@ properties: ...@@ -39,15 +39,9 @@ properties:
- const: cpu-cfg - const: cpu-cfg
- const: video-mem - const: video-mem
interrupts:
maxItems: 1
iommus: iommus:
maxItems: 20 maxItems: 20
memory-region:
maxItems: 1
power-domains: power-domains:
maxItems: 1 maxItems: 1
...@@ -101,34 +95,13 @@ properties: ...@@ -101,34 +95,13 @@ properties:
additionalProperties: false additionalProperties: false
video-firmware:
type: object
additionalProperties: false
description: |
Firmware subnode is needed when the platform does not
have TrustZone.
properties:
iommus:
maxItems: 1
required:
- iommus
required: required:
- compatible - compatible
- reg
- clocks
- clock-names
- interrupts
- iommus - iommus
- memory-region
- power-domains
- video-decoder - video-decoder
- video-encoder - video-encoder
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |
......
...@@ -13,16 +13,13 @@ description: | ...@@ -13,16 +13,13 @@ description: |
The Venus IP is a video encode and decode accelerator present The Venus IP is a video encode and decode accelerator present
on Qualcomm platforms on Qualcomm platforms
allOf:
- $ref: qcom,venus-common.yaml#
properties: properties:
compatible: compatible:
const: qcom,sdm845-venus-v2 const: qcom,sdm845-venus-v2
reg:
maxItems: 1
interrupts:
maxItems: 1
power-domains: power-domains:
minItems: 3 minItems: 3
maxItems: 4 maxItems: 4
...@@ -51,9 +48,6 @@ properties: ...@@ -51,9 +48,6 @@ properties:
iommus: iommus:
maxItems: 2 maxItems: 2
memory-region:
maxItems: 1
video-core0: video-core0:
type: object type: object
...@@ -78,35 +72,14 @@ properties: ...@@ -78,35 +72,14 @@ properties:
additionalProperties: false additionalProperties: false
video-firmware:
type: object
additionalProperties: false
description: |
Firmware subnode is needed when the platform does not
have TrustZone.
properties:
iommus:
maxItems: 1
required:
- iommus
required: required:
- compatible - compatible
- reg
- interrupts
- power-domains
- power-domain-names - power-domain-names
- clocks
- clock-names
- iommus - iommus
- memory-region
- video-core0 - video-core0
- video-core1 - video-core1
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |
......
...@@ -13,16 +13,13 @@ description: | ...@@ -13,16 +13,13 @@ description: |
The Venus IP is a video encode and decode accelerator present The Venus IP is a video encode and decode accelerator present
on Qualcomm platforms on Qualcomm platforms
allOf:
- $ref: qcom,venus-common.yaml#
properties: properties:
compatible: compatible:
const: qcom,sdm845-venus const: qcom,sdm845-venus
reg:
maxItems: 1
interrupts:
maxItems: 1
power-domains: power-domains:
maxItems: 1 maxItems: 1
...@@ -38,9 +35,6 @@ properties: ...@@ -38,9 +35,6 @@ properties:
iommus: iommus:
maxItems: 2 maxItems: 2
memory-region:
maxItems: 1
video-core0: video-core0:
type: object type: object
...@@ -93,34 +87,13 @@ properties: ...@@ -93,34 +87,13 @@ properties:
additionalProperties: false additionalProperties: false
video-firmware:
type: object
additionalProperties: false
description: |
Firmware subnode is needed when the platform does not
have TrustZone.
properties:
iommus:
maxItems: 1
required:
- iommus
required: required:
- compatible - compatible
- reg
- interrupts
- power-domains
- clocks
- clock-names
- iommus - iommus
- memory-region
- video-core0 - video-core0
- video-core1 - video-core1
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |
......
...@@ -13,16 +13,13 @@ description: | ...@@ -13,16 +13,13 @@ description: |
The Venus IP is a video encode and decode accelerator present The Venus IP is a video encode and decode accelerator present
on Qualcomm platforms on Qualcomm platforms
allOf:
- $ref: qcom,venus-common.yaml#
properties: properties:
compatible: compatible:
const: qcom,sm8250-venus const: qcom,sm8250-venus
reg:
maxItems: 1
interrupts:
maxItems: 1
power-domains: power-domains:
minItems: 2 minItems: 2
maxItems: 3 maxItems: 3
...@@ -46,9 +43,6 @@ properties: ...@@ -46,9 +43,6 @@ properties:
iommus: iommus:
maxItems: 1 maxItems: 1
memory-region:
maxItems: 1
interconnects: interconnects:
maxItems: 2 maxItems: 2
...@@ -89,39 +83,18 @@ properties: ...@@ -89,39 +83,18 @@ properties:
additionalProperties: false additionalProperties: false
video-firmware:
type: object
additionalProperties: false
description: |
Firmware subnode is needed when the platform does not
have TrustZone.
properties:
iommus:
maxItems: 1
required:
- iommus
required: required:
- compatible - compatible
- reg
- interrupts
- power-domains
- power-domain-names - power-domain-names
- clocks
- clock-names
- interconnects - interconnects
- interconnect-names - interconnect-names
- iommus - iommus
- memory-region
- resets - resets
- reset-names - reset-names
- video-decoder - video-decoder
- video-encoder - video-encoder
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/qcom,venus-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm SoC Venus Video Encode and Decode Accelerators Common Properties
maintainers:
- Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
- Vikash Garodia <quic_vgarodia@quicinc.com>
description: |
The Venus IP is a video encode and decode accelerator present
on Qualcomm platforms
properties:
reg:
maxItems: 1
clocks:
minItems: 3
maxItems: 7
clock-names:
minItems: 3
maxItems: 7
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
description: |
Firmware subnode is needed when the platform does not
have TrustZone.
properties:
iommus:
maxItems: 1
required:
- iommus
required:
- reg
- clocks
- clock-names
- interrupts
- memory-region
- power-domains
additionalProperties: true
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment