* 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.
- vdd-supply : regulator to supply venus.
- 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,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
- qcom,vidc-iommu-domains: node containing individual domain nodes, each with:
        - a unique domain name for the domain node (e.g vidc,domain-ns)
        - qcom,vidc-domain-phandle: phandle for the domain as defined in
          <target>-iommu-domains.dtsi (e.g msm8974-v1-iommu-domains.dtsi)
        - qcom,vidc-partition-buffer-types: bitmap of buffer types that can
          be mapped into each IOMMU domain partition.  There must be exactly
          one buffer bitmap per partition in the domain, with order of the
          bitmaps to be the same as the order of the respective partitions.
        - Buffer types are defined as the following:
          input = 0x1
          output = 0x2
          output2 = 0x4
          extradata input = 0x8
          extradata output = 0x10
          extradata output2 = 0x20
          internal scratch = 0x40
          internal scratch1 = 0x80
          internal scratch2 = 0x100
          internal persist = 0x200
          internal persist1 = 0x400
          internal cmd queue = 0x800

Example:


	qcom,vidc@fdc00000 {
		compatible = "qcom,msm-vidc";
		reg = <0xfdc00000 0xff000>;
		interrupts = <0 44 0>;
		vdd-supply = <&gdsc_venus>;
		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,buffer-type-tz-usage-table = <0x1 0x1>,
						<0x1fe 0x2>;
		qcom,max-hw-load = <1224450>; /* 4k @ 30 + 1080p @ 30*/
		qcom,vidc-iommu-domains {
			qcom,domain-ns {
				qcom,vidc-domain-phandle = <&venus_domain_ns>;
				qcom,vidc-partition-buffer-types = <0x7ff>,
							<0x800>;
			};

			qcom,domain-cp {
				qcom,vidc-domain-phandle = <&venus_domain_cp>;
				qcom,vidc-partition-buffer-types = <0x6>,
							<0x7c1>;
			};
		};
	};
