Praneeth Paladugu | 4b73ec8 | 2012-02-08 12:55:59 -0800 | [diff] [blame] | 1 | * Qualcomm MSM VIDC |
| 2 | |
| 3 | Required properties: |
| 4 | - compatible : one of: |
| 5 | - "qcom,msm-vidc" |
Vinay Kalia | b6a3b9c | 2013-02-12 13:45:01 -0800 | [diff] [blame] | 6 | - qcom,hfi : supported Host-Firmware Interface, one of: |
Shalaj Jain | 7e488f0 | 2013-01-23 18:34:58 -0800 | [diff] [blame] | 7 | - "venus" |
| 8 | - "q6" |
Arun Menon | 8e25dd4 | 2013-01-11 14:11:54 -0800 | [diff] [blame] | 9 | |
| 10 | Optional properties: |
Praneeth Paladugu | 4b73ec8 | 2012-02-08 12:55:59 -0800 | [diff] [blame] | 11 | - reg : offset and length of the register set for the device. |
| 12 | - interrupts : should contain the vidc interrupt. |
Vinay Kalia | b6a3b9c | 2013-02-12 13:45:01 -0800 | [diff] [blame] | 13 | - qcom,vidc-cp-map : start and size of device virtual address range for |
| 14 | secure buffers. Video hardware uses this address range to identify if |
| 15 | the buffers are secure or non-secure. |
| 16 | - qcom,vidc-ns-map : start and size of device virtual address range for |
| 17 | non-secure buffers. Video hardware uses this address range to identify |
| 18 | if the buffers are secure or non-secure. |
| 19 | - qcom,load-freq-tbl : load (in macroblocks/sec) and corresponding vcodec |
| 20 | clock required for optimal performance in descending order. |
| 21 | - qcom,reg-presets : list of offset-value pairs for registers to be written. |
| 22 | The offsets are from the base offset specified in 'reg'. This is mainly |
| 23 | used for QoS, vbif, etc. presets for video. |
Vinay Kalia | 39c9945 | 2013-02-12 14:09:38 -0800 | [diff] [blame] | 24 | - qcom,bus-ports : number of bus ports supported by venus to access |
| 25 | ddr/ocmem. |
| 26 | - qcom,enc-ocmem-ab-ib : list of bus vectors (ab, ib pair) for ocmem |
| 27 | bandwidth request by different video encoder usecases. |
| 28 | - qcom,dec-ocmem-ab-ib : list of bus vectors(ab, ib pair) for ocmem |
| 29 | bandwidth request by different video decoder usecases. |
| 30 | - qcom,enc-ddr-ab-ib : list of bus vectors(ab,ib pair) for ddr bandwidth |
| 31 | request by different video encoder usecases. |
| 32 | - qcom,dec-ddr-ab-ib : list of bus vectors(ab, ib pair) for ddr bandwidth |
| 33 | request by different video decoder usecases. |
Shalaj Jain | c2feb4d | 2013-02-12 13:44:00 -0800 | [diff] [blame] | 34 | - qcom,iommu-groups : list of IOMMU groups to be used. Groups are defined as |
| 35 | phandles in <target>-iommu-domains.dtsi (e.g msm8974-v1-iommu-domains.dtsi) |
| 36 | - qcom,iommu-group-buffer-types : bitmap of buffer types that can be mapped into |
| 37 | the corresponding IOMMU group. Buffer types are defined within the vidc driver |
| 38 | by "enum hal_buffer" in msm_smem.h |
| 39 | - qcom,buffer-type-tz-usage-table : a key-value pair, mapping a buffer type |
| 40 | (enum hal_buffer) to its corresponding TZ usage. The TZ usages are defined |
| 41 | as "enum cp_mem_usage" in include/linux/msm_ion.h |
Ashray Kulkarni | c302996 | 2013-03-18 17:00:13 -0700 | [diff] [blame^] | 42 | - qcom,has-ocmem: indicate the target has ocmem if this property exists |
Praneeth Paladugu | 4b73ec8 | 2012-02-08 12:55:59 -0800 | [diff] [blame] | 43 | |
| 44 | Example: |
| 45 | |
Vinay Kalia | 68398a4 | 2012-06-22 18:36:12 -0700 | [diff] [blame] | 46 | |
Praneeth Paladugu | 4b73ec8 | 2012-02-08 12:55:59 -0800 | [diff] [blame] | 47 | qcom,vidc@fdc00000 { |
| 48 | compatible = "qcom,msm-vidc"; |
| 49 | reg = <0xfdc00000 0xff000>; |
| 50 | interrupts = <0 44 0>; |
Vinay Kalia | b6a3b9c | 2013-02-12 13:45:01 -0800 | [diff] [blame] | 51 | qcom,vidc-cp-map = <0x1000000 0x40000000>; |
| 52 | qcom,vidc-ns-map = <0x40000000 0x40000000>; |
| 53 | qcom,load-freq-tbl = <979200 410000000>, |
Vinay Kalia | 94b221b | 2012-06-25 18:50:13 -0700 | [diff] [blame] | 54 | <560145 266670000>, |
| 55 | <421161 200000000>, |
| 56 | <243000 133330000>, |
| 57 | <108000 100000000>, |
| 58 | <36000 50000000>; |
Ashray Kulkarni | c302996 | 2013-03-18 17:00:13 -0700 | [diff] [blame^] | 59 | qcom,has-ocmem; |
Vinay Kalia | b6a3b9c | 2013-02-12 13:45:01 -0800 | [diff] [blame] | 60 | qcom,hfi = "venus"; |
| 61 | qcom,reg-presets = <0x80004 0x1>, |
Shalaj Jain | 7e488f0 | 2013-01-23 18:34:58 -0800 | [diff] [blame] | 62 | <0x80178 0x00001FFF>; |
Vinay Kalia | 39c9945 | 2013-02-12 14:09:38 -0800 | [diff] [blame] | 63 | qcom,bus-ports = <1>; |
| 64 | qcom,enc-ocmem-ab-ib = <0 0>, |
| 65 | <138200 1222000>; |
| 66 | qcom,dec-ocmem-ab-ib = <0 0>, |
| 67 | <176900 1556640>; |
| 68 | qcom,enc-ddr-ab-ib = <0 0>, |
| 69 | <60000 664950>; |
| 70 | qcom,dec-ddr-ab-ib = <0 0>, |
| 71 | <110000 909000>; |
Shalaj Jain | c2feb4d | 2013-02-12 13:44:00 -0800 | [diff] [blame] | 72 | qcom,iommu-groups = <&venus_domain_ns &venus_domain_cp>; |
| 73 | qcom,iommu-group-buffer-types = <0xfff 0x1ff>; |
| 74 | qcom,buffer-type-tz-usage-table = <0x1 0x1>, |
| 75 | <0x1fe 0x2>; |
Praneeth Paladugu | 4b73ec8 | 2012-02-08 12:55:59 -0800 | [diff] [blame] | 76 | }; |