61 lines
2.4 KiB
Plaintext
61 lines
2.4 KiB
Plaintext
|
* Qualcomm MSM VPU
|
||
|
|
||
|
VPU (Video Processing Unit) applies high quality video post-processing
|
||
|
functions like noise reduction, deinterlacing, scaling, etc in real-time
|
||
|
on streaming video.
|
||
|
|
||
|
|
||
|
Required properties:
|
||
|
- compatible:
|
||
|
- "qcom,vpu"
|
||
|
- reg: Specify offset and length of the device register sets.
|
||
|
- reg-names: Names corresponding to the defined register sets.
|
||
|
- "vpu_csr": CSR registers
|
||
|
- "vpu_smem": Shared memory
|
||
|
- "vpu_vbif": VBIF registers (optional)
|
||
|
- interrupts: Specify the vpu interrupts.
|
||
|
- interrupt-names: Names corresponding to the defined interrupts list.
|
||
|
- "vpu_wdog": Watchdog interrupt
|
||
|
- "vpu_hfi": Firmware to Host interrupt
|
||
|
- clock-names: Array of clocks that the driver requires for the device.
|
||
|
The names here correspond to the clock names used in clk_get(<name>).
|
||
|
- qcom,bus-load-vector-tbl: Vectors of <load, ab, ib>. The (ab,ib) pairs are
|
||
|
ddr bus bandwidths to be requested at corresponding video processing load.
|
||
|
Vectors should be in ascending order of load, and their number is variable.
|
||
|
- vdd-supply: regulator that supplies the vpu.
|
||
|
|
||
|
Optional properties:
|
||
|
- qcom,enabled-iommu-maps: List of IOMMU maps to be enabled, defined by name.
|
||
|
If this property is not defined or invalid, then device assumes contiguous
|
||
|
buffers. Valid iommu names are:
|
||
|
- "vpu_nonsecure": IOMMU for accessing non-secure video buffers.
|
||
|
- "vpu_secure": IOMMU for accessing secure video buffers.
|
||
|
- "vpu_firmware": IOMMU for loading firmware image.
|
||
|
- qcom,vbif-reg-presets: List of offset-value pairs for VBIF registers to be
|
||
|
programmed. The offsets are from the base register specified in 'vpu_vbif'.
|
||
|
This is used to program default register values for QoS settings, etc.
|
||
|
|
||
|
Example:
|
||
|
qcom,vpu@fdc00000 {
|
||
|
compatible = "qcom,vpu";
|
||
|
reg = <0xfdc00000 0xff000>,
|
||
|
<0xbfe00000 0x100000>;
|
||
|
reg-names = "vpu_csr", "vpu_smem";
|
||
|
interrupts = <0 44 0>, <0 45 0>;
|
||
|
interrupt-names = "vpu_wdog", "vpu_hfi";
|
||
|
clock-names = "core_clk", "bus_clock", "iface_clk";
|
||
|
qcom,maple-clk-load-freq-tbl = <100000 50000000>,
|
||
|
<500000 400000000>;
|
||
|
qcom,vdp-clk-load-freq-tbl = <200000 100000000>,
|
||
|
<400000 320000000>;
|
||
|
qcom,bus-clk-load-freq-tbl = <100000 40000000>,
|
||
|
<200000 80000000>;
|
||
|
qcom,bus-load-vector-tbl = <0 0 0>,
|
||
|
<489600 536000 1600000>,
|
||
|
<979200 2024000 1600000>;
|
||
|
qcom,enabled-iommu-maps = "vpu_nonsecure", "vpu_secure";
|
||
|
qcom,vbif-reg-presets = <0xb0138 0x43ff>,
|
||
|
<0xb0178 0xff12350e>;
|
||
|
vdd-supply = <&gdsc_vpu>;
|
||
|
};
|