* Qualcomm MSM VIDC Required properties: - compatible : one of: - "qcom,msm-vidc" - qcom,hfi : supported Host-Firmware Interface, one of: - "venus" - "q6" - qcom,max-hw-load: The maximum load the hardware can support expressed in units of macroblocks per second. Optional properties: - reg : offset and length of the register set for the device. - interrupts : should contain the vidc interrupt. - qcom,vidc-cp-map : start and size of device virtual address range for secure buffers. Video hardware uses this address range to identify if the buffers are secure or non-secure. - qcom,vidc-ns-map : start and size of device virtual address range for non-secure buffers. Video hardware uses this address range to identify if the buffers are secure or non-secure. - qcom,load-freq-tbl : load (in macroblocks/sec) and corresponding vcodec clock required for optimal performance in descending order. - qcom,reg-presets : list of offset-value pairs for registers to be written. The offsets are from the base offset specified in 'reg'. This is mainly used for QoS, vbif, etc. presets for video. - qcom,bus-ports : number of bus ports supported by venus to access ddr/ocmem. - qcom,enc-ocmem-ab-ib : list of bus vectors (ab, ib pair) for ocmem bandwidth request by different video encoder usecases. - qcom,dec-ocmem-ab-ib : list of bus vectors(ab, ib pair) for ocmem bandwidth request by different video decoder usecases. - qcom,enc-ddr-ab-ib : list of bus vectors(ab,ib pair) for ddr bandwidth request by different video encoder usecases. - qcom,dec-ddr-ab-ib : list of bus vectors(ab, ib pair) for ddr bandwidth request by different video decoder usecases. - qcom,iommu-groups : list of IOMMU groups to be used. Groups are defined as phandles in -iommu-domains.dtsi (e.g msm8974-v1-iommu-domains.dtsi) - qcom,iommu-group-buffer-types : bitmap of buffer types that can be mapped into the corresponding IOMMU group. Buffer types are defined within the vidc driver by "enum hal_buffer" in msm_smem.h - qcom,buffer-type-tz-usage-table : a key-value pair, mapping a buffer type (enum hal_buffer) to its corresponding TZ usage. The TZ usages are defined as "enum cp_mem_usage" in include/linux/msm_ion.h - qcom,has-ocmem: indicate the target has ocmem if this property exists Example: qcom,vidc@fdc00000 { compatible = "qcom,msm-vidc"; reg = <0xfdc00000 0xff000>; interrupts = <0 44 0>; qcom,vidc-cp-map = <0x1000000 0x40000000>; qcom,vidc-ns-map = <0x40000000 0x40000000>; qcom,load-freq-tbl = <979200 410000000>, <560145 266670000>, <421161 200000000>, <243000 133330000>, <108000 100000000>, <36000 50000000>; qcom,has-ocmem; qcom,hfi = "venus"; qcom,reg-presets = <0x80004 0x1>, <0x80178 0x00001FFF>; qcom,bus-ports = <1>; qcom,enc-ocmem-ab-ib = <0 0>, <138200 1222000>; qcom,dec-ocmem-ab-ib = <0 0>, <176900 1556640>; qcom,enc-ddr-ab-ib = <0 0>, <60000 664950>; qcom,dec-ddr-ab-ib = <0 0>, <110000 909000>; qcom,iommu-groups = <&venus_domain_ns &venus_domain_cp>; qcom,iommu-group-buffer-types = <0xfff 0x1ff>; qcom,buffer-type-tz-usage-table = <0x1 0x1>, <0x1fe 0x2>; qcom,max-hw-load = <1224450>; /* 4k @ 30 + 1080p @ 30*/ };