~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/media/qcom,msm8996-venus.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/media/qcom,msm8996-venus.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Qualcomm MSM8996 Venus video encode and decode accelerators
  8 
  9 maintainers:
 10   - Stanimir Varbanov <stanimir.varbanov@linaro.org>
 11 
 12 description: |
 13   The Venus IP is a video encode and decode accelerator present
 14   on Qualcomm platforms
 15 
 16 allOf:
 17   - $ref: qcom,venus-common.yaml#
 18 
 19 properties:
 20   compatible:
 21     enum:
 22       - qcom,msm8996-venus
 23       - qcom,msm8998-venus
 24 
 25   power-domains:
 26     maxItems: 1
 27 
 28   clocks:
 29     maxItems: 4
 30 
 31   clock-names:
 32     items:
 33       - const: core
 34       - const: iface
 35       - const: bus
 36       - const: mbus
 37 
 38   interconnects:
 39     maxItems: 2
 40 
 41   interconnect-names:
 42     items:
 43       - const: video-mem
 44       - const: cpu-cfg
 45 
 46   iommus:
 47     maxItems: 20
 48 
 49   video-decoder:
 50     type: object
 51 
 52     properties:
 53       compatible:
 54         const: venus-decoder
 55 
 56       clocks:
 57         maxItems: 1
 58 
 59       clock-names:
 60         items:
 61           - const: core
 62 
 63       power-domains:
 64         maxItems: 1
 65 
 66     required:
 67       - compatible
 68       - clocks
 69       - clock-names
 70       - power-domains
 71 
 72     additionalProperties: false
 73 
 74   video-encoder:
 75     type: object
 76 
 77     properties:
 78       compatible:
 79         const: venus-encoder
 80 
 81       clocks:
 82         maxItems: 1
 83 
 84       clock-names:
 85         items:
 86           - const: core
 87 
 88       power-domains:
 89         maxItems: 1
 90 
 91     required:
 92       - compatible
 93       - clocks
 94       - clock-names
 95       - power-domains
 96 
 97     additionalProperties: false
 98 
 99 required:
100   - compatible
101   - iommus
102   - video-decoder
103   - video-encoder
104 
105 unevaluatedProperties: false
106 
107 examples:
108   - |
109     #include <dt-bindings/interrupt-controller/arm-gic.h>
110     #include <dt-bindings/clock/qcom,mmcc-msm8996.h>
111 
112     video-codec@c00000 {
113         compatible = "qcom,msm8996-venus";
114         reg = <0x00c00000 0xff000>;
115         interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
116         clocks = <&mmcc VIDEO_CORE_CLK>,
117                  <&mmcc VIDEO_AHB_CLK>,
118                  <&mmcc VIDEO_AXI_CLK>,
119                  <&mmcc VIDEO_MAXI_CLK>;
120         clock-names = "core", "iface", "bus", "mbus";
121         power-domains = <&mmcc VENUS_GDSC>;
122         iommus =  <&venus_smmu 0x00>,
123                   <&venus_smmu 0x01>,
124                   <&venus_smmu 0x0a>,
125                   <&venus_smmu 0x07>,
126                   <&venus_smmu 0x0e>,
127                   <&venus_smmu 0x0f>,
128                   <&venus_smmu 0x08>,
129                   <&venus_smmu 0x09>,
130                   <&venus_smmu 0x0b>,
131                   <&venus_smmu 0x0c>,
132                   <&venus_smmu 0x0d>,
133                   <&venus_smmu 0x10>,
134                   <&venus_smmu 0x11>,
135                   <&venus_smmu 0x21>,
136                   <&venus_smmu 0x28>,
137                   <&venus_smmu 0x29>,
138                   <&venus_smmu 0x2b>,
139                   <&venus_smmu 0x2c>,
140                   <&venus_smmu 0x2d>,
141                   <&venus_smmu 0x31>;
142         memory-region = <&venus_mem>;
143 
144         video-decoder {
145             compatible = "venus-decoder";
146             clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
147             clock-names = "core";
148             power-domains = <&mmcc VENUS_CORE0_GDSC>;
149         };
150 
151         video-encoder {
152             compatible = "venus-encoder";
153             clocks = <&mmcc VIDEO_SUBCORE1_CLK>;
154             clock-names = "core";
155             power-domains = <&mmcc VENUS_CORE1_GDSC>;
156         };
157     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php