RE: [PATCH v2 1/4] dt-bindings: qcom,qcs615-venus: document QCS615 venus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu 11/14/2024 12:39 AM, Rob Herring  wrote:
> On Tue, Nov 12, 2024 at 05:17:57PM +0530, Renjiang Han wrote:
> > Add support for Qualcomm video acceleration hardware used for video 
> > stream decoding and encoding on QCOM QCS615.
> > 
> > Signed-off-by: Renjiang Han <quic_renjiang@xxxxxxxxxxx> >
> > ---
> >  .../bindings/media/qcom,qcs615-venus.yaml          | 181 +++++++++++++++++++++
> >  1 file changed, 181 insertions(+)
> > 
> > diff --git 
> > a/Documentation/devicetree/bindings/media/qcom,qcs615-venus.yaml 
> > b/Documentation/devicetree/bindings/media/qcom,qcs615-venus.yaml
> > new file mode 100644
> > index 
> > 0000000000000000000000000000000000000000..a807f4c7e94c635ef1662971b687
> > db9bdce1b74a
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/qcom,qcs615-venus.yaml
> > @@ -0,0 +1,181 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/media/qcom,qcs615-venus.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Qualcomm QCS615 Venus video encode and decode accelerators
> > +
> > +maintainers:
> > +  - Stanimir Varbanov <stanimir.k.varbanov@xxxxxxxxx> >
> > +  - Vikash Garodia <quic_vgarodia@xxxxxxxxxxx> >
> > +
> > +description: |

> Don't need '|' if no formatting.

> > +  The Venus IP is a video encode and decode accelerator present  on 
> > + Qualcomm platforms
> > +
> > +allOf:
> > +  - $ref: qcom,venus-common.yaml#
> > +
> > +properties:
> > +  compatible:
> > +    const: qcom,qcs615-venus
> > +
> > +  power-domains:
> > +    minItems: 2
> > +    maxItems: 3
> > +
> > +  power-domain-names:
> > +    minItems: 2
> > +    items:
> > +      - const: venus
> > +      - const: vcodec0
> > +      - const: cx
> > +
> > +  clocks:
> > +    maxItems: 5
> > +
> > +  clock-names:
> > +    items:
> > +      - const: core
> > +      - const: iface
> > +      - const: bus
> > +      - const: vcodec0_core
> > +      - const: vcodec0_bus
> > +
> > +  iommus:
> > +    maxItems: 1
> > +
> > +  memory-region:
> > +    maxItems: 1
> > +
> > +  interconnects:
> > +    maxItems: 2
> > +
> > +  interconnect-names:
> > +    items:
> > +      - const: video-mem
> > +      - const: cpu-cfg
> > +
> > +  operating-points-v2: true

> blank line

> > +  opp-table:
> > +    type: object
> > +
> > +  video-decoder:
> > +    type: object
> > +
> > +    properties:
> > +      compatible:
> > +        const: venus-decoder
> > +
> > +    required:
> > +      - compatible
> > +
> > +    additionalProperties: false

> Put this before 'properties' for indented cases.

Do you mean let me put 'additionalProperties' before 'properties'? like this?

  video-decoder:
    type: object

    additionalProperties: false

    properties:
      compatible:
        const: venus-decoder

> > +
> > +  video-encoder:
> > +    type: object
> > +
> > +    properties:
> > +      compatible:
> > +        const: venus-encoder
> > +
> > +    required:
> > +      - compatible
> > +
> > +    additionalProperties: false
> > +
> > +required:
> > +  - compatible
> > +  - power-domain-names
> > +  - iommus
> > +  - video-decoder
> > +  - video-encoder
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/interrupt-controller/arm-gic.h> >
> > +    #include <dt-bindings/clock/qcom,qcs615-videocc.h> >
> > +    #include <dt-bindings/interconnect/qcom,qcs615-rpmh.h> >
> > +    #include <dt-bindings/power/qcom,rpmhpd.h> >
> > +
> > +    venus: video-codec@aa00000 {
> > +        compatible = "qcom,qcs615-venus";
> > +        reg = <0xaa00000 0x100000> >;
> > +        interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH> >;
> > +
> > +        clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK> >,
> > +                 <&videocc VIDEO_CC_VENUS_AHB_CLK> >,
> > +                 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK> >,
> > +                 <&videocc VIDEO_CC_VCODEC0_CORE_CLK> >,
> > +                 <&videocc VIDEO_CC_VCODEC0_AXI_CLK> >;
> > +        clock-names = "core",
> > +                      "iface",
> > +                      "bus",
> > +                      "vcodec0_core",
> > +                      "vcodec0_bus";
> > +
> > +        power-domains = <&videocc VENUS_GDSC> >,
> > +                        <&videocc VCODEC0_GDSC> >,
> > +                        <&rpmhpd RPMHPD_CX> >;
> > +        power-domain-names = "venus",
> > +                             "vcodec0",
> > +                             "cx";
> > +
> > +        operating-points-v2 = <&venus_opp_table> >;
> > +
> > +        interconnects = <&mmss_noc MASTER_VIDEO_P0 0
> > +                         &mc_virt SLAVE_EBI1 0> >,
> > +                        <&gem_noc MASTER_APPSS_PROC 0
> > +                         &config_noc SLAVE_VENUS_CFG 0> >;
> > +        interconnect-names = "video-mem",
> > +                             "cpu-cfg";
> > +
> > +        iommus = <&apps_smmu 0xe40 0x20> >;
> > +
> > +        memory-region = <&pil_video_mem> >;
> > +
> > +        video-decoder {
> > +            compatible = "venus-decoder";
> > +        };
> > +
> > +        video-encoder {
> > +            compatible = "venus-encoder";
> > +        };
> > +
> > +        venus_opp_table: opp-table {
> > +            compatible = "operating-points-v2";
> > +
> > +            opp-133330000 {
> > +                opp-hz = /bits/ 64 <133330000> >;
> > +                required-opps = <&rpmhpd_opp_low_svs> >;
> > +            };
> > +
> > +            opp-240000000 {
> > +                opp-hz = /bits/ 64 <240000000> >;
> > +                required-opps = <&rpmhpd_opp_svs> >;
> > +            };
> > +
> > +            opp-300000000 {
> > +                opp-hz = /bits/ 64 <300000000> >;
> > +                required-opps = <&rpmhpd_opp_svs_l1> >;
> > +            };
> > +
> > +            opp-380000000 {
> > +                opp-hz = /bits/ 64 <380000000> >;
> > +                required-opps = <&rpmhpd_opp_nom> >;
> > +            };
> > +
> > +            opp-410000000 {
> > +                opp-hz = /bits/ 64 <410000000> >;
> > +                required-opps = <&rpmhpd_opp_turbo> >;
> > +            };
> > +
> > +            opp-460000000 {
> > +                opp-hz = /bits/ 64 <460000000> >;
> > +                required-opps = <&rpmhpd_opp_turbo_l1> >;
> > +            };
> > +        };
> > +    };
> > 
> > --
> > 2.34.1
> >





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux